00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Side Effects Software Inc. 00008 * 477 Richmond Street West, Suite 1001 00009 * Toronto, Ontario 00010 * Canada M5V 3E7 00011 * 416-504-9876 00012 */ 00013 00014 #ifndef __SIM_QueryOptions_h__ 00015 #define __SIM_QueryOptions_h__ 00016 00017 #include "SIM_API.h" 00018 #include "SIM_Query.h" 00019 00020 class SIM_Options; 00021 00022 /// This class provides an interface between a SIM_Data and the Houdini 00023 /// expression language. It also helps in building the tree view of a 00024 /// simulation. 00025 class SIM_API SIM_QueryOptions : public SIM_Query 00026 { 00027 public: 00028 /// Constructor which takes a const SIM_Data as our owner. 00029 explicit SIM_QueryOptions(const SIM_Data *owner, 00030 const SIM_Options *options); 00031 /// Destructor for this class. 00032 virtual ~SIM_QueryOptions(); 00033 00034 protected: 00035 const SIM_Options &getOptions() const; 00036 00037 virtual int getNumRecordTypesSubclass() const; 00038 virtual const char *getRecordTypeNameSubclass( 00039 int recordtypenum) const; 00040 00041 virtual int getNumRecordsSubclass( 00042 const char *recordtype) const; 00043 virtual int getNumFieldsSubclass( 00044 const char *recordtype) const; 00045 virtual const char *getFieldNameSubclass( 00046 const char *recordtype, 00047 int fieldnum) const; 00048 virtual UT_OptionType getFieldTypeSubclass( 00049 const char *recordtype, 00050 int fieldnum) const; 00051 virtual bool getFieldRawSubclass( 00052 const char *recordtype, 00053 int recordnum, 00054 const char *fieldname, 00055 UT_OptionEntry *&result) const; 00056 00057 private: 00058 const SIM_Options *myOptions; 00059 }; 00060 00061 #endif 00062
1.5.9