00001
00002
00003
00004
00005
00006
00007
00008
00009
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
00026 class HighlightState;
00027 class HighlightStateBuilder;
00028
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
00064 public:
00065 virtual void dispatch_build(HighlightStateBuilder *, HighlightState * state);
00066
00067 };
00068
00069 }
00070
00071 #endif