KateKeywordCompletionModel
#include <katekeywordcompletion.h>
Public Member Functions | |
KateKeywordCompletionModel (QObject *parent) | |
void | completionInvoked (KTextEditor::View *view, const KTextEditor::Range &range, InvocationType invocationType) override |
KTextEditor::Range | completionRange (KTextEditor::View *view, const KTextEditor::Cursor &position) override |
QVariant | data (const QModelIndex &index, int role) const override |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
MatchReaction | matchingItem (const QModelIndex &matched) override |
QModelIndex | parent (const QModelIndex &index) const override |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
bool | shouldAbortCompletion (KTextEditor::View *view, const KTextEditor::Range &range, const QString ¤tCompletion) override |
bool | shouldHideItemsWithEqualNames () const override |
bool | shouldStartCompletion (KTextEditor::View *view, const QString &insertedText, bool userInsertion, const KTextEditor::Cursor &position) override |
Public Member Functions inherited from KTextEditor::CodeCompletionModel | |
CodeCompletionModel (QObject *parent) | |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
virtual void | executeCompletionItem (KTextEditor::View *view, const Range &word, const QModelIndex &index) const |
bool | hasGroups () const |
QMap< int, QVariant > | itemData (const QModelIndex &index) const override |
void | setRowCount (int rowCount) |
Public Member Functions inherited from QAbstractItemModel | |
QAbstractItemModel (QObject *parent) | |
virtual QModelIndex | buddy (const QModelIndex &index) const const |
virtual bool | canDropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const const |
virtual bool | canFetchMore (const QModelIndex &parent) const const |
bool | checkIndex (const QModelIndex &index, CheckIndexOptions options) const const |
virtual bool | clearItemData (const QModelIndex &index) |
void | columnsAboutToBeInserted (const QModelIndex &parent, int first, int last) |
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
void | columnsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
void | columnsInserted (const QModelIndex &parent, int first, int last) |
void | columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
void | columnsRemoved (const QModelIndex &parent, int first, int last) |
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList< int > &roles) |
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
virtual void | fetchMore (const QModelIndex &parent) |
virtual Qt::ItemFlags | flags (const QModelIndex &index) const const |
virtual bool | hasChildren (const QModelIndex &parent) const const |
bool | hasIndex (int row, int column, const QModelIndex &parent) const const |
virtual QVariant | headerData (int section, Qt::Orientation orientation, int role) const const |
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
bool | insertColumn (int column, const QModelIndex &parent) |
virtual bool | insertColumns (int column, int count, const QModelIndex &parent) |
bool | insertRow (int row, const QModelIndex &parent) |
virtual bool | insertRows (int row, int count, const QModelIndex &parent) |
void | layoutAboutToBeChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
void | layoutChanged (const QList< QPersistentModelIndex > &parents, QAbstractItemModel::LayoutChangeHint hint) |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits, Qt::MatchFlags flags) const const |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const const |
virtual QStringList | mimeTypes () const const |
void | modelAboutToBeReset () |
void | modelReset () |
bool | moveColumn (const QModelIndex &sourceParent, int sourceColumn, const QModelIndex &destinationParent, int destinationChild) |
virtual bool | moveColumns (const QModelIndex &sourceParent, int sourceColumn, int count, const QModelIndex &destinationParent, int destinationChild) |
bool | moveRow (const QModelIndex &sourceParent, int sourceRow, const QModelIndex &destinationParent, int destinationChild) |
virtual bool | moveRows (const QModelIndex &sourceParent, int sourceRow, int count, const QModelIndex &destinationParent, int destinationChild) |
virtual void | multiData (const QModelIndex &index, QModelRoleDataSpan roleDataSpan) const const |
bool | removeColumn (int column, const QModelIndex &parent) |
virtual bool | removeColumns (int column, int count, const QModelIndex &parent) |
bool | removeRow (int row, const QModelIndex &parent) |
virtual bool | removeRows (int row, int count, const QModelIndex &parent) |
virtual void | revert () |
virtual QHash< int, QByteArray > | roleNames () const const |
void | rowsAboutToBeInserted (const QModelIndex &parent, int start, int end) |
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
void | rowsAboutToBeRemoved (const QModelIndex &parent, int first, int last) |
void | rowsInserted (const QModelIndex &parent, int first, int last) |
void | rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
void | rowsRemoved (const QModelIndex &parent, int first, int last) |
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role) |
virtual bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
virtual QModelIndex | sibling (int row, int column, const QModelIndex &index) const const |
virtual void | sort (int column, Qt::SortOrder order) |
virtual QSize | span (const QModelIndex &index) const const |
virtual bool | submit () |
virtual Qt::DropActions | supportedDragActions () const const |
virtual Qt::DropActions | supportedDropActions () const const |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Public Member Functions inherited from KTextEditor::CodeCompletionModelControllerInterface | |
virtual void | aborted (View *view) |
virtual QString | filterString (View *view, const Range &range, const Cursor &position) |
virtual bool | shouldExecute (const QModelIndex &selected, QChar inserted) |
virtual Range | updateCompletionRange (View *view, const Range &range) |
Additional Inherited Members | |
Public Types inherited from KTextEditor::CodeCompletionModel | |
enum | Columns { Prefix = 0 , Icon , Scope , Name , Arguments , Postfix } |
typedef QFlags< CompletionProperty > | CompletionProperties |
enum | CompletionProperty { NoProperty = 0x0 , FirstProperty = 0x1 , Public = 0x1 , Protected = 0x2 , Private = 0x4 , Static = 0x8 , Const = 0x10 , Namespace = 0x20 , Class = 0x40 , Struct = 0x80 , Union = 0x100 , Function = 0x200 , Variable = 0x400 , Enum = 0x800 , Template = 0x1000 , TypeAlias = 0x2000 , Virtual = 0x4000 , Override = 0x8000 , Inline = 0x10000 , Friend = 0x20000 , Signal = 0x40000 , Slot = 0x80000 , LocalScope = 0x100000 , NamespaceScope = 0x200000 , GlobalScope = 0x400000 , LastProperty = GlobalScope } |
enum | ExtraItemDataRoles { CompletionRole = Qt::UserRole , ScopeIndex , MatchQuality , SetMatchContext , HighlightingMethod , CustomHighlight , InheritanceDepth , IsExpandable , ExpandingWidget , ItemSelected , ArgumentHintDepth , BestMatchesCount , AccessibilityNext , AccessibilityPrevious , AccessibilityAccept , GroupRole , UnimportantItemRole , LastExtraItemDataRole } |
enum | HighlightMethod { NoHighlighting = 0x0 , InternalHighlighting = 0x1 , CustomHighlighting = 0x2 } |
typedef QFlags< HighlightMethod > | HighlightMethods |
enum | InvocationType { AutomaticInvocation , UserInvocation , ManualInvocation } |
Public Types inherited from QAbstractItemModel | |
enum | CheckIndexOption |
typedef | CheckIndexOptions |
enum | LayoutChangeHint |
Public Types inherited from QObject | |
typedef | QObjectList |
Public Types inherited from KTextEditor::CodeCompletionModelControllerInterface | |
enum | MatchReaction { None = 0 , HideListIfAutomaticInvocation = 1 , ForExtension = 0xffff } |
Properties inherited from QObject | |
objectName | |
Signals inherited from KTextEditor::CodeCompletionModel | |
void | hasGroupsChanged (KTextEditor::CodeCompletionModel *model, bool hasGroups) |
void | waitForReset () |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Public Attributes inherited from QAbstractItemModel | |
DoNotUseParent | |
HorizontalSortHint | |
IndexIsValid | |
NoLayoutChangeHint | |
NoOption | |
ParentIsInvalid | |
VerticalSortHint | |
Static Public Attributes inherited from KTextEditor::CodeCompletionModel | |
static const int | ColumnCount = Postfix + 1 |
Protected Member Functions inherited from KTextEditor::CodeCompletionModel | |
void | setHasGroups (bool hasGroups) |
Protected Member Functions inherited from QAbstractItemModel | |
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
void | beginResetModel () |
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
QModelIndex | createIndex (int row, int column, const void *ptr) const const |
QModelIndex | createIndex (int row, int column, quintptr id) const const |
void | endInsertColumns () |
void | endInsertRows () |
void | endMoveColumns () |
void | endMoveRows () |
void | endRemoveColumns () |
void | endRemoveRows () |
void | endResetModel () |
QModelIndexList | persistentIndexList () const const |
virtual void | resetInternalData () |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Detailed Description
Highlighting-file based keyword completion for the editor.
This model offers completion of language-specific keywords based on information taken from the kate syntax files. It queries the highlighting engine to get the correct context for a given cursor position, then suggests all keyword items from the XML file for the active language.
Definition at line 21 of file katekeywordcompletion.h.
Constructor & Destructor Documentation
◆ KateKeywordCompletionModel()
|
explicit |
Definition at line 18 of file katekeywordcompletion.cpp.
Member Function Documentation
◆ completionInvoked()
|
overridevirtual |
This function is responsible to generating / updating the list of current completions.
The default implementation does nothing.
When implementing this function, remember to call setRowCount() (or implement rowCount()), and to generate the appropriate change notifications (for instance by calling QAbstractItemModel::reset()).
- Parameters
-
view The view to generate completions for range The range of text to generate completions for invocationType How the code completion was triggered
Reimplemented from KTextEditor::CodeCompletionModel.
Definition at line 24 of file katekeywordcompletion.cpp.
◆ completionRange()
|
overridevirtual |
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. Since 5.83 the default implementation takes into account the wordCompletionRemoveTail configuration option, if that option is enabled the whole word the cursor is inside is replaced with the completion, however if it's disabled only the text on the left of the cursor will be replaced with the completion.
- Parameters
-
view The view to generate completions for position Current cursor position
- Returns
- the completion range
Reimplemented from KTextEditor::CodeCompletionModelControllerInterface.
Definition at line 83 of file katekeywordcompletion.cpp.
◆ data()
|
overridevirtual |
Implements QAbstractItemModel.
Definition at line 130 of file katekeywordcompletion.cpp.
◆ index()
|
overridevirtual |
Reimplemented from QAbstractItemModel::index().
The default implementation returns a standard QModelIndex as long as the row and column are valid.
Reimplemented from KTextEditor::CodeCompletionModel.
Definition at line 45 of file katekeywordcompletion.cpp.
◆ matchingItem()
|
overridevirtual |
Called whenever an item in the completion-list perfectly matches the current filter text.
- Parameters
-
matched The index that is matched
- Returns
- Whether the completion-list should be hidden on this event. The default-implementation always returns HideListIfAutomaticInvocation
Reimplemented from KTextEditor::CodeCompletionModelControllerInterface.
Definition at line 161 of file katekeywordcompletion.cpp.
◆ parent()
|
overridevirtual |
Reimplemented from QAbstractItemModel::parent().
The default implementation returns an invalid QModelIndex for all items. This is appropriate for non-hierarchical / flat lists of completions.
Reimplemented from KTextEditor::CodeCompletionModel.
Definition at line 36 of file katekeywordcompletion.cpp.
◆ rowCount()
|
overridevirtual |
Reimplemented from QAbstractItemModel::rowCount().
The default implementation returns the value set by setRowCount() for invalid (toplevel) indices, and 0 for all other indices. This is appropriate for non-hierarchical / flat lists of completions
Reimplemented from KTextEditor::CodeCompletionModel.
Definition at line 64 of file katekeywordcompletion.cpp.
◆ shouldAbortCompletion()
|
overridevirtual |
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, or when the range is empty.
- 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
Reimplemented from KTextEditor::CodeCompletionModelControllerInterface.
Definition at line 99 of file katekeywordcompletion.cpp.
◆ shouldHideItemsWithEqualNames()
|
overridevirtual |
When multiple completion models are used at the same time, it may happen that multiple models add items with the same name to the list.
This option allows to hide items from this completion model when another model with higher priority contains items with the same name.
- Returns
- Whether items of this completion model should be hidden if another completion model has items with the same name
Reimplemented from KTextEditor::CodeCompletionModelControllerInterface.
Definition at line 125 of file katekeywordcompletion.cpp.
◆ shouldStartCompletion()
|
overridevirtual |
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 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
Reimplemented from KTextEditor::CodeCompletionModelControllerInterface.
Definition at line 114 of file katekeywordcompletion.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Nov 29 2024 11:53:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.