00001 //############################################################################################################################################### 00002 // 00003 // Meta and Builder Object Network V2.0 for GME 00004 // BON2Component.h 00005 // 00006 //############################################################################################################################################### 00007 00008 /* 00009 Copyright (c) Vanderbilt University, 2000-2004 00010 ALL RIGHTS RESERVED 00011 00012 Vanderbilt University disclaims all warranties with regard to this 00013 software, including all implied warranties of merchantability 00014 and fitness. In no event shall Vanderbilt University be liable for 00015 any special, indirect or consequential damages or any damages 00016 whatsoever resulting from loss of use, data or profits, whether 00017 in an action of contract, negligence or other tortious action, 00018 arising out of or in connection with the use or performance of 00019 this software. 00020 */ 00021 00022 #ifndef BON2Component_h 00023 #define BON2Component_h 00024 00025 #include "BON.h" 00026 #include "BONImpl.h" 00027 #include <ComponentConfig.h> 00028 00029 namespace BON 00030 { 00031 00032 //############################################################################################################################################### 00033 // 00034 // C L A S S : BON::Component 00035 // 00036 //############################################################################################################################################### 00037 00038 class Component 00039 { 00040 //============================================================== 00041 // IMPLEMENTOR SPECIFIC PART 00042 // Insert application specific members and method deifinitions here 00043 00044 //============================================================== 00045 // BON2 SPECIFIC PART 00046 // Do not modify anything below 00047 00048 // Member variables 00049 public : 00050 Project m_project; 00051 bool m_bIsInteractive; 00052 00053 public: 00054 Component(); 00055 ~Component(); 00056 00057 public: 00058 void initialize( Project& project ); 00059 void finalize( Project& project ); 00060 void invoke( Project& project, const std::set<FCO>& setModels, long lParam ); 00061 void invokeEx( Project& project, FCO& currentFCO, const std::set<FCO>& setSelectedFCOs, long lParam ); 00062 void objectInvokeEx( Project& project, Object& currentObject, const std::set<Object>& setSelectedObjects, long lParam ); 00063 Util::Variant getParameter( const std::string& strName ); 00064 void setParameter( const std::string& strName, const Util::Variant& varValue ); 00065 00066 #ifdef GME_ADDON 00067 void globalEventPerformed( globalevent_enum event ); 00068 void objectEventPerformed( Object& object, unsigned long event, VARIANT v ); 00069 #endif 00070 }; 00071 00072 }; // namespace BON 00073 00074 #endif // Bon2Component_H