/* This file is part of the KDE project * Copyright (C) 2006 Joseph Wenninger * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef _ktexteditor_documentadaptor_p_h_ #define _ktexteditor_documentadaptor_p_h_ #include namespace KTextEditor { class Document; /// For documentation see Document class DocumentAdaptor: public QDBusAbstractAdaptor { Q_OBJECT Q_CLASSINFO("D-Bus Interface","org.kde.KTextEditor.Document") Q_PROPERTY(const QString& encoding READ encoding WRITE setEncoding) Q_PROPERTY(const QString& text READ text WRITE setText) Q_PROPERTY(int lines READ lines) Q_PROPERTY(bool empty READ isEmpty) Q_PROPERTY(int totalCharacters READ totalCharacters) public: DocumentAdaptor(Document *document); virtual ~DocumentAdaptor(); public Q_SLOTS: bool clear(); bool reload(); bool save(); bool saveAs(); bool setTextLines(const QStringList &text); bool isEmpty() const ; int lineLength(int line) const; QPoint endOfLine(int line) const; bool insertText(const QPoint& cursor,const QString& text, bool block); bool insertTextLines(const QPoint& cursor,const QStringList& text, bool block); bool cursorInText(const QPoint& cursor); bool insertLine(int line, const QString& text); bool insertLines(int line, const QStringList& text); bool removeLine(int line); //public: bool setEncoding(const QString &encoding); const QString &encoding() const; bool setText(const QString &text); QString text() const; int lines() const; int totalCharacters() const; private: Document *m_document; }; } #endif