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 public: 00044 void Component::ProcessDiagram(BON::Model& diagram); 00045 void Component::ProcessRouter(BON::Model& router); 00046 //============================================================== 00047 // BON2 SPECIFIC PART 00048 // Do not modify anything below 00049 00050 // Member variables 00051 public : 00052 Project m_project; 00053 bool m_bIsInteractive; 00054 00055 public: 00056 Component(); 00057 ~Component(); 00058 00059 public: 00060 void initialize( Project& project ); 00061 void finalize( Project& project ); 00062 void invoke( Project& project, const std::set<FCO>& setModels, long lParam ); 00063 void invokeEx( Project& project, FCO& currentFCO, const std::set<FCO>& setSelectedFCOs, long lParam ); 00064 void objectInvokeEx( Project& project, Object& currentObject, const std::set<Object>& setSelectedObjects, long lParam ); 00065 Util::Variant getParameter( const std::string& strName ); 00066 void setParameter( const std::string& strName, const Util::Variant& varValue ); 00067 00068 #ifdef GME_ADDON 00069 void globalEventPerformed( globalevent_enum event ); 00070 void objectEventPerformed( Object& object, unsigned long event, VARIANT v ); 00071 #endif 00072 }; 00073 00074 }; // namespace BON 00075 00076 #endif // Bon2Component_H