// Copyright 2011 Simon Edwards // Generated by twine2 // This program 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, or // (at your option) any later version. // This program 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 General Public License for more details // You should have received a copy of the GNU Library General Public // License along with this program; if not, write to the // Free Software Foundation, Inc., // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. namespace KTextEditor { class MovingCursor /Abstract/ { %TypeHeaderCode #include %End public: enum InsertBehavior { StayOnInsert, MoveOnInsert }; enum WrapBehavior { Wrap, NoWrap }; virtual void setInsertBehavior (KTextEditor::MovingCursor::InsertBehavior insertBehavior)=0; virtual KTextEditor::MovingCursor::InsertBehavior insertBehavior () const=0; virtual KTextEditor::Document* document () const=0; virtual KTextEditor::MovingRange* range () const=0; virtual void setPosition (const KTextEditor::Cursor& position)=0; virtual int line () const=0; virtual int column () const=0; virtual ~MovingCursor (); protected: MovingCursor (); private: MovingCursor (const KTextEditor::MovingCursor&); public: bool isValid () const; bool isValidTextPosition () const; void setPosition (int line, int column); void setLine (int line); void setColumn (int column); bool atStartOfLine () const; bool atEndOfLine () const; bool atStartOfDocument () const; bool atEndOfDocument () const; bool gotoNextLine (); bool gotoPreviousLine (); bool move (int chars, KTextEditor::MovingCursor::WrapBehavior wrapBehavior = KTextEditor::MovingCursor::Wrap); const KTextEditor::Cursor toCursor () const; //ig const Cursor operator const Cursor () const; //ig bool operator == (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig bool operator != (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig bool operator > (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig bool operator >= (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig bool operator < (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig bool operator <= (const KTextEditor::MovingCursor& c1, const KTextEditor::MovingCursor& c2); //ig QDebug operator << (QDebug s, const KTextEditor::MovingCursor* cursor); //ig QDebug operator << (QDebug s, const KTextEditor::MovingCursor& cursor); }; };