Source-highlight Library
|
00001 // 00002 // C++ Interface: stringlistlangelem 00003 // 00004 // Description: 00005 // 00006 // 00007 // Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2004-2009 00008 // 00009 // Copyright: See COPYING file that comes with this distribution 00010 // 00011 // 00012 #ifndef STRINGLISTLANGELEM_H 00013 #define STRINGLISTLANGELEM_H 00014 00015 #include "statestartlangelem.h" 00016 00017 namespace srchilite { 00018 00019 class StringDefs; 00020 00025 // doublecpp: forward declarations, DO NOT MODIFY 00026 class HighlightState; // file: highlightstate.h 00027 class HighlightStateBuilder; // file: highlightstatebuilder.h 00028 // doublecpp: end, DO NOT MODIFY 00029 00030 class StringListLangElem : public StateStartLangElem 00031 { 00032 private: 00033 StringDefs *alternatives; 00034 bool nonsensitive; 00035 00036 public: 00042 StringListLangElem(const std::string &n, StringDefs *defs, bool nons); 00043 00044 virtual ~StringListLangElem(); 00045 00046 virtual const std::string toString() const; 00047 00048 virtual const std::string toStringOriginal() const; 00049 00053 StringDefs *getAlternatives() const { 00054 return alternatives; 00055 } 00056 00060 bool isCaseSensitive() const { 00061 return !nonsensitive; 00062 } 00063 // doublecpp: dispatch methods, DO NOT MODIFY 00064 public: 00065 virtual void dispatch_build(HighlightStateBuilder *, HighlightState * state); 00066 // doublecpp: end, DO NOT MODIFY 00067 }; 00068 00069 } 00070 00071 #endif