00001 00019 #ifndef INC_RVC_GETOBJFILTER_H 00020 #define INC_RVC_GETOBJFILTER_H 00021 00022 #ifndef INC_MI32_MISTRING_H 00023 #include <mi32/mistring.h> 00024 #endif 00025 00026 namespace RVC { 00027 00028 class OBJITEM; 00029 class OBJITEMLIST; 00030 00031 //=================================================================================================================== 00038 class GETOBJFILTER { 00039 public: 00040 00042 GETOBJFILTER ( 00043 ); 00044 00046 void Clear ( 00047 ) { m_TextID = TEXTID__None; m_ErrValue = 0; } 00048 00050 ERRVALUE GetErrValue ( 00051 ) const { return (m_ErrValue); } 00052 00055 MISTRING GetMessage ( 00056 TEXTID TextID = TEXTID__None 00057 ) const; 00058 00060 TEXTID GetTextID ( 00061 ) const { return (m_TextID); } 00062 00067 bool HasSelectableSubObjects ( 00068 const RVC::OBJITEM& objitem, 00069 GETOBJFILTER *pFilterProxyFor = 0 00070 ); 00071 00077 bool IsSelectable ( 00078 const RVC::OBJITEM& objitem, 00079 int position = -1, 00080 GETOBJFILTER *pFilterProxyFor = 0 00081 ); 00082 00088 bool IsValidList ( 00089 const RVC::OBJITEMLIST& objlist, 00090 GETOBJFILTER *pFilterProxyFor = 0 00091 ); 00092 00098 bool IsValidParent ( 00099 const RVC::OBJITEM& parent, 00100 GETOBJFILTER *pFilterProxyFor = 0 00101 ); 00102 00104 void SetErrValue ( 00105 ERRVALUE err 00106 ) { m_ErrValue = err; } 00107 00109 void SetTextID ( 00110 TEXTID TextID 00111 ) { m_TextID = TextID; } 00112 00113 private: 00114 #ifndef GENERATING_DOXYGEN_OUTPUT 00115 TEXTID m_TextID; 00116 ERRVALUE m_ErrValue; 00117 #endif // GENERATING_DOXYGEN_OUTPUT 00118 00121 virtual bool v_HasSelectableSubObjects ( 00122 const RVC::OBJITEM& objitem 00123 ); 00124 00128 virtual bool v_IsSelectable ( 00129 const RVC::OBJITEM& objitem, 00130 int position 00131 ); 00132 00136 virtual bool v_IsValidList ( 00137 const RVC::OBJITEMLIST& objlist 00138 ); 00139 00143 virtual bool v_IsValidParent ( 00144 const RVC::OBJITEM& parent 00145 ); 00146 00147 }; 00148 00149 00150 //=================================================================================================================== 00151 00152 } // End namespace RVC 00153 00154 #endif // INC_RVC_GETOBJFILTER_H
1.6.1