summaryrefslogtreecommitdiffstats
path: root/objects/texteditor.h
blob: 03727d3274789a72656cac30d1323aded2716d31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#ifndef SCRIPTING_INTERNAL_TEXTEDITOR_H
#define SCRIPTING_INTERNAL_TEXTEDITOR_H

#include "editor.h"
#include <texteditor/itexteditor.h>
#include "enums.h"
#include "utils/position.h"

namespace Scripting {
namespace Internal {

class TextEditor : public Editor
{
    Q_OBJECT
public:
    explicit TextEditor(QObject *parent = 0);
    int nativePosition(Enums::PositionOperation posOp = Enums::Current, int at = -1) const;
    Position convertPosition(int pos) const;

public slots:
    Position position(Enums::PositionOperation posOp = Enums::Current, int at = -1) const;
    QRect cursorRect(int pos = -1) const;
    int columnCount() const;
    int rowCount() const;


    void remove(int length);
    void insert(const QString &string);
    void replace(int length, const QString &string);
    void setCursorPosition(int pos);
    void select(int toPos);

protected:
    ::TextEditor::ITextEditor * editor() const;
};

} // namespace Internal
} // namespace Scripting

#endif // SCRIPTING_INTERNAL_TEXTEDITOR_H