Warning, /frameworks/ktexteditor/docs/apidocs-groups.dox is written in an unsupported language. File is not indexed.
0001 /** \defgroup kte_group_doc_extensions Document Extension Interfaces
0002 A KTextEditor implementation may implement a Document extension interface, but
0003 it does not \e need to. So as a KTextEditor user you have to cast the Document
0004 to the desired interface and then check, whether the cast returns NULL or the
0005 valid interface.
0006
0007 Use qobject_cast to cast a Document \e doc into the
0008 \e DesiredExtensionInterface, example:
0009 \code
0010 // doc is of type KTextEditor::Document*
0011 auto iface = qobject_cast<KTextEditor::DesiredExtensionInterface*>(doc);
0012
0013 if (iface) {
0014 // the implementation supports the interface
0015 // do stuff
0016 } else {
0017 // the implementation does not support the interface
0018 }
0019 \endcode
0020
0021 \see KTextEditor::Document
0022
0023 The following classes are a list of all available Document extension interfaces.
0024 <!-- The classes are defined by the \ingroup doxygen command -->
0025 */
0026
0027
0028
0029
0030
0031 /** \defgroup kte_group_moving_classes MovingCursors and MovingRanges
0032 \ingroup kte_group_doc_extensions
0033
0034 If the KTextEditor implementation supports the KTextEditor::MovingInterface,
0035 there are several \e moving classes available.
0036
0037 Instances of the \e moving classes are bound to a specific Document, and
0038 maintain their position in that document regardless of changes to the text.
0039 Changes to KTextEditor::MovingRange%s can be caught by using the class
0040 KTextEditor::MovingRangeFeedback.
0041
0042 The following is a list of all classes that are available when the document
0043 supports the KTextEditor::MovingInterface:
0044
0045 <!-- The classes are defined by the \ingroup doxygen command -->
0046 */
0047
0048
0049
0050
0051
0052 /** \defgroup kte_group_view_extensions View Extension Interfaces
0053 A KTextEditor implementation may implement a View extension interface, but
0054 it does not \e need to. So as a KTextEditor user you have to cast the View
0055 to the desired interface and then check, whether the cast returns NULL or the
0056 valid interface.
0057
0058 Use qobject_cast to cast a View \e view into the
0059 \e DesiredExtensionInterface, example:
0060 \code
0061 // view is of type KTextEditor::View*
0062 auto iface = qobject_cast<KTextEditor::DesiredExtensionInterface*>(view);
0063
0064 if (iface) {
0065 // the implementation supports the interface
0066 // do stuff
0067 } else {
0068 // the implementation does not support the interface
0069 }
0070 \endcode
0071
0072 \see KTextEditor::View
0073
0074 The following classes are a list of all available View extension interfaces.
0075 <!-- The classes are defined by the \ingroup doxygen command -->
0076 */
0077
0078
0079
0080
0081
0082 /** \defgroup kte_group_editor_extensions Editor Extension Interfaces
0083 A KTextEditor implementation may implement an Editor extension interface, but
0084 it does not \e need to. So as a KTextEditor user you have to cast the Editor
0085 to the desired interface and then check, whether the cast returns NULL or the
0086 valid interface.
0087
0088 Use qobject_cast to cast a Editor \e editor into the
0089 \e DesiredExtensionInterface, example:
0090 \code
0091 // editor is of type KTextEditor::Editor*
0092 auto iface = qobject_cast<KTextEditor::DesiredExtensionInterface*>(view);
0093
0094 if (iface) {
0095 // the implementation supports the interface
0096 // do stuff
0097 } else {
0098 // the implementation does not support the interface
0099 }
0100 \endcode
0101
0102 \see KTextEditor::Editor
0103
0104 The following classes are a list of all available Editor extension interfaces.
0105 <!-- The classes are defined by the \ingroup doxygen command -->
0106 */
0107
0108
0109
0110
0111
0112 /** \defgroup kte_group_plugin_extensions Plugin Extension Interfaces
0113 A KTextEditor Plugin can use extension interfaces, but it does not \e need
0114 to. So as a KTextEditor implementator you have to cast the Plugin to the desired
0115 interface and then check, whether the cast returns NULL or the valid interface.
0116
0117 Use qobject_cast to cast a Plugin \e plugin into the
0118 \e DesiredExtensionInterface, example:
0119 \code
0120 // plugin is of type KTextEditor::Plugin*
0121 auto iface = qobject_cast<KTextEditor::DesiredExtensionInterface*>(plugin);
0122
0123 if (iface) {
0124 // the implementation supports the interface
0125 // do stuff
0126 } else {
0127 // the implementation does not support the interface
0128 }
0129 \endcode
0130
0131 \see KTextEditor::Plugin
0132 */
0133
0134
0135
0136
0137
0138 /** \defgroup kte_group_command_extensions Command Extension Interfaces
0139 A KTextEditor command-line Command can use extension interfaces, but it does not
0140 \e need to. So as a KTextEditor implementator you have to cast the Command to
0141 the desired interface and then check, whether the cast returns NULL or the valid
0142 interface.
0143
0144 Use qobject_cast to cast a Command \e cmd into the
0145 \e DesiredExtensionInterface, example:
0146 \code
0147 // cmd is of type KTextEditor::Command*
0148 auto iface = qobject_cast<KTextEditor::DesiredExtensionInterface*>(cmd);
0149
0150 if (iface) {
0151 // the implementation supports the interface
0152 // do stuff
0153 } else {
0154 // the implementation does not support the interface
0155 }
0156 \endcode
0157
0158 \see KTextEditor::Command
0159 */
0160
0161
0162
0163 /** \defgroup kte_group_ccmodel_extensions CodeCompletionModel Extension Interfaces
0164 A CodeCompletionModel implementation may implement a CodeCompletionModel
0165 extension interface, but it does not \e need to.
0166
0167 \see KTextEditor::CodeCompletionModel
0168 */