• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • applications API Reference
  • KDE Home
  • Contact Us
 

KTextEditor

  • kde-4.14
  • applications
  • kate
  • ktexteditor
ktexteditor.cpp
Go to the documentation of this file.
1 /* This file is part of the KDE project
2  Copyright (C) 2001 Christoph Cullmann (cullmann@kde.org)
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #include <QtDBus/QtDBus>
21 
22 #include "cursor.h"
23 
24 #include "configpage.h"
25 #include "configpage.moc"
26 
27 #include "factory.h"
28 #include "factory.moc"
29 
30 #include "editor.h"
31 #include "editor.moc"
32 
33 #include "document.h"
34 
35 #include "view.h"
36 #include "view.moc"
37 
38 #include "plugin.h"
39 #include "plugin.moc"
40 
41 #include "recoveryinterface.h"
42 #include "commandinterface.h"
43 #include "markinterface.h"
44 #include "modificationinterface.h"
45 #include "searchinterface.h"
46 #include "sessionconfiginterface.h"
47 #include "templateinterface.h"
48 #include "texthintinterface.h"
49 #include "variableinterface.h"
50 #include "containerinterface.h"
51 
52 #include "annotationinterface.h"
53 #include "annotationinterface.moc"
54 
55 #include "loadsavefiltercheckplugin.h"
56 #include "loadsavefiltercheckplugin.moc"
57 
58 #include "modeinterface.h"
59 
60 #include <kparts/factory.h>
61 #include <kpluginfactory.h>
62 #include <kpluginloader.h>
63 #include <kdebug.h>
64 
65 using namespace KTextEditor;
66 
67 Factory::Factory( QObject *parent )
68  : KParts::Factory( parent )
69  , d(0)
70 {
71 }
72 
73 Factory::~Factory()
74 {
75 }
76 
77 class KTextEditor::EditorPrivate {
78  public:
79  EditorPrivate()
80  : simpleMode (false) { }
81  bool simpleMode;
82  QString defaultEncoding;
83 };
84 
85 Editor::Editor( QObject *parent )
86  : QObject ( parent )
87  , d(new KTextEditor::EditorPrivate())
88 {
89 }
90 
91 Editor::~Editor()
92 {
93  delete d;
94 }
95 
96 void Editor::setSimpleMode (bool on)
97 {
98  d->simpleMode = on;
99 }
100 
101 bool Editor::simpleMode () const
102 {
103  return d->simpleMode;
104 }
105 
106 const QString &Editor::defaultEncoding () const
107 {
108  return d->defaultEncoding;
109 }
110 
111 void Editor::setDefaultEncoding (const QString &defaultEncoding)
112 {
113  d->defaultEncoding = defaultEncoding;
114 }
115 
116 bool View::isActiveView() const
117 {
118  return this == document()->activeView();
119 }
120 
121 // TODO ### KDE5: remove in favour of Range based setSelection()
122 bool View::setSelection(const Cursor& position, int length,bool wrap)
123 {
124  KTextEditor::Document *doc=document();
125  if (!document()) return false;
126  if (length==0) return false;
127  if (!doc->cursorInText(position)) return false;
128  Cursor end=Cursor(position.line(),position.column());
129  if (!wrap) {
130  int col=end.column()+length;
131  if (col<0) col=0;
132  if (col>doc->lineLength(end.line())) col=doc->lineLength(end.line());
133  end.setColumn(col);
134  } else {
135  kDebug()<<"KTextEditor::View::setSelection(pos,len,true) not implemented yet";
136  }
137  return setSelection(Range(position,end));
138 }
139 
140 bool View::insertText (const QString &text )
141 {
142  KTextEditor::Document *doc=document();
143  if (!doc) return false;
144  return doc->insertText(cursorPosition(),text,blockSelection());
145 }
146 
147 #ifndef KDE_NO_DEPRECATED
148 Plugin *KTextEditor::createPlugin ( KService::Ptr service, QObject *parent )
149 {
150  QString error;
151  Plugin* plugin = service->createInstance<KTextEditor::Plugin>(parent, QVariantList(), &error);
152  if (!plugin)
153  kWarning() << error;
154  return plugin;
155 }
156 #endif
157 
158 struct KTextEditorFactorySet : public QSet<KPluginFactory*>
159 {
160  KTextEditorFactorySet();
161  ~KTextEditorFactorySet();
162 };
163 K_GLOBAL_STATIC(KTextEditorFactorySet, s_factories)
164 KTextEditorFactorySet::KTextEditorFactorySet() {
165  // K_GLOBAL_STATIC is cleaned up *after* Q(Core)Application is gone
166  // but we have to cleanup before -> use qAddPostRoutine
167  qAddPostRoutine(s_factories.destroy);
168 }
169 KTextEditorFactorySet::~KTextEditorFactorySet() {
170  qRemovePostRoutine(s_factories.destroy); // post routine is installed!
171  qDeleteAll(*this);
172 }
173 
174 Editor *KTextEditor::editor(const char *libname)
175 {
176  KPluginFactory *fact=KPluginLoader(libname).factory();
177 
178  KTextEditor::Factory *ef=qobject_cast<KTextEditor::Factory*>(fact);
179 
180  if (!ef) {
181  delete fact;
182  return 0;
183  }
184 
185  s_factories->insert(fact);
186 
187  return ef->editor();
188 }
189 
190 ConfigPage::ConfigPage ( QWidget *parent )
191  : QWidget (parent)
192  , d(0)
193 {}
194 
195 ConfigPage::~ConfigPage ()
196 {}
197 
198 View::View ( QWidget *parent )
199  : QWidget(parent), KXMLGUIClient()
200  , d(0)
201 {}
202 
203 View::~View ()
204 {}
205 
206 Plugin::Plugin ( QObject *parent )
207  : QObject (parent)
208  , d(0)
209 {}
210 
211 Plugin::~Plugin ()
212 {}
213 
214 MarkInterface::MarkInterface ()
215  : d(0)
216 {}
217 
218 MarkInterface::~MarkInterface ()
219 {}
220 
221 ModificationInterface::ModificationInterface ()
222  : d(0)
223 {}
224 
225 ModificationInterface::~ModificationInterface ()
226 {}
227 
228 ContainerInterface::ContainerInterface ()
229 {}
230 
231 ContainerInterface::~ContainerInterface ()
232 {}
233 
234 MdiContainer::MdiContainer ()
235 {}
236 
237 MdiContainer::~MdiContainer ()
238 {}
239 
240 ViewBarContainer::ViewBarContainer()
241 {}
242 
243 ViewBarContainer::~ViewBarContainer()
244 {}
245 
246 
247 SearchInterface::SearchInterface()
248  : d(0)
249 {}
250 
251 SearchInterface::~SearchInterface()
252 {}
253 
254 SessionConfigInterface::SessionConfigInterface()
255  : d(0)
256 {}
257 
258 SessionConfigInterface::~SessionConfigInterface()
259 {}
260 
261 ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface()
262 {}
263 
264 ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface()
265 {}
266 
267 TemplateInterface::TemplateInterface()
268  : d(0)
269 {}
270 
271 TemplateInterface::~TemplateInterface()
272 {}
273 
274 TextHintInterface::TextHintInterface()
275  : d(0)
276 {}
277 
278 TextHintInterface::~TextHintInterface()
279 {}
280 
281 VariableInterface::VariableInterface()
282  : d(0)
283 {}
284 
285 VariableInterface::~VariableInterface()
286 {}
287 
288 class KTextEditor::LoadSaveFilterCheckPluginPrivate {
289  public:
290  LoadSaveFilterCheckPluginPrivate(){}
291  ~LoadSaveFilterCheckPluginPrivate(){}
292 };
293 
294 LoadSaveFilterCheckPlugin::LoadSaveFilterCheckPlugin(QObject *parent):
295  QObject(parent),
296  d(new LoadSaveFilterCheckPluginPrivate()) { }
297 
298 LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin() { delete d; }
299 
300 CoordinatesToCursorInterface::~CoordinatesToCursorInterface() {
301 }
302 
303 
304 
305 ModeInterface::ModeInterface() {
306 }
307 
308 ModeInterface::~ModeInterface() {
309 }
310 
311 RecoveryInterface::RecoveryInterface()
312  : d(0) {
313 }
314 
315 RecoveryInterface::~RecoveryInterface() {
316 }
317 
318 
319 // kate: space-indent on; indent-width 2; replace-tabs on;
320 
KTextEditor::Document::insertText
virtual bool insertText(const Cursor &position, const QString &text, bool block=false)=0
Insert text at position.
KTextEditor::SessionConfigInterface::~SessionConfigInterface
virtual ~SessionConfigInterface()
Virtual destructor.
Definition: ktexteditor.cpp:258
KTextEditor::Editor::defaultEncoding
const QString & defaultEncoding() const
Get the current default encoding for this Editor part.
Definition: ktexteditor.cpp:106
KTextEditor::Editor::simpleMode
bool simpleMode() const
Query the editor whether simple mode is on or not.
Definition: ktexteditor.cpp:101
QWidget
KTextEditor::Editor::Editor
Editor(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:85
KTextEditor::View::setSelection
virtual bool setSelection(const Range &range)=0
Set the view's selection to the range selection.
KTextEditor::RecoveryInterface::RecoveryInterface
RecoveryInterface()
Constructor.
Definition: ktexteditor.cpp:311
KTextEditor::Plugin::~Plugin
virtual ~Plugin()
Virtual destructor.
Definition: ktexteditor.cpp:211
KXMLGUIClient
KTextEditor::SearchInterface::SearchInterface
SearchInterface()
Constructor.
Definition: ktexteditor.cpp:247
KTextEditor::LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin
virtual ~LoadSaveFilterCheckPlugin()
Definition: ktexteditor.cpp:298
KTextEditor::View::blockSelection
virtual bool blockSelection() const =0
Get the status of the selection mode.
modificationinterface.h
KTextEditor::ContainerInterface::ContainerInterface
ContainerInterface()
Constructor.
Definition: ktexteditor.cpp:228
KTextEditor::ViewBarContainer::ViewBarContainer
ViewBarContainer()
Constructor.
Definition: ktexteditor.cpp:240
cursor.h
plugin.h
KTextEditor::Plugin::Plugin
Plugin(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:206
KTextEditor::editor
KTEXTEDITOR_EXPORT Editor * editor(const char *libname)
Helper function for the EditorChooser.
Definition: ktexteditor.cpp:174
KTextEditor::createPlugin
KTEXTEDITOR_EXPORT_DEPRECATED Plugin * createPlugin(KService::Ptr service, QObject *parent)
Create a plugin represented by service with parent object parent.
Definition: ktexteditor.cpp:148
variableinterface.h
KTextEditor::Factory
Accessor to the Editor implementation.
Definition: factory.h:90
KTextEditor::TextHintInterface::~TextHintInterface
virtual ~TextHintInterface()
Definition: ktexteditor.cpp:278
KTextEditor::View::isActiveView
bool isActiveView() const
Check whether this view is the document's active view.
Definition: ktexteditor.cpp:116
KTextEditor::ModeInterface::~ModeInterface
virtual ~ModeInterface()
Virtual destructor.
Definition: ktexteditor.cpp:308
KTextEditor::Cursor
An object which represents a position in a Document.
Definition: cursor.h:55
KTextEditor::VariableInterface::VariableInterface
VariableInterface()
Definition: ktexteditor.cpp:281
KTextEditor::Factory::editor
virtual Editor * editor()=0
Get the global Editor object.
KTextEditor::ViewBarContainer::~ViewBarContainer
virtual ~ViewBarContainer()
Virtual destructor.
Definition: ktexteditor.cpp:243
loadsavefiltercheckplugin.h
editor.h
templateinterface.h
KTextEditor::ContainerInterface::~ContainerInterface
virtual ~ContainerInterface()
Virtual Destructor.
Definition: ktexteditor.cpp:231
KTextEditor::RecoveryInterface::~RecoveryInterface
virtual ~RecoveryInterface()
Virtual destructor.
Definition: ktexteditor.cpp:315
KTextEditor::TemplateInterface::~TemplateInterface
virtual ~TemplateInterface()
Definition: ktexteditor.cpp:271
KTextEditor::Document::activeView
virtual View * activeView() const =0
Return the view which currently has user focus, if any.
KTextEditor::LoadSaveFilterCheckPlugin::LoadSaveFilterCheckPlugin
LoadSaveFilterCheckPlugin(QObject *parent)
Definition: ktexteditor.cpp:294
searchinterface.h
commandinterface.h
view.h
KTextEditor::Document
A KParts derived class representing a text document.
Definition: document.h:111
QObject
KTextEditor::MdiContainer::MdiContainer
MdiContainer()
Constructor.
Definition: ktexteditor.cpp:234
KTextEditor::Editor::setDefaultEncoding
void setDefaultEncoding(const QString &defaultEncoding)
Set the current default encoding for this Editor part.
Definition: ktexteditor.cpp:111
sessionconfiginterface.h
KTextEditor::SearchInterface::~SearchInterface
virtual ~SearchInterface()
Virtual destructor.
Definition: ktexteditor.cpp:251
KTextEditor::Editor::setSimpleMode
void setSimpleMode(bool on)
Switch editor to simple mode for average users.
Definition: ktexteditor.cpp:96
markinterface.h
KTextEditor::View::document
virtual Document * document() const =0
Get the view's document, that means the view is a view of the returned document.
document.h
QSet
QString
KTextEditor::ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface
ParameterizedSessionConfigInterface()
Definition: ktexteditor.cpp:261
KTextEditor::View::cursorPosition
virtual Cursor cursorPosition() const =0
Get the view's current cursor position.
KTextEditor::VariableInterface::~VariableInterface
virtual ~VariableInterface()
Virtual destructor.
Definition: ktexteditor.cpp:285
KTextEditor::Editor::~Editor
virtual ~Editor()
Virtual destructor.
Definition: ktexteditor.cpp:91
KTextEditor::MarkInterface::~MarkInterface
virtual ~MarkInterface()
Virtual destructor.
Definition: ktexteditor.cpp:218
KTextEditor::TextHintInterface::TextHintInterface
TextHintInterface()
Definition: ktexteditor.cpp:274
KTextEditor::View::~View
virtual ~View()
Virtual destructor.
Definition: ktexteditor.cpp:203
KTextEditor::MarkInterface::MarkInterface
MarkInterface()
Definition: ktexteditor.cpp:214
KTextEditor::ConfigPage::ConfigPage
ConfigPage(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:190
KTextEditor::Document::cursorInText
virtual bool cursorInText(const Cursor &cursor)
Checks whether the cursor specifies a valid position in a document.
Definition: document.cpp:164
factory.h
KTextEditor::MdiContainer::~MdiContainer
virtual ~MdiContainer()
Virtual destructor.
Definition: ktexteditor.cpp:237
KTextEditor::Range
An object representing a section of text, from one Cursor to another.
Definition: range.h:54
KTextEditor::ConfigPage::~ConfigPage
virtual ~ConfigPage()
Virtual destructor.
Definition: ktexteditor.cpp:195
containerinterface.h
KTextEditor::Cursor::line
virtual int line() const
Retrieve the line on which this cursor is situated.
Definition: cursor.cpp:62
KTextEditor::ModificationInterface::ModificationInterface
ModificationInterface()
Definition: ktexteditor.cpp:221
texthintinterface.h
KTextEditor::View::insertText
virtual bool insertText(const QString &text)
This is a convenience function which inserts text at the view's current cursor position.
Definition: ktexteditor.cpp:140
modeinterface.h
KTextEditor::Plugin
KTextEditor Plugin interface.
Definition: plugin.h:107
KTextEditor::CoordinatesToCursorInterface::~CoordinatesToCursorInterface
virtual ~CoordinatesToCursorInterface()
Virtual destructor.
Definition: ktexteditor.cpp:300
KTextEditor::Document::lineLength
virtual int lineLength(int line) const =0
Get the length of a given line in characters.
KTextEditor::ModificationInterface::~ModificationInterface
virtual ~ModificationInterface()
Virtual destructor.
Definition: ktexteditor.cpp:225
annotationinterface.h
KTextEditor::SessionConfigInterface::SessionConfigInterface
SessionConfigInterface()
Definition: ktexteditor.cpp:254
KTextEditor::TemplateInterface::TemplateInterface
TemplateInterface()
Definition: ktexteditor.cpp:267
KTextEditor::Editor
Accessor interface for Editor part.
Definition: editor.h:102
KTextEditor::ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface
virtual ~ParameterizedSessionConfigInterface()
Virtual destructor.
Definition: ktexteditor.cpp:264
configpage.h
KTextEditor::Cursor::setColumn
virtual void setColumn(int column)
Set the cursor column to column.
Definition: cursor.cpp:84
KTextEditor::Cursor::column
int column() const
Retrieve the column on which this cursor is situated.
Definition: cursor.cpp:79
KTextEditor::Factory::Factory
Factory(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:67
KTextEditor::Factory::~Factory
virtual ~Factory()
Virtual destructor.
Definition: ktexteditor.cpp:73
KTextEditor::ModeInterface::ModeInterface
ModeInterface()
Constructor.
Definition: ktexteditor.cpp:305
KTextEditor::View::View
View(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:198
recoveryinterface.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Sat May 9 2020 03:56:48 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KTextEditor

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

applications API Reference

Skip menu "applications API Reference"
  •   kate
  •       kate
  •   KTextEditor
  •   Kate
  • Konsole

Search



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