• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/amule/wxWidgets-2.8.12/contrib/src/stc/scintilla/include/
1// Scintilla source code edit control
2/** @file WindowAccessor.h
3 ** Implementation of BufferAccess and StylingAccess on a Scintilla
4 ** rapid easy access to contents of a Scintilla.
5 **/
6// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
7// The License.txt file describes the conditions under which this software may be distributed.
8
9/**
10 */
11class WindowAccessor : public Accessor {
12	// Private so WindowAccessor objects can not be copied
13	WindowAccessor(const WindowAccessor &source) : Accessor(), props(source.props) {}
14	WindowAccessor &operator=(const WindowAccessor &) { return *this; }
15protected:
16	WindowID id;
17	PropSet &props;
18	int lenDoc;
19
20	char styleBuf[bufferSize];
21	int validLen;
22	char chFlags;
23	char chWhile;
24	unsigned int startSeg;
25
26	bool InternalIsLeadByte(char ch);
27	void Fill(int position);
28public:
29	WindowAccessor(WindowID id_, PropSet &props_) :
30		Accessor(), id(id_), props(props_),
31		lenDoc(-1), validLen(0), chFlags(0), chWhile(0) {
32	}
33	~WindowAccessor();
34	bool Match(int pos, const char *s);
35	char StyleAt(int position);
36	int GetLine(int position);
37	int LineStart(int line);
38	int LevelAt(int line);
39	int Length();
40	void Flush();
41	int GetLineState(int line);
42	int SetLineState(int line, int state);
43	int GetPropertyInt(const char *key, int defaultValue=0) {
44		return props.GetInt(key, defaultValue);
45	}
46	char *GetProperties() {
47		return props.ToString();
48	}
49
50	void StartAt(unsigned int start, char chMask=31);
51	void SetFlags(char chFlags_, char chWhile_) {chFlags = chFlags_; chWhile = chWhile_; };
52	unsigned int GetStartSegment() { return startSeg; }
53	void StartSegment(unsigned int pos);
54	void ColourTo(unsigned int pos, int chAttr);
55	void SetLevel(int line, int level);
56	int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0);
57};
58