Source-highlight Library
/home/bettini/work/source-highlight/src-highlite/lib/srchilite/stringlistlangelem.h
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