void TextInfo::unregisterCodeCompletionModels(KTextEditor::View *view) { KTextEditor::CodeCompletionInterface* completionInterface = qobject_cast<KTextEditor::CodeCompletionInterface*>(view); if(!completionInterface) { return; } completionInterface->unregisterCompletionModel(m_abbreviationCodeCompletionModel); }
KateWordCompletionView::~KateWordCompletionView() { KTextEditor::CodeCompletionInterface *cci = qobject_cast<KTextEditor::CodeCompletionInterface *>(m_view); if (cci) cci->unregisterCompletionModel(m_dWCompletionModel); delete d; }
void TextInfo::registerCodeCompletionModels(KTextEditor::View *view) { KTextEditor::CodeCompletionInterface* completionInterface = qobject_cast<KTextEditor::CodeCompletionInterface*>(view); if(!completionInterface) { return; } completionInterface->registerCompletionModel(m_abbreviationCodeCompletionModel); completionInterface->setAutomaticInvocationEnabled(true); }
void LaTeXInfo::startLaTeXCompletion(KTextEditor::View *view) { KTextEditor::CodeCompletionInterface* completionInterface = qobject_cast<KTextEditor::CodeCompletionInterface*>(view); if(!completionInterface) { return; } KTextEditor::Range range = m_latexCompletionModel->completionRange(view, view->cursorPosition()); if(!range.isValid()) { range = KTextEditor::Range(view->cursorPosition(), view->cursorPosition()); } completionInterface->startCompletion(range, m_latexCompletionModel); }
// Pop up the editors completion list if applicable void KateWordCompletionView::popupCompletionList() { kDebug( 13040 ) << "entered ..."; KTextEditor::Range r = range(); KTextEditor::CodeCompletionInterface *cci = qobject_cast<KTextEditor::CodeCompletionInterface *>( m_view ); if(!cci || cci->isCompletionActive()) return; m_dWCompletionModel->saveMatches( m_view, r ); kDebug( 13040 ) << "after save matches ..."; if ( ! m_dWCompletionModel->rowCount(QModelIndex()) ) return; cci->startCompletion( r, m_dWCompletionModel ); }
KateWordCompletionView::KateWordCompletionView( KTextEditor::View *view, KActionCollection* ac ) : QObject( view ), m_view( view ), m_dWCompletionModel( KateGlobal::self()->wordCompletionModel() ), d( new KateWordCompletionViewPrivate ) { d->isCompleting = false; d->dcRange = KTextEditor::Range::invalid(); d->liRange = static_cast<KateDocument*>(m_view->document())->newMovingRange(KTextEditor::Range::invalid(), KTextEditor::MovingRange::DoNotExpand); KColorScheme colors(QPalette::Active); KTextEditor::Attribute::Ptr a = KTextEditor::Attribute::Ptr( new KTextEditor::Attribute() ); a->setBackground( colors.background(KColorScheme::ActiveBackground) ); a->setForeground( colors.foreground(KColorScheme::ActiveText) ); // ### this does 0 d->liRange->setAttribute( a ); KTextEditor::CodeCompletionInterface *cci = qobject_cast<KTextEditor::CodeCompletionInterface *>(view); KAction *action; if (cci) { cci->registerCompletionModel( m_dWCompletionModel ); action = new KAction( i18n("Shell Completion"), this ); ac->addAction( "doccomplete_sh", action ); connect( action, SIGNAL(triggered()), this, SLOT(shellComplete()) ); } action = new KAction( i18n("Reuse Word Above"), this ); ac->addAction( "doccomplete_bw", action ); action->setShortcut( Qt::CTRL+Qt::Key_8 ); connect( action, SIGNAL(triggered()), this, SLOT(completeBackwards()) ); action = new KAction( i18n("Reuse Word Below"), this ); ac->addAction( "doccomplete_fw", action ); action->setShortcut( Qt::CTRL+Qt::Key_9 ); connect( action, SIGNAL(triggered()), this, SLOT(completeForwards()) ); }
RKConsole::RKConsole (QWidget *parent, bool tool_window, const char *name) : RKMDIWindow (parent, RKMDIWindow::ConsoleWindow, tool_window, name), commands_history (false, false) { RK_TRACE (APP); QVBoxLayout *layout = new QVBoxLayout (this); layout->setContentsMargins (0, 0, 0, 0); // create a Kate-part as command-editor KTextEditor::Editor* editor = KTextEditor::editor ("katepart"); if (!editor) { RK_ASSERT (false); KMessageBox::error (this, i18n ("The 'katepart' component could not be loaded. RKWard cannot run without katepart, and will exit, now. Please install katepart, and try again."), i18n ("'katepart' component could not be found")); exit (1); } doc = editor->createDocument (this); view = doc->createView (this); layout->addWidget (view); KTextEditor::ConfigInterface *confint = qobject_cast<KTextEditor::ConfigInterface*> (view); RK_ASSERT (view); confint->setConfigValue ("dynamic-word-wrap", false); KTextEditor::CodeCompletionInterface *iface = qobject_cast<KTextEditor::CodeCompletionInterface*> (view); if (iface) iface->setAutomaticInvocationEnabled (false); setFocusProxy (view); setFocusPolicy (Qt::StrongFocus); /* We need to disable kactions that were plugged to the KateViewInternal in kateview.cpp. These actions include Key_Up, Key_Down, etc. */ kate_edit_actions = view->findChild<KActionCollection*> ("edit_actions"); if (!kate_edit_actions) { kate_edit_actions=view->actionCollection(); } if (kate_edit_actions) { // make sure these actions never get triggered by a shortcut QList<QKeySequence> noshort; noshort.append (QKeySequence ()); // no primary noshort.append (QKeySequence ()); // no secondary noshort.append (QKeySequence ()); // for good measure QList<QAction*> keas = kate_edit_actions->actions (); for (int i = 0; i < keas.size (); ++i) { keas[i]->setShortcuts (noshort); } } else { RK_DEBUG (APP, DL_ERROR, "Could not retrieve the katepart's edit action collection"); } if (view->focusProxy ()) view->focusProxy()->installEventFilter(this); view->installEventFilter(this); doc->setModified (false); hinter = new RKFunctionArgHinter (this, view); setCaption (i18n ("R Console")); console_part = new RKConsolePart (this); setPart (console_part); setMetaInfo (shortCaption (), "rkward://page/rkward_console", RKSettings::PageConsole); initializeActivationSignals (); initializeActions (getPart ()->actionCollection ()); nprefix = "> "; iprefix = "+ "; prefix = nprefix; // KDE4: a way to do this? // doc->setUndoSteps (0); clear (); RKCommandHighlighter::setHighlighting (doc, RKCommandHighlighter::RInteractiveSession); commands_history.setHistory (RKSettingsModuleConsole::loadCommandHistory ()); current_command = 0; current_command_displayed_up_to = 0; tab_key_pressed_before = false; previous_chunk_was_piped = false; // KDE4 TODO: workaround for KDE 4 pre-release versions. Hope this gets fixed before 4.0 // see http://lists.kde.org/?l=kwrite-devel&m=119721420603507&w=2 setMinimumHeight (50); }