diff options
author | Christian Goetze <cg@lindenlab.com> | 2009-03-13 21:28:40 +0000 |
---|---|---|
committer | Christian Goetze <cg@lindenlab.com> | 2009-03-13 21:28:40 +0000 |
commit | 1aa0416aef379bb3ad1012441588b6d7fab81b40 (patch) | |
tree | 14a247470bd0d508aba923dc00e940b961d304da /indra/llui/lltextparser.h | |
parent | 7573288ab3ede23f97bff2f5caefcb622e7e9842 (diff) |
svn merge -r114093:114412 svn+ssh://svn.lindenlab.com/svn/linden/branches/featurettes/featurettes-batch5-merge
Melinda (coco): 5th and final batch of featurettes. My work here is done.
Diffstat (limited to 'indra/llui/lltextparser.h')
-rw-r--r-- | indra/llui/lltextparser.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/indra/llui/lltextparser.h b/indra/llui/lltextparser.h new file mode 100644 index 0000000000..f6099b8f65 --- /dev/null +++ b/indra/llui/lltextparser.h @@ -0,0 +1,48 @@ +/** + * @file llTextParser.h + * @brief GUI for user-defined highlights + * + * Copyright (c) 2002-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLTEXTPARSER_H +#define LL_LLTEXTPARSER_H + +#include <vector> +#include "linden_common.h" + +#include "lltextparser.h" + +class LLSD; +class LLUUID; +class LLVector3d; +class LLColor4; + +class LLTextParser +{ +public: + enum ConditionType { CONTAINS, MATCHES, STARTS_WITH, ENDS_WITH }; + enum HighlightType { PART, ALL }; + enum HighlightPosition { WHOLE, START, MIDDLE, END }; + enum DialogAction { ACTION_NONE, ACTION_CLOSE, ACTION_ADD, ACTION_COPY, ACTION_UPDATE }; + + static LLTextParser* getInstance(); + LLTextParser(){}; + ~LLTextParser(); + + S32 findPattern(const std::string &text, LLSD highlight); + LLSD parsePartialLineHighlights(const std::string &text,const LLColor4 &color,S32 part=WHOLE, S32 index=0); + bool parseFullLineHighlights(const std::string &text, LLColor4 *color); + void triggerAlerts(LLUUID agent_id, LLVector3d position, std::string text, LLWindow* viewer_window); + + std::string getFileName(); + LLSD loadFromDisk(); + bool saveToDisk(LLSD highlights); +public: + LLSD mHighlights; +private: + static LLTextParser* sInstance; +}; + +#endif |