• Skip to content
  • Skip to link menu
Brand

API Documentation

  1. KDE API Reference
  2. The KDE Frameworks
  3. KTextEditor
  • KDE Home
  • Contact Us

Quick Links

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

Class Picker

About

Advanced embeddable text editor

Maintainer
Christoph Cullmann
Supported platforms
FreeBSD, Linux, MacOSX, Windows
Community
IRC: #kde-devel on Freenode
Mailing list: kde-frameworks-devel
Use with CMake
find_package(KF5TextEditor)
target_link_libraries(yourapp KF5::TextEditor)
Use with QMake
QT += KTextEditor 
Clone
git clone git://anongit.kde.org/ktexteditor.git
Browse source
KTextEditor on cgit.kde.org

KTextEditor

  • View on LXR
  • KTextEditor
  • Command
Public Member Functions | List of all members
KTextEditor::Command Class Referenceabstract

#include <command.h>

Inheritance diagram for KTextEditor::Command:
Inheritance graph
[legend]

Public Member Functions

 Command (const QStringList &cmds, QObject *parent=nullptr)
 
virtual ~Command ()
 
const QStringList & cmds () const
 
virtual KCompletion * completionObject (KTextEditor::View *view, const QString &cmdname)
 
virtual bool exec (KTextEditor::View *view, const QString &cmd, QString &msg, const KTextEditor::Range &range=KTextEditor::Range::invalid())=0
 
virtual bool help (KTextEditor::View *view, const QString &cmd, QString &msg)=0
 
virtual void processText (KTextEditor::View *view, const QString &text)
 
virtual bool supportsRange (const QString &cmd)
 
virtual bool wantsToProcessText (const QString &cmdname)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectList & children () const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const
 
bool disconnect (const QObject *receiver, const char *method) const
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArray > dynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
T findChild (const QString &name, QFlags< Qt::FindChildOption > options) const
 
QList< T > findChildren (const QString &name, QFlags< Qt::FindChildOption > options) const
 
QList< T > findChildren (const QRegExp &regExp, QFlags< Qt::FindChildOption > options) const
 
QList< T > findChildren (const QRegularExpression &re, QFlags< Qt::FindChildOption > options) const
 
bool inherits (const char *className) const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const
 
bool isWindowType () const
 
void killTimer (int id)
 
virtual const QMetaObject * metaObject () const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const
 
void objectNameChanged (const QString &objectName)
 
QObject * parent () const
 
QVariant property (const char *name) const
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval, Qt::TimerType timerType)
 
QThread * thread () const
 

Additional Inherited Members

- Properties inherited from QObject
 objectName
 
- 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 *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
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, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- 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
 
int receivers (const char *signal) const
 
QObject * sender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

An Editor command line command.

Introduction

The Command class represents a command for the editor command line. A command simply consists of a string, for example find. The command auto-registers itself at the Editor. The Editor itself queries the command for a list of accepted strings/commands by calling cmds(). If the command gets invoked the function exec() is called, i.e. you have to implement the reaction in exec(). Whenever the user needs help for a command help() is called.

Command Information

To provide reasonable information about a specific command there are the following accessor functions for a given command string:

  • name() returns a label
  • description() returns a descriptive text
  • category() returns a category into which the command fits.

These getters allow KTextEditor implementations to plug commands into menus and toolbars, so that a user can assign shortcuts.

Command Completion

The Command optionally can show a completion popup to help the user select a valid entry as first parameter to the Command. To this end, return a valid completion item by reiplementing completionObject().

The returned completion object is deleted automatically once it is not needed anymore. Therefore neither delete the completion object yourself nor return the same completion object twice.

Interactive Commands

In case the Command needs to interactively process the text of the parameters, override wantsToProcessText() by returning true and reimplement processText().

A typical example of an iterative command would be the incremental search.

See also
KTextEditor::CommandInterface
Author
Christoph Cullmann <cullm[email protected][email protected][email protected]kde.o[email protected]rg>

Definition at line 82 of file include/ktexteditor/command.h.

Constructor & Destructor Documentation

KTextEditor::Command::Command ( const QStringList &  cmds,
QObject *  parent = nullptr 
)

Constructor with parent.

Will register this command for the commands names given in cmds at the global editor instance.

virtual KTextEditor::Command::~Command ( )
virtual

Virtual destructor.

Will unregister this command at the global editor instance.

Member Function Documentation

const QStringList& KTextEditor::Command::cmds ( ) const
inline

Return a list of strings a command may begin with.

This is the same list the command was constructed with. A string is the start part of a pure text which can be handled by this command, i.e. for the command s/sdl/sdf/g the corresponding string is simply s, and for char:1212 simply char.

Returns
list of supported commands

Definition at line 108 of file include/ktexteditor/command.h.

KCompletion * Command::completionObject ( KTextEditor::View *  view,
const QString &  cmdname 
)
virtual

Return a KCompletion object that will substitute the command line default one while typing the first argument of the command cmdname.

The text will be added to the command separated by one space character.

Override this method if your command can provide a completion object. The returned completion object is deleted automatically once it is not needed anymore. Therefore neither delete the completion object yourself nor return the same completion object twice.

The default implementation returns a null pointer (nullptr).

Parameters
viewthe view the command will work on
cmdnamethe command name associated with this request.
Returns
a valid completion object or nullptr, if a completion object is not supported

Reimplemented in KateCommands::CoreCommands, and KateVi::Commands.

Definition at line 392 of file ktexteditor.cpp.

virtual bool KTextEditor::Command::exec ( KTextEditor::View *  view,
const QString &  cmd,
QString &  msg,
const KTextEditor::Range &  range = KTextEditor::Range::invalid() 
)
pure virtual

Execute the command for the given view and cmd string.

Return the success value and a msg for status. As example we consider a replace command. The replace command would return the number of replaced strings as msg, like "16 replacements made." If an error occurred in the usage it would return false and set the msg to something like "missing argument." or such.

If a non-invalid range is given, the command shall be executed on that range. supportsRange() tells if the command supports that.

Returns
true on success, otherwise false

Implemented in KateCommands::Date, KateCommands::Character, KateCommands::CoreCommands, KateCommandLineScript, KateCommands::SedReplace, KateScriptManager, and KateVi::Commands.

virtual bool KTextEditor::Command::help ( KTextEditor::View *  view,
const QString &  cmd,
QString &  msg 
)
pure virtual

Shows help for the given view and cmd string.

If your command has a help text for cmd you have to return true and set the msg to a meaningful text. The help text is embedded by the Editor in a Qt::RichText enabled widget, e.g. a QToolTip.

Returns
true if your command has a help text, otherwise false

Implemented in KateCommands::Date, KateCommands::Character, KateCommands::CoreCommands, KateCommands::SedReplace, KateScriptManager, KateCommandLineScript, and KateVi::Commands.

void Command::processText ( KTextEditor::View *  view,
const QString &  text 
)
virtual

This is called by the command line each time the argument text for the command changed, if wantsToProcessText() returns true.

Parameters
viewthe current view
textthe current command text typed by the user
See also
wantsToProcessText()

Definition at line 402 of file ktexteditor.cpp.

bool Command::supportsRange ( const QString &  cmd)
virtual

Find out if a given command can act on a range.

This is used for checking if a command should be called when the user also gave a range or if an error should be raised.

Returns
true if command supports acting on a range of lines, false not. The default implementation returns false.

Reimplemented in KateCommands::CoreCommands, KateCommands::SedReplace, KateCommandLineScript, and KateVi::Commands.

Definition at line 387 of file ktexteditor.cpp.

bool Command::wantsToProcessText ( const QString &  cmdname)
virtual

Check, whether the command wants to process text interactively for the given command with name cmdname.

If you return true, the command's processText() method is called whenever the text in the command line changed.

Reimplement this to return true, if your commands wants to process the text while typing.

Parameters
cmdnamethe command name associated with this query.
Returns
true, if your command wants to process text interactively, otherwise false
See also
processText()

Definition at line 397 of file ktexteditor.cpp.


The documentation for this class was generated from the following files:
  • include/ktexteditor/command.h
  • ktexteditor.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Fri Dec 6 2019 03:42:14 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal