KTextEditor
view.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KDELIBS_KTEXTEDITOR_VIEW_H
00021 #define KDELIBS_KTEXTEDITOR_VIEW_H
00022
00023 #include <ktexteditor/ktexteditor_export.h>
00024 #include <ktexteditor/range.h>
00025
00026
00027 #include <kxmlguiclient.h>
00028
00029
00030 #include <QtGui/QWidget>
00031
00032 class QMenu;
00033
00034 namespace KTextEditor
00035 {
00036
00037 class Document;
00038
00141 class KTEXTEDITOR_EXPORT View : public QWidget, public KXMLGUIClient
00142 {
00143 Q_OBJECT
00144
00145 public:
00153 View ( QWidget *parent );
00154
00158 virtual ~View ();
00159
00160
00161
00162
00163 public:
00169 virtual Document *document () const = 0;
00170
00178 bool isActiveView() const;
00179
00180
00181
00182
00183 public:
00194 virtual QString viewMode () const = 0;
00195
00200 enum EditMode {
00201 EditInsert = 0,
00202 EditOverwrite = 1
00203 };
00204
00214 virtual enum EditMode viewEditMode() const = 0;
00215
00216
00217
00218
00219
00220 Q_SIGNALS:
00226 void focusIn ( KTextEditor::View *view );
00227
00233 void focusOut ( KTextEditor::View *view );
00234
00240 void viewModeChanged ( KTextEditor::View *view );
00241
00249 void viewEditModeChanged ( KTextEditor::View *view,
00250 enum KTextEditor::View::EditMode mode );
00251
00259 void informationMessage ( KTextEditor::View *view, const QString &message );
00260
00269 void textInserted ( KTextEditor::View *view,
00270 const KTextEditor::Cursor &position,
00271 const QString &text );
00272
00273
00274
00275
00276 public:
00286 virtual void setContextMenu ( QMenu *menu ) = 0;
00287
00294 virtual QMenu *contextMenu () const = 0;
00295
00306 virtual QMenu* defaultContextMenu(QMenu* menu = 0L) const = 0;
00307
00308 Q_SIGNALS:
00313 void contextMenuAboutToShow(KTextEditor::View* view, QMenu* menu);
00314
00315
00316
00317
00318 public:
00326 virtual bool setCursorPosition (Cursor position) = 0;
00327
00334 virtual Cursor cursorPosition () const = 0;
00335
00346 virtual Cursor cursorPositionVirtual () const = 0;
00347
00356 virtual QPoint cursorToCoordinate(const KTextEditor::Cursor& cursor) const = 0;
00357
00362 virtual QPoint cursorPositionCoordinates () const = 0;
00363
00364
00365
00366
00367
00368
00369 Q_SIGNALS:
00377 void cursorPositionChanged (KTextEditor::View *view,
00378 const KTextEditor::Cursor& newPosition);
00379
00384 void verticalScrollPositionChanged (KTextEditor::View *view, const KTextEditor::Cursor& newPos);
00385
00390 void horizontalScrollPositionChanged (KTextEditor::View *view);
00391
00392
00393
00394 public:
00403 virtual bool mouseTrackingEnabled() const = 0;
00404
00420 virtual bool setMouseTrackingEnabled(bool enable) = 0;
00421
00422 Q_SIGNALS:
00434 void mousePositionChanged (KTextEditor::View *view,
00435 const KTextEditor::Cursor& newPosition);
00436
00437
00438
00439
00440
00441 public:
00450 virtual bool setSelection ( const Range &range ) = 0;
00451
00468 virtual bool setSelection ( const Cursor &position,
00469 int length,
00470 bool wrap = true );
00471
00478 virtual bool selection() const = 0;
00479
00485 virtual const Range &selectionRange() const = 0;
00486
00492 virtual QString selectionText () const = 0;
00493
00500 virtual bool removeSelection () = 0;
00501
00507 virtual bool removeSelectionText () = 0;
00508
00509
00510
00511
00512 public:
00519 virtual bool setBlockSelection (bool on) = 0;
00520
00529 virtual bool blockSelection () const = 0;
00530
00531
00532
00533
00534
00535
00536 Q_SIGNALS:
00544 void selectionChanged (KTextEditor::View *view);
00545
00546 public:
00555 virtual bool insertText (const QString &text);
00556
00557 private:
00558 class ViewPrivate* const d;
00559 };
00560
00561 }
00562
00563 #endif
00564
00565