]> git.saurik.com Git - wxWidgets.git/blobdiff - contrib/src/stc/scintilla/include/Accessor.h
Updated to version 1.40 of Scintilla
[wxWidgets.git] / contrib / src / stc / scintilla / include / Accessor.h
index b4b7e62ecf2d8573d18b9d4b8b9c18bbb3df3234..17c951067221fa0b246dab36e7ee9194da39d462 100644 (file)
@@ -1,6 +1,8 @@
-// SciTE - Scintilla based Text Editor
-// Accessor.h - rapid easy access to contents of a Scintilla
-// Copyright 1998-2000 by Neil Hodgson <neilh@scintilla.org>
+// Scintilla source code edit control
+/** @file Accessor.h
+ ** Rapid easy access to contents of a Scintilla.
+ **/
+// Copyright 1998-2001 by Neil Hodgson <neilh@scintilla.org>
 // The License.txt file describes the conditions under which this software may be distributed.
 
 enum { wsSpace = 1, wsTab = 2, wsSpaceTab = 4, wsInconsistent=8};
 // The License.txt file describes the conditions under which this software may be distributed.
 
 enum { wsSpace = 1, wsTab = 2, wsSpaceTab = 4, wsInconsistent=8};
@@ -9,12 +11,16 @@ class Accessor;
 
 typedef bool (*PFNIsCommentLeader)(Accessor &styler, int pos, int len);
 
 
 typedef bool (*PFNIsCommentLeader)(Accessor &styler, int pos, int len);
 
-// Interface to data in a Scintilla
+/**
+ * Interface to data in a Scintilla.
+ */
 class Accessor {
 protected:
        enum {extremePosition=0x7FFFFFFF};
 class Accessor {
 protected:
        enum {extremePosition=0x7FFFFFFF};
-       // bufferSize is a trade off between time taken to copy the characters and retrieval overhead
-       // slopSize positions the buffer before the desired position in case there is some backtracking
+       /** @a bufferSize is a trade off between time taken to copy the characters
+        * and retrieval overhead.
+        * @a slopSize positions the buffer before the desired position
+        * in case there is some backtracking. */
        enum {bufferSize=4000, slopSize=bufferSize/8};
        char buf[bufferSize+1];
        int startPos;
        enum {bufferSize=4000, slopSize=bufferSize/8};
        char buf[bufferSize+1];
        int startPos;
@@ -23,6 +29,7 @@ protected:
 
        virtual bool InternalIsLeadByte(char ch)=0;
        virtual void Fill(int position)=0;
 
        virtual bool InternalIsLeadByte(char ch)=0;
        virtual void Fill(int position)=0;
+
 public:
        Accessor() : startPos(extremePosition), endPos(0), codePage(0) {}
        virtual ~Accessor() {}
 public:
        Accessor() : startPos(extremePosition), endPos(0), codePage(0) {}
        virtual ~Accessor() {}
@@ -32,8 +39,8 @@ public:
                }
                return buf[position - startPos];
        }
                }
                return buf[position - startPos];
        }
+       /** Safe version of operator[], returning a defined value for invalid position. */
        char SafeGetCharAt(int position, char chDefault=' ') {
        char SafeGetCharAt(int position, char chDefault=' ') {
-               // Safe version of operator[], returning a defined value for invalid position 
                if (position < startPos || position >= endPos) {
                        Fill(position);
                        if (position < startPos || position >= endPos) {
                if (position < startPos || position >= endPos) {
                        Fill(position);
                        if (position < startPos || position >= endPos) {
@@ -57,6 +64,7 @@ public:
        virtual int GetLineState(int line)=0;
        virtual int SetLineState(int line, int state)=0;
        virtual int GetPropertyInt(const char *key, int defaultValue=0)=0;
        virtual int GetLineState(int line)=0;
        virtual int SetLineState(int line, int state)=0;
        virtual int GetPropertyInt(const char *key, int defaultValue=0)=0;
+       virtual char *GetProperties()=0;
 
        // Style setting
        virtual void StartAt(unsigned int start, char chMask=31)=0;
 
        // Style setting
        virtual void StartAt(unsigned int start, char chMask=31)=0;
@@ -67,4 +75,3 @@ public:
        virtual void SetLevel(int line, int level)=0;
        virtual int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0)=0;
 };
        virtual void SetLevel(int line, int level)=0;
        virtual int IndentAmount(int line, int *flags, PFNIsCommentLeader pfnIsCommentLeader = 0)=0;
 };
-