00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00024 #ifndef __vtkCommandOptionsXMLParser_h
00025 #define __vtkCommandOptionsXMLParser_h
00026
00027 #include "vtkXMLParser.h"
00028 #include "vtkCommandOptions.h"
00029 class vtkCommandOptionsXMLParserInternal;
00030 class vtkCommandOptions;
00031
00032 class VTK_EXPORT vtkCommandOptionsXMLParser : public vtkXMLParser
00033 {
00034 public:
00035 static vtkCommandOptionsXMLParser* New();
00036 vtkTypeRevisionMacro(vtkCommandOptionsXMLParser,vtkXMLParser);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00040
00043 void AddBooleanArgument(const char* longarg, int* var, int type=0);
00044 void AddArgument(const char* longarg, int* var, int type=0);
00045 void AddArgument(const char* longarg, char** var, int type=0);
00046 void SetPVOptions(vtkCommandOptions* o)
00047 {
00048 this->PVOptions = o;
00049 }
00051 protected:
00053 vtkCommandOptionsXMLParser();
00054
00056 virtual ~vtkCommandOptionsXMLParser();
00057
00058
00059
00060
00061
00062
00063 virtual void StartElement(const char* name, const char** atts);
00064
00065
00066
00067 virtual void EndElement(const char* name);
00068
00069 void HandleOption(const char** atts);
00070
00071 void HandleProcessType(const char** atts);
00072
00073 virtual void SetProcessType(const char* ptype);
00074 void SetProcessTypeInt(int ptype);
00075
00076 private:
00077 vtkCommandOptionsXMLParser(const vtkCommandOptionsXMLParser&);
00078 void operator=(const vtkCommandOptionsXMLParser&);
00079 int InPVXTag;
00080 vtkCommandOptions* PVOptions;
00081 vtkCommandOptionsXMLParserInternal* Internals;
00082 };
00083
00084 #endif // #ifndef __vtkCommandOptionsXMLParser_h
00085