void GolangCode::setCompleter(LiteApi::ICompleter *completer) { if (m_completer) { disconnect(m_completer,0,this,0); } m_completer = completer; if (m_completer) { if (!m_gocodeCmd.isEmpty()) { m_completer->setSearchSeparator(false); m_completer->setExternalMode(true); connect(m_completer,SIGNAL(prefixChanged(QTextCursor,QString)),this,SLOT(prefixChanged(QTextCursor,QString))); connect(m_completer,SIGNAL(wordCompleted(QString,QString)),this,SLOT(wordCompleted(QString,QString))); } else { m_completer->setSearchSeparator(true); m_completer->setExternalMode(false); } } }
void LiteEditor::setCompleter(LiteApi::ICompleter *complter) { if (m_completer) { QObject::disconnect(m_completer, 0, m_editorWidget, 0); delete m_completer; m_completer = 0; } m_completer = complter; if (!m_completer) { return; } m_completer->setEditor(m_editorWidget); m_editorWidget->setCompleter(m_completer); m_extension->addObject("LiteApi.ICompleter",m_completer); connect(m_editorWidget,SIGNAL(completionPrefixChanged(QString,bool)),m_completer,SLOT(completionPrefixChanged(QString,bool))); connect(m_completer,SIGNAL(wordCompleted(QString,QString,QString)),this,SLOT(updateTip(QString,QString,QString))); }