00001 //***************************************************************************** 00010 //***************************************************************************** 00011 00012 #if (_MSC_VER > 1000) || defined(SGI_COMPILER) 00013 #pragma once 00014 #endif 00015 00016 #ifndef __XSISELECTION_H__ 00017 #define __XSISELECTION_H__ 00018 00019 #include <xsi_base.h> 00020 00021 namespace XSI { 00022 00023 class Filter; 00024 00025 //***************************************************************************** 00096 //***************************************************************************** 00097 00098 class SICPPSDKDECL Selection : public CBase 00099 { 00100 public: 00102 Selection(); 00103 00105 ~Selection(); 00106 00110 Selection(const CRef& in_ref); 00111 00115 Selection(const Selection& in_obj); 00116 00121 bool IsA( siClassID in_ClassID) const; 00122 00126 siClassID GetClassID() const; 00127 00133 Selection& operator=(const Selection& in_obj); 00134 00140 Selection& operator=(const CRef& in_ref); 00141 00146 CRef operator[]( LONG in_index ); 00147 00152 CRef GetItem( LONG in_index ) const; 00153 00158 CRef GetItem( const CString& in_name ) const; 00159 00166 CStatus Add( const CRef& in_object, 00167 siSelectMode in_selType = siSelectDefault ); 00168 00175 CStatus Remove( const CRef& in_object, 00176 siSelectMode in_selType = siSelectDefault ); 00177 00182 CStatus Clear(); 00183 00187 LONG GetCount() const; 00188 00192 CRefArray GetArray(); 00193 00242 CStatus SetAsText( const CString& in_str ); 00243 00274 CString GetAsText(); 00275 00291 Filter GetFilter() const; 00292 00293 private: 00294 Selection * operator&() const; 00295 Selection * operator&(); 00296 }; 00297 00298 }; 00299 00300 #endif // __XSISELECTION_H__