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

KTextEditor

  • sources
  • kde-4.12
  • kdelibs
  • interfaces
  • 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 bool View::setSelection(const Cursor& position, int length,bool wrap)
122 {
123  KTextEditor::Document *doc=document();
124  if (!document()) return false;
125  if (length==0) return false;
126  if (!doc->cursorInText(position)) return false;
127  Cursor end=Cursor(position.line(),position.column());
128  if (!wrap) {
129  int col=end.column()+length;
130  if (col<0) col=0;
131  if (col>doc->lineLength(end.line())) col=doc->lineLength(end.line());
132  end.setColumn(col);
133  } else {
134  kDebug()<<"KTextEditor::View::setSelection(pos,len,true) not implemented yet";
135  }
136  return setSelection(Range(position,end));
137 }
138 
139 bool View::insertText (const QString &text )
140 {
141  KTextEditor::Document *doc=document();
142  if (!doc) return false;
143  return doc->insertText(cursorPosition(),text,blockSelection());
144 }
145 
146 #ifndef KDE_NO_DEPRECATED
147 Plugin *KTextEditor::createPlugin ( KService::Ptr service, QObject *parent )
148 {
149  QString error;
150  Plugin* plugin = service->createInstance<KTextEditor::Plugin>(parent, QVariantList(), &error);
151  if (!plugin)
152  kWarning() << error;
153  return plugin;
154 }
155 #endif
156 
157 struct KTextEditorFactorySet : public QSet<KPluginFactory*>
158 {
159  KTextEditorFactorySet();
160  ~KTextEditorFactorySet();
161 };
162 K_GLOBAL_STATIC(KTextEditorFactorySet, s_factories)
163 KTextEditorFactorySet::KTextEditorFactorySet() {
164  // K_GLOBAL_STATIC is cleaned up *after* Q(Core)Application is gone
165  // but we have to cleanup before -> use qAddPostRoutine
166  qAddPostRoutine(s_factories.destroy);
167 }
168 KTextEditorFactorySet::~KTextEditorFactorySet() {
169  qRemovePostRoutine(s_factories.destroy); // post routine is installed!
170  qDeleteAll(*this);
171 }
172 
173 Editor *KTextEditor::editor(const char *libname)
174 {
175  KPluginFactory *fact=KPluginLoader(libname).factory();
176 
177  KTextEditor::Factory *ef=qobject_cast<KTextEditor::Factory*>(fact);
178 
179  if (!ef) {
180  delete fact;
181  return 0;
182  }
183 
184  s_factories->insert(fact);
185 
186  return ef->editor();
187 }
188 
189 ConfigPage::ConfigPage ( QWidget *parent )
190  : QWidget (parent)
191  , d(0)
192 {}
193 
194 ConfigPage::~ConfigPage ()
195 {}
196 
197 View::View ( QWidget *parent )
198  : QWidget(parent), KXMLGUIClient()
199  , d(0)
200 {}
201 
202 View::~View ()
203 {}
204 
205 Plugin::Plugin ( QObject *parent )
206  : QObject (parent)
207  , d(0)
208 {}
209 
210 Plugin::~Plugin ()
211 {}
212 
213 MarkInterface::MarkInterface ()
214  : d(0)
215 {}
216 
217 MarkInterface::~MarkInterface ()
218 {}
219 
220 ModificationInterface::ModificationInterface ()
221  : d(0)
222 {}
223 
224 ModificationInterface::~ModificationInterface ()
225 {}
226 
227 ContainerInterface::ContainerInterface ()
228 {}
229 
230 ContainerInterface::~ContainerInterface ()
231 {}
232 
233 MdiContainer::MdiContainer ()
234 {}
235 
236 MdiContainer::~MdiContainer ()
237 {}
238 
239 ViewBarContainer::ViewBarContainer()
240 {}
241 
242 ViewBarContainer::~ViewBarContainer()
243 {}
244 
245 
246 SearchInterface::SearchInterface()
247  : d(0)
248 {}
249 
250 SearchInterface::~SearchInterface()
251 {}
252 
253 SessionConfigInterface::SessionConfigInterface()
254  : d(0)
255 {}
256 
257 SessionConfigInterface::~SessionConfigInterface()
258 {}
259 
260 ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface()
261 {}
262 
263 ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface()
264 {}
265 
266 TemplateInterface::TemplateInterface()
267  : d(0)
268 {}
269 
270 TemplateInterface::~TemplateInterface()
271 {}
272 
273 TextHintInterface::TextHintInterface()
274  : d(0)
275 {}
276 
277 TextHintInterface::~TextHintInterface()
278 {}
279 
280 VariableInterface::VariableInterface()
281  : d(0)
282 {}
283 
284 VariableInterface::~VariableInterface()
285 {}
286 
287 class KTextEditor::LoadSaveFilterCheckPluginPrivate {
288  public:
289  LoadSaveFilterCheckPluginPrivate(){}
290  ~LoadSaveFilterCheckPluginPrivate(){}
291 };
292 
293 LoadSaveFilterCheckPlugin::LoadSaveFilterCheckPlugin(QObject *parent):
294  QObject(parent),
295  d(new LoadSaveFilterCheckPluginPrivate()) { }
296 
297 LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin() { delete d; }
298 
299 CoordinatesToCursorInterface::~CoordinatesToCursorInterface() {
300 }
301 
302 
303 
304 ModeInterface::ModeInterface() {
305 }
306 
307 ModeInterface::~ModeInterface() {
308 }
309 
310 RecoveryInterface::RecoveryInterface()
311  : d(0) {
312 }
313 
314 RecoveryInterface::~RecoveryInterface() {
315 }
316 
317 
318 // kate: space-indent on; indent-width 2; replace-tabs on;
319 
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:257
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
KSharedPtr< KService >
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:310
kdebug.h
KTextEditor::Plugin::~Plugin
virtual ~Plugin()
Virtual destructor.
Definition: ktexteditor.cpp:210
KXMLGUIClient
KTextEditor::SearchInterface::SearchInterface
SearchInterface()
Constructor.
Definition: ktexteditor.cpp:246
KTextEditor::LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin
virtual ~LoadSaveFilterCheckPlugin()
Definition: ktexteditor.cpp:297
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:227
K_GLOBAL_STATIC
#define K_GLOBAL_STATIC(TYPE, NAME)
KTextEditor::ViewBarContainer::ViewBarContainer
ViewBarContainer()
Constructor.
Definition: ktexteditor.cpp:239
cursor.h
QWidget
plugin.h
KTextEditor::Plugin::Plugin
Plugin(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:205
KTextEditor::editor
Editor * editor(const char *libname)
Helper function for the EditorChooser.
Definition: ktexteditor.cpp:173
KTextEditor::createPlugin
Plugin * createPlugin(KService::Ptr service, QObject *parent)
Create a plugin represented by service with parent object parent.
Definition: ktexteditor.cpp:147
QString
variableinterface.h
KTextEditor::Factory
Accessor to the Editor implementation.
Definition: factory.h:90
KTextEditor::TextHintInterface::~TextHintInterface
virtual ~TextHintInterface()
Definition: ktexteditor.cpp:277
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:307
QObject
kDebug
static QDebug kDebug(bool cond, int area=KDE_DEFAULT_DEBUG_AREA)
KTextEditor::Cursor
An object which represents a position in a Document.
Definition: cursor.h:61
KTextEditor::VariableInterface::VariableInterface
VariableInterface()
Definition: ktexteditor.cpp:280
KTextEditor::Factory::editor
virtual Editor * editor()=0
Get the global Editor object.
KTextEditor::ViewBarContainer::~ViewBarContainer
virtual ~ViewBarContainer()
Virtual destructor.
Definition: ktexteditor.cpp:242
loadsavefiltercheckplugin.h
editor.h
templateinterface.h
KTextEditor::ContainerInterface::~ContainerInterface
virtual ~ContainerInterface()
Virtual Destructor.
Definition: ktexteditor.cpp:230
KTextEditor::RecoveryInterface::~RecoveryInterface
virtual ~RecoveryInterface()
Virtual destructor.
Definition: ktexteditor.cpp:314
KTextEditor::TemplateInterface::~TemplateInterface
virtual ~TemplateInterface()
Definition: ktexteditor.cpp:270
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:293
searchinterface.h
commandinterface.h
KPluginLoader
view.h
KTextEditor::Document
A KParts derived class representing a text document.
Definition: document.h:111
KTextEditor::MdiContainer::MdiContainer
MdiContainer()
Constructor.
Definition: ktexteditor.cpp:233
KTextEditor::Editor::setDefaultEncoding
void setDefaultEncoding(const QString &defaultEncoding)
Set the current default encoding for this Editor part.
Definition: ktexteditor.cpp:111
kpluginloader.h
sessionconfiginterface.h
KTextEditor::SearchInterface::~SearchInterface
virtual ~SearchInterface()
Virtual destructor.
Definition: ktexteditor.cpp:250
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
KTextEditor::ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface
ParameterizedSessionConfigInterface()
Definition: ktexteditor.cpp:260
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:284
KTextEditor::Editor::~Editor
virtual ~Editor()
Virtual destructor.
Definition: ktexteditor.cpp:91
KTextEditor::MarkInterface::~MarkInterface
virtual ~MarkInterface()
Virtual destructor.
Definition: ktexteditor.cpp:217
KTextEditor::TextHintInterface::TextHintInterface
TextHintInterface()
Definition: ktexteditor.cpp:273
KTextEditor::View::~View
virtual ~View()
Virtual destructor.
Definition: ktexteditor.cpp:202
KTextEditor::MarkInterface::MarkInterface
MarkInterface()
Definition: ktexteditor.cpp:213
KTextEditor::ConfigPage::ConfigPage
ConfigPage(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:189
KTextEditor::Document::cursorInText
virtual bool cursorInText(const Cursor &cursor)
Checks whether the cursor specifies a valid position in a document.
Definition: document.cpp:173
factory.h
KTextEditor::MdiContainer::~MdiContainer
virtual ~MdiContainer()
Virtual destructor.
Definition: ktexteditor.cpp:236
KTextEditor::Range
An object representing a section of text, from one Cursor to another.
Definition: range.h:54
QSet
KTextEditor::ConfigPage::~ConfigPage
virtual ~ConfigPage()
Virtual destructor.
Definition: ktexteditor.cpp:194
containerinterface.h
KPluginLoader::factory
KPluginFactory * factory()
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:220
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:139
modeinterface.h
KTextEditor::Plugin
KTextEditor Plugin interface.
Definition: plugin.h:107
KTextEditor::CoordinatesToCursorInterface::~CoordinatesToCursorInterface
virtual ~CoordinatesToCursorInterface()
Virtual destructor.
Definition: ktexteditor.cpp:299
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:224
annotationinterface.h
kpluginfactory.h
KTextEditor::SessionConfigInterface::SessionConfigInterface
SessionConfigInterface()
Definition: ktexteditor.cpp:253
KTextEditor::TemplateInterface::TemplateInterface
TemplateInterface()
Definition: ktexteditor.cpp:266
kWarning
static QDebug kWarning(bool cond, int area=KDE_DEFAULT_DEBUG_AREA)
KTextEditor::Editor
Accessor interface for Editor part.
Definition: editor.h:102
KTextEditor::ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface
virtual ~ParameterizedSessionConfigInterface()
Virtual destructor.
Definition: ktexteditor.cpp:263
configpage.h
end
const KShortcut & end()
KTextEditor::Cursor::setColumn
virtual void setColumn(int column)
Set the cursor column to column.
Definition: cursor.cpp:84
KService::createInstance
T * createInstance(QObject *parent=0, const QVariantList &args=QVariantList(), QString *error=0) const
KTextEditor::Cursor::column
int column() const
Retrieve the column on which this cursor is situated.
Definition: cursor.cpp:79
KPluginFactory
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:304
KTextEditor::View::View
View(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:197
recoveryinterface.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:52:20 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

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  • kjsembed
  •   WTF
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Nepomuk-Core
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

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