//
//     Copyright 2007 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2006 Jim Bublitz also apply


//                 Generated by preSip


// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 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 General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace KTextEditor
{

class Cursor
{
%TypeHeaderCode
#include <ktexteditor/cursor.h>
%End


public:
                            Cursor ();
                            Cursor (int line, int column);
                            Cursor (const KTextEditor::Cursor& copy);
    virtual bool            isValid () const;
    static KTextEditor::Cursor  invalid ();
    static KTextEditor::Cursor  start ();
    virtual void            setPosition (const KTextEditor::Cursor& position);
    void                    setPosition (int line, int column);
    virtual int             line () const;
    virtual void            setLine (int line);
    int                     column () const;
    virtual void            setColumn (int column);
    bool                    atStartOfLine () const;
    bool                    atStartOfDocument () const;
    void                    position (int& line, int& column) const;
    KTextEditor::Range*     range () const;
//ig    KTextEditor::Cursor     operator + (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    KTextEditor::Cursor&    operator += (KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    KTextEditor::Cursor     operator - (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    KTextEditor::Cursor&    operator -= (KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator == (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator != (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator > (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator >= (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator < (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);
//ig    bool                    operator <= (const KTextEditor::Cursor& c1, const KTextEditor::Cursor& c2);


//mt  undefined symbol: QDebug -- need mapped type?
//mt  undefined symbol: QDebug -- need mapped type?
//mt     QDebug               operator << (QDebug, const KTextEditor::Cursor&);


protected:
    virtual void            setRange (KTextEditor::Range* range);
    void                    cursorChangedDirectly (const KTextEditor::Cursor& from);




public:
    virtual ~Cursor ();
//ig    QDebug                  operator << (QDebug s, const KTextEditor::Cursor& cursor);
};
// class Cursor

};
// namespace KTextEditor

%ModuleHeaderCode
//ctscc
#include <ktexteditor/cursor.h>
%End
