GME
13
|
00001 #ifndef SIMPLE_CLOSURE_H 00002 #define SIMPLE_CLOSURE_H 00003 00004 #include "MakeClosure.h" 00005 00006 class CSimpleSelectClosure : public CMakeClosure 00007 { 00008 public: 00009 CSimpleSelectClosure 00010 ( IMgaFCOs *fcos 00011 , IMgaFolders *fols 00012 , int containment 00013 , int folder_containment 00014 , bool excl_atom 00015 , bool excl_conn 00016 , bool excl_ref 00017 , bool excl_set 00018 ) 00019 : CMakeClosure 00020 ( fcos 00021 , fols 00022 , 0 //ref 00023 , 0 //refd 00024 , 0 //conn 00025 , 0 //refportconn 00026 , 0 //set_mem 00027 , 0 //mem_of_set 00028 , containment //cont 00029 , 0 //part_of_mod 00030 , folder_containment //fold_cont 00031 , 0 //part_of_fold 00032 , 0 //base_type 00033 , 0 //derived_type 00034 , LIB_CONT //into_libr 00035 , 3 //container_opt( 3) 00036 , 1 //direction_opt 00037 , -1 //all kinds 00038 , -1 //don't mark 00039 ) 00040 , m_bExclAtom( excl_atom) 00041 , m_bExclConn( excl_conn) 00042 , m_bExclRef( excl_ref) 00043 , m_bExclSet( excl_set) 00044 { } 00045 00046 ~CSimpleSelectClosure() 00047 { 00048 } 00049 00050 /*virtual*/ bool isValidSelection(); 00051 /*virtual*/ void procObj( IMgaObject* obj); 00052 /*virtual*/ void preProcess(); 00053 /*virtual*/ void postProcess(); 00054 bool removeExcludedKinds(); 00055 void manageGuid( CComObjPtr<IMgaObject> obj); 00056 00057 protected: 00058 bool m_bExclAtom; 00059 bool m_bExclConn; 00060 bool m_bExclRef; 00061 bool m_bExclSet; 00062 00063 }; 00064 00065 struct ConnsAndDerivsLast 00066 { 00067 bool operator()( const CComObjPtr<IMgaFCO>& p1, const CComObjPtr<IMgaFCO>& p2) const; 00068 }; 00069 00070 #endif // SIMPLE_CLOSURE_H