• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KTextEditor

KTextEditor::CodeCompletionModelControllerInterface

KTextEditor::CodeCompletionModelControllerInterface Class Reference
[CodeCompletionModel Extension Interfaces]

Controller interface for a CodeCompletionModel. More...

#include <codecompletionmodelcontrollerinterface.h>

List of all members.


Public Member Functions

virtual void aborted (View *view)
 CodeCompletionModelControllerInterface ()
virtual Range completionRange (View *view, const Cursor &position)
virtual QString filterString (View *view, const SmartRange &range, const Cursor &position)
virtual bool shouldAbortCompletion (View *view, const SmartRange &range, const QString &currentCompletion)
virtual bool shouldExecute (const QModelIndex &selected, QChar inserted)
virtual bool shouldStartCompletion (View *view, const QString &insertedText, bool userInsertion, const Cursor &position)
virtual void updateCompletionRange (View *view, SmartRange &range)
virtual ~CodeCompletionModelControllerInterface ()

Detailed Description

Controller interface for a CodeCompletionModel.

The CodeCompletionModelControllerInterface gives an CodeCompletionModel better control over the completion.

By implementing methods defined in this interface you can:

  • control when automatic completion should start (shouldStartCompletion())
  • define a custom completion range (that will be replaced when the completion is executed) (completionRange())
  • dynamically modify the completion range during completion (updateCompletionRange())
  • specify the string used for filtering the completion (filterString())
  • control when completion should stop (shouldAbortCompletion())

When the interface is not implemented, or no methods are overridden the default behaviour is used, which will be correct in many situations.

Implemeting the Interface

To use this class implement it in your CodeCompletionModel.

 class MyCodeCompletion : public KTextEditor::CodeCompletionTestModel,
                    public KTextEditor::CodeCompletionModelControllerInterface
 {
   Q_OBJECT
   Q_INTERFACES(KTextEditor::CodeCompletionModelControllerInterface)
 public:
   KTextEditor::Range completionRange(KTextEditor::View* view, const KTextEditor::Cursor &position);
 };

See also:
CodeCompletionModel
Author:
Niko Sams <niko.sams@gmail.com>
Since:
4.2

Definition at line 69 of file codecompletionmodelcontrollerinterface.h.


Constructor & Destructor Documentation

KTextEditor::CodeCompletionModelControllerInterface::CodeCompletionModelControllerInterface (  ) 

Definition at line 29 of file codecompletionmodelcontrollerinterface.cpp.

KTextEditor::CodeCompletionModelControllerInterface::~CodeCompletionModelControllerInterface (  )  [virtual]

Definition at line 33 of file codecompletionmodelcontrollerinterface.cpp.


Member Function Documentation

void KTextEditor::CodeCompletionModelControllerInterface::aborted ( KTextEditor::View *  view  )  [virtual]

Notification that completion for this model has been aborted.

Parameters:
view The view in which the completion for this model was aborted

Definition at line 96 of file codecompletionmodelcontrollerinterface.cpp.

Range KTextEditor::CodeCompletionModelControllerInterface::completionRange ( View *  view,
const Cursor &  position 
) [virtual]

This function returns the completion range that will be used for the current completion.

This range will be used for filtering the completion list and will get replaced when executing the completion

The default implementation will work for most languages that don't have special chars in identifiers.

Parameters:
view The view to generate completions for
position Current cursor position
Returns:
the completion range

Definition at line 51 of file codecompletionmodelcontrollerinterface.cpp.

QString KTextEditor::CodeCompletionModelControllerInterface::filterString ( View *  view,
const SmartRange &  range,
const Cursor &  position 
) [virtual]

This function returns the filter-text used for the current completion.

Can return an empty string to disable filtering.

The default implementation will return the text from range start to the cursor position.

Parameters:
view The view to generate completions for
range The completion range
position Current cursor position
Returns:
the string used for filtering the completion list

Definition at line 79 of file codecompletionmodelcontrollerinterface.cpp.

bool KTextEditor::CodeCompletionModelControllerInterface::shouldAbortCompletion ( View *  view,
const SmartRange &  range,
const QString &  currentCompletion 
) [virtual]

This function decides if the completion should be aborted.

Called after every change to the range (eg. when user entered text)

The default implementation will return true when any special character was entered.

Parameters:
view The view to generate completions for
range The completion range
currentCompletion The text typed so far
Returns:
true, if the completion should be aborted, otherwise false

Definition at line 84 of file codecompletionmodelcontrollerinterface.cpp.

bool KTextEditor::CodeCompletionModelControllerInterface::shouldExecute ( const QModelIndex &  selected,
QChar  inserted 
) [virtual]

When an item within this model is currently selected in the completion-list, and the user inserted the given character, should the completion-item be executed? This can be used to execute items from other inputs than the return-key.

For example a function item could be executed by typing '(', or variable items by typing '.'.

Parameters:
selected The currently selected index
inserted The character that was inserted by tue user

Definition at line 100 of file codecompletionmodelcontrollerinterface.cpp.

bool KTextEditor::CodeCompletionModelControllerInterface::shouldStartCompletion ( View *  view,
const QString &  insertedText,
bool  userInsertion,
const Cursor &  position 
) [virtual]

This function decides if the automatic completion should be started when the user entered some text.

The default implementation will return true if the last character in insertedText is a letter, a number, '.', '_' or '>'

Parameters:
view The view to generate completions for
insertedText The text that was inserted by the user
userInsertion Whether the the text was inserted by the user using typing. If false, it may have been inserted for example by code-completion.
position Current cursor position
Returns:
true, if the completion should be started, otherwise false

Definition at line 37 of file codecompletionmodelcontrollerinterface.cpp.

void KTextEditor::CodeCompletionModelControllerInterface::updateCompletionRange ( View *  view,
SmartRange &  range 
) [virtual]

This function lets the CompletionModel dynamically modify the range.

Called after every change to the range (eg. when user entered text)

The default implementation does nothing.

Parameters:
view The view to generate completions for
range Reference to the current range

Definition at line 71 of file codecompletionmodelcontrollerinterface.cpp.


The documentation for this class was generated from the following files:
  • codecompletionmodelcontrollerinterface.h
  • codecompletionmodelcontrollerinterface.cpp

KTextEditor

Skip menu "KTextEditor"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal