00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __PRM_ScriptImports_h__
00021 #define __PRM_ScriptImports_h__
00022
00023 #include "PRM_API.h"
00024 #include <UT/UT_String.h>
00025 #include <UT/UT_RefArray.h>
00026
00027 class PRM_API PRM_ScriptImportBlock
00028 {
00029 public:
00030 PRM_ScriptImportBlock()
00031 : myLabel(UT_String::ALWAYS_DEEP),
00032 mySource(UT_String::ALWAYS_DEEP),
00033 myToken(UT_String::ALWAYS_DEEP),
00034 myMask(UT_String::ALWAYS_DEEP)
00035 {
00036 init(-1, 0, 0, 0, 0, 0, false);
00037 }
00038
00039 PRM_ScriptImportBlock(int offset, int size,
00040 const char *src)
00041 : myLabel(UT_String::ALWAYS_DEEP),
00042 mySource(UT_String::ALWAYS_DEEP),
00043 myToken(UT_String::ALWAYS_DEEP),
00044 myMask(UT_String::ALWAYS_DEEP)
00045 {
00046 init(offset, size, src, 0, 0, 0, false);
00047 }
00048
00049 void init(int offset, int size,
00050 const char *src,
00051 const char *token,
00052 const char *mask,
00053 const char *label,
00054 bool enable)
00055 {
00056 myOffset = offset;
00057 mySize = size;
00058 mySource = src;
00059 myToken = token;
00060 myMask = mask;
00061 myLabel = label;
00062 myEnable = enable;
00063
00064 myNestLevel = -1;
00065 mySwitcherIndex = -1;
00066 myFolder = -1;
00067 }
00068
00069 int getOffset() const { return myOffset; }
00070
00071 int getNestLevel() const { return myNestLevel; }
00072 void setNestLevel(int level) { myNestLevel = level; }
00073
00074 int getSwitcherIndex() const { return mySwitcherIndex; }
00075 void setSwitcherIndex(int i) { mySwitcherIndex = i; }
00076 int getFolder() const { return myFolder; }
00077 void setFolder(int i) { myFolder = i; }
00078
00079 int getSize() const { return mySize; }
00080
00081 const UT_String &getLabel() const { return myLabel; }
00082 const UT_String &getSource() const { return mySource; }
00083 const UT_String &getToken() const { return myToken; }
00084 const UT_String &getMask() const { return myMask; }
00085 bool getEnable() const { return myEnable; }
00086
00087 protected:
00088
00089
00090 int myOffset;
00091
00092
00093
00094
00095 int myNestLevel;
00096
00097
00098
00099
00100
00101 int mySwitcherIndex;
00102 int myFolder;
00103
00104
00105
00106 int mySize;
00107
00108
00109
00110 UT_String myLabel;
00111 UT_String mySource;
00112 UT_String myToken;
00113 UT_String myMask;
00114 bool myEnable;
00115 };
00116
00117 typedef UT_RefArray<PRM_ScriptImportBlock> PRM_ScriptImportList;
00118
00119 class PRM_API PRM_ScriptImports {
00120 public:
00121 PRM_ScriptImports();
00122 ~PRM_ScriptImports();
00123
00124 void appendBlock(int offset, int size,
00125 const char *source,
00126 const char *token,
00127 const char *mask,
00128 const char *label,
00129 bool enable);
00130
00131
00132
00133 int getNestBaseIndex() const
00134 { return myNestBaseIndex; }
00135 void setNestBaseIndex(int index)
00136 { myNestBaseIndex = index; }
00137
00138
00139
00140 const PRM_ScriptImportBlock *findBlockWithLabel(const char *label) const;
00141
00142 PRM_ScriptImportList myBlocks;
00143 int myNestBaseIndex;
00144 };
00145
00146 #endif