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

KTextEditor

  • 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
65using namespace KTextEditor;
66
67Factory::Factory( QObject *parent )
68 : KParts::Factory( parent )
69 , d(0)
70{
71}
72
73Factory::~Factory()
74{
75}
76
77class KTextEditor::EditorPrivate {
78 public:
79 EditorPrivate()
80 : simpleMode (false) { }
81 bool simpleMode;
82 QString defaultEncoding;
83};
84
85Editor::Editor( QObject *parent )
86 : QObject ( parent )
87 , d(new KTextEditor::EditorPrivate())
88{
89}
90
91Editor::~Editor()
92{
93 delete d;
94}
95
96void Editor::setSimpleMode (bool on)
97{
98 d->simpleMode = on;
99}
100
101bool Editor::simpleMode () const
102{
103 return d->simpleMode;
104}
105
106const QString &Editor::defaultEncoding () const
107{
108 return d->defaultEncoding;
109}
110
111void Editor::setDefaultEncoding (const QString &defaultEncoding)
112{
113 d->defaultEncoding = defaultEncoding;
114}
115
116bool View::isActiveView() const
117{
118 return this == document()->activeView();
119}
120
121bool 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
139bool 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
147Plugin *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
157struct KTextEditorFactorySet : public QSet<KPluginFactory*>
158{
159 KTextEditorFactorySet();
160 ~KTextEditorFactorySet();
161};
162K_GLOBAL_STATIC(KTextEditorFactorySet, s_factories)
163KTextEditorFactorySet::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}
168KTextEditorFactorySet::~KTextEditorFactorySet() {
169 qRemovePostRoutine(s_factories.destroy); // post routine is installed!
170 qDeleteAll(*this);
171}
172
173Editor *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
189ConfigPage::ConfigPage ( QWidget *parent )
190 : QWidget (parent)
191 , d(0)
192{}
193
194ConfigPage::~ConfigPage ()
195{}
196
197View::View ( QWidget *parent )
198 : QWidget(parent), KXMLGUIClient()
199 , d(0)
200{}
201
202View::~View ()
203{}
204
205Plugin::Plugin ( QObject *parent )
206 : QObject (parent)
207 , d(0)
208{}
209
210Plugin::~Plugin ()
211{}
212
213MarkInterface::MarkInterface ()
214 : d(0)
215{}
216
217MarkInterface::~MarkInterface ()
218{}
219
220ModificationInterface::ModificationInterface ()
221 : d(0)
222{}
223
224ModificationInterface::~ModificationInterface ()
225{}
226
227ContainerInterface::ContainerInterface ()
228{}
229
230ContainerInterface::~ContainerInterface ()
231{}
232
233MdiContainer::MdiContainer ()
234{}
235
236MdiContainer::~MdiContainer ()
237{}
238
239ViewBarContainer::ViewBarContainer()
240{}
241
242ViewBarContainer::~ViewBarContainer()
243{}
244
245
246SearchInterface::SearchInterface()
247 : d(0)
248{}
249
250SearchInterface::~SearchInterface()
251{}
252
253SessionConfigInterface::SessionConfigInterface()
254 : d(0)
255{}
256
257SessionConfigInterface::~SessionConfigInterface()
258{}
259
260ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface()
261{}
262
263ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface()
264{}
265
266TemplateInterface::TemplateInterface()
267 : d(0)
268{}
269
270TemplateInterface::~TemplateInterface()
271{}
272
273TextHintInterface::TextHintInterface()
274 : d(0)
275{}
276
277TextHintInterface::~TextHintInterface()
278{}
279
280VariableInterface::VariableInterface()
281 : d(0)
282{}
283
284VariableInterface::~VariableInterface()
285{}
286
287class KTextEditor::LoadSaveFilterCheckPluginPrivate {
288 public:
289 LoadSaveFilterCheckPluginPrivate(){}
290 ~LoadSaveFilterCheckPluginPrivate(){}
291};
292
293LoadSaveFilterCheckPlugin::LoadSaveFilterCheckPlugin(QObject *parent):
294 QObject(parent),
295 d(new LoadSaveFilterCheckPluginPrivate()) { }
296
297LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin() { delete d; }
298
299CoordinatesToCursorInterface::~CoordinatesToCursorInterface() {
300}
301
302
303
304ModeInterface::ModeInterface() {
305}
306
307ModeInterface::~ModeInterface() {
308}
309
310RecoveryInterface::RecoveryInterface()
311 : d(0) {
312}
313
314RecoveryInterface::~RecoveryInterface() {
315}
316
317
318// kate: space-indent on; indent-width 2; replace-tabs on;
319
annotationinterface.h
KPluginLoader
KPluginLoader::factory
KPluginFactory * factory()
KSharedPtr< KService >
KTextEditor::ConfigPage::~ConfigPage
virtual ~ConfigPage()
Virtual destructor.
Definition: ktexteditor.cpp:194
KTextEditor::ConfigPage::ConfigPage
ConfigPage(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:189
KTextEditor::ContainerInterface::ContainerInterface
ContainerInterface()
Constructor.
Definition: ktexteditor.cpp:227
KTextEditor::ContainerInterface::~ContainerInterface
virtual ~ContainerInterface()
Virtual Destructor.
Definition: ktexteditor.cpp:230
KTextEditor::CoordinatesToCursorInterface::~CoordinatesToCursorInterface
virtual ~CoordinatesToCursorInterface()
Virtual destructor.
Definition: ktexteditor.cpp:299
KTextEditor::Cursor
An object which represents a position in a Document.
Definition: cursor.h:62
KTextEditor::Cursor::column
int column() const
Retrieve the column on which this cursor is situated.
Definition: cursor.cpp:79
KTextEditor::Cursor::line
virtual int line() const
Retrieve the line on which this cursor is situated.
Definition: cursor.cpp:62
KTextEditor::Document
A KParts derived class representing a text document.
Definition: document.h:112
KTextEditor::Document::activeView
virtual View * activeView() const =0
Return the view which currently has user focus, if any.
KTextEditor::Document::lineLength
virtual int lineLength(int line) const =0
Get the length of a given line in characters.
KTextEditor::Document::cursorInText
virtual bool cursorInText(const Cursor &cursor)
Checks whether the cursor specifies a valid position in a document.
Definition: document.cpp:173
KTextEditor::Document::insertText
virtual bool insertText(const Cursor &position, const QString &text, bool block=false)=0
Insert text at position.
KTextEditor::Editor
Accessor interface for Editor part.
Definition: editor.h:103
KTextEditor::Editor::simpleMode
bool simpleMode() const
Query the editor whether simple mode is on or not.
Definition: ktexteditor.cpp:101
KTextEditor::Editor::Editor
Editor(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:85
KTextEditor::Editor::defaultEncoding
const QString & defaultEncoding() const
Get the current default encoding for this Editor part.
Definition: ktexteditor.cpp:106
KTextEditor::Editor::setDefaultEncoding
void setDefaultEncoding(const QString &defaultEncoding)
Set the current default encoding for this Editor part.
Definition: ktexteditor.cpp:111
KTextEditor::Editor::setSimpleMode
void setSimpleMode(bool on)
Switch editor to simple mode for average users.
Definition: ktexteditor.cpp:96
KTextEditor::Editor::~Editor
virtual ~Editor()
Virtual destructor.
Definition: ktexteditor.cpp:91
KTextEditor::Factory
Accessor to the Editor implementation.
Definition: factory.h:91
KTextEditor::Factory::editor
virtual Editor * editor()=0
Get the global Editor object.
KTextEditor::Factory::~Factory
virtual ~Factory()
Virtual destructor.
Definition: ktexteditor.cpp:73
KTextEditor::Factory::Factory
Factory(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:67
KTextEditor::LoadSaveFilterCheckPlugin::~LoadSaveFilterCheckPlugin
virtual ~LoadSaveFilterCheckPlugin()
Definition: ktexteditor.cpp:297
KTextEditor::LoadSaveFilterCheckPlugin::LoadSaveFilterCheckPlugin
LoadSaveFilterCheckPlugin(QObject *parent)
Definition: ktexteditor.cpp:293
KTextEditor::MarkInterface::~MarkInterface
virtual ~MarkInterface()
Virtual destructor.
Definition: ktexteditor.cpp:217
KTextEditor::MarkInterface::MarkInterface
MarkInterface()
Definition: ktexteditor.cpp:213
KTextEditor::MdiContainer::~MdiContainer
virtual ~MdiContainer()
Virtual destructor.
Definition: ktexteditor.cpp:236
KTextEditor::MdiContainer::MdiContainer
MdiContainer()
Constructor.
Definition: ktexteditor.cpp:233
KTextEditor::ModeInterface::~ModeInterface
virtual ~ModeInterface()
Virtual destructor.
Definition: ktexteditor.cpp:307
KTextEditor::ModeInterface::ModeInterface
ModeInterface()
Constructor.
Definition: ktexteditor.cpp:304
KTextEditor::ModificationInterface::ModificationInterface
ModificationInterface()
Definition: ktexteditor.cpp:220
KTextEditor::ModificationInterface::~ModificationInterface
virtual ~ModificationInterface()
Virtual destructor.
Definition: ktexteditor.cpp:224
KTextEditor::ParameterizedSessionConfigInterface::ParameterizedSessionConfigInterface
ParameterizedSessionConfigInterface()
Definition: ktexteditor.cpp:260
KTextEditor::ParameterizedSessionConfigInterface::~ParameterizedSessionConfigInterface
virtual ~ParameterizedSessionConfigInterface()
Virtual destructor.
Definition: ktexteditor.cpp:263
KTextEditor::Plugin
KTextEditor Plugin interface.
Definition: plugin.h:108
KTextEditor::Plugin::~Plugin
virtual ~Plugin()
Virtual destructor.
Definition: ktexteditor.cpp:210
KTextEditor::Plugin::Plugin
Plugin(QObject *parent)
Constructor.
Definition: ktexteditor.cpp:205
KTextEditor::Range
An object representing a section of text, from one Cursor to another.
Definition: range.h:55
KTextEditor::RecoveryInterface::RecoveryInterface
RecoveryInterface()
Constructor.
Definition: ktexteditor.cpp:310
KTextEditor::RecoveryInterface::~RecoveryInterface
virtual ~RecoveryInterface()
Virtual destructor.
Definition: ktexteditor.cpp:314
KTextEditor::SearchInterface::~SearchInterface
virtual ~SearchInterface()
Virtual destructor.
Definition: ktexteditor.cpp:250
KTextEditor::SearchInterface::SearchInterface
SearchInterface()
Constructor.
Definition: ktexteditor.cpp:246
KTextEditor::SessionConfigInterface::~SessionConfigInterface
virtual ~SessionConfigInterface()
Virtual destructor.
Definition: ktexteditor.cpp:257
KTextEditor::SessionConfigInterface::SessionConfigInterface
SessionConfigInterface()
Definition: ktexteditor.cpp:253
KTextEditor::TemplateInterface::TemplateInterface
TemplateInterface()
Definition: ktexteditor.cpp:266
KTextEditor::TemplateInterface::~TemplateInterface
virtual ~TemplateInterface()
Definition: ktexteditor.cpp:270
KTextEditor::TextHintInterface::TextHintInterface
TextHintInterface()
Definition: ktexteditor.cpp:273
KTextEditor::TextHintInterface::~TextHintInterface
virtual ~TextHintInterface()
Definition: ktexteditor.cpp:277
KTextEditor::VariableInterface::VariableInterface
VariableInterface()
Definition: ktexteditor.cpp:280
KTextEditor::VariableInterface::~VariableInterface
virtual ~VariableInterface()
Virtual destructor.
Definition: ktexteditor.cpp:284
KTextEditor::ViewBarContainer::ViewBarContainer
ViewBarContainer()
Constructor.
Definition: ktexteditor.cpp:239
KTextEditor::ViewBarContainer::~ViewBarContainer
virtual ~ViewBarContainer()
Virtual destructor.
Definition: ktexteditor.cpp:242
KTextEditor::View::document
virtual Document * document() const =0
Get the view's document, that means the view is a view of the returned document.
KTextEditor::View::blockSelection
virtual bool blockSelection() const =0
Get the status of the selection mode.
KTextEditor::View::cursorPosition
virtual Cursor cursorPosition() const =0
Get the view's current cursor position.
KTextEditor::View::View
View(QWidget *parent)
Constructor.
Definition: ktexteditor.cpp:197
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
KTextEditor::View::setSelection
virtual bool setSelection(const Range &range)=0
Set the view's selection to the range selection.
KTextEditor::View::~View
virtual ~View()
Virtual destructor.
Definition: ktexteditor.cpp:202
KTextEditor::View::isActiveView
bool isActiveView() const
Check whether this view is the document's active view.
Definition: ktexteditor.cpp:116
KXMLGUIClient
QObject
QSet
QWidget
commandinterface.h
configpage.h
containerinterface.h
cursor.h
document.h
editor.h
factory.h
K_GLOBAL_STATIC
#define K_GLOBAL_STATIC(TYPE, NAME)
kDebug
#define kDebug
kWarning
#define kWarning
kdebug.h
kpluginfactory.h
kpluginloader.h
loadsavefiltercheckplugin.h
markinterface.h
modeinterface.h
modificationinterface.h
KParts
end
const KShortcut & end()
KTextEditor
Namespace for the KDE Text Editor Interfaces.
Definition: annotationinterface.h:31
KTextEditor::createPlugin
Plugin * createPlugin(KService::Ptr service, QObject *parent)
Create a plugin represented by service with parent object parent.
Definition: ktexteditor.cpp:147
KTextEditor::editor
Editor * editor(const char *libname)
Helper function for the EditorChooser.
Definition: ktexteditor.cpp:173
plugin.h
recoveryinterface.h
searchinterface.h
sessionconfiginterface.h
KPluginFactory
templateinterface.h
texthintinterface.h
variableinterface.h
view.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 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-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 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
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
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