File: cursorposition.h

package info (click to toggle)
texstudio 2.11.2%2Bdebian-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 41,292 kB
  • ctags: 12,405
  • sloc: cpp: 93,072; xml: 10,217; ansic: 4,153; sh: 145; makefile: 56
file content (37 lines) | stat: -rw-r--r-- 867 bytes parent folder | download | duplicates (3)
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
#ifndef CURSORPOSITION_H
#define CURSORPOSITION_H

class QDocument;
class QDocumentLineHandle;
class QDocumentCursor;


struct QDocumentLineTrackedHandle {
public:
	QDocumentLineTrackedHandle(const QDocumentCursor &c);
	bool isValid() const;
	QDocument *doc() const { return m_doc; }
	QDocumentLineHandle *dlh() const { return m_dlh; }
	int oldLineNumber() const { return m_oldLineNumber; }
	int lineNumber() const;
protected:
	QDocument *m_doc;
	QDocumentLineHandle *m_dlh;
	mutable int m_oldLineNumber;
};


class CursorPosition: public QDocumentLineTrackedHandle
{
public:
	CursorPosition(const QDocumentCursor &c);

	QDocumentCursor toCursor();
	bool equals(const CursorPosition &pos) const;
	int columnNumber() const { return m_columnNumber; }
	void setColumnNumber(int col) { m_columnNumber = col; }
private:
	int m_columnNumber;
};

#endif // CURSORPOSITION_H