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 */