00001 00012 #ifndef _IFM_DEFPLUGIN_H_ 00013 #define _IFM_DEFPLUGIN_H_ 00014 00015 #include "plugin.h" 00016 00017 #define IFM_DEF_CAPTION_HEIGHT 15 // if wxSM_SYS_CAPTION isn't supported use this 00018 #define IFM_DEF_FRAME_X 4 // if wxSY_FRAMEBORDER_X isn't supported use this 00019 00026 class wxIFMDefaultPlugin : public wxEvtHandler 00027 { 00028 private: 00029 wxIFMInterfacePluginBase *m_ip; 00030 wxInterfaceManager *GetManager() { return m_ip->GetManager(); } 00031 wxIFMInterfacePluginBase *GetIP() { return m_ip; } 00032 00033 public: 00034 00035 wxIFMDefaultPlugin() { } 00036 00037 wxIFMDefaultPlugin(wxIFMInterfacePluginBase *ip); 00038 00039 private: 00040 00041 void OnSetRect(wxIFMRectEvent &event); 00042 void OnGetRect(wxIFMRectEvent &event); 00043 void OnConvertRect(wxIFMConvertRectEvent &event); 00044 void OnUpdate(wxIFMUpdateComponentEvent &event); 00045 void OnBeginPaint(wxIFMBeginPaintEvent &event); 00046 void OnEndPaint(wxIFMEndPaintEvent &event); 00047 void OnPaintBg(wxIFMPaintEvent &event); 00048 void OnPaintBorder(wxIFMPaintEvent &event); 00049 void OnGetDesiredSize(wxIFMRectEvent &event); 00050 void OnSetDesiredSize(wxIFMRectEvent &event); 00051 void OnSetMinSize(wxIFMRectEvent &event); 00052 void OnSetMaxSize(wxIFMRectEvent &event); 00053 void OnGetMinSize(wxIFMRectEvent &event); 00054 void OnGetMaxSize(wxIFMRectEvent &event); 00055 void OnHitTest(wxIFMHitTestEvent &event); 00056 void OnUndock(wxIFMUndockEvent &event); 00057 void OnDeleteComponent(wxIFMDeleteComponentEvent &event); 00058 void OnSetChildSize(wxIFMSetChildSizeEvent &event); 00059 void OnCalcRects(wxIFMCalcRectsEvent &event); 00060 void OnShowChild(wxIFMShowChildEvent &event); 00061 void OnShowComponent(wxIFMShowComponentEvent &event); 00062 void OnVisibilityChanged(wxIFMComponentVisibilityChangedEvent &event); 00063 void OnDock(wxIFMDockEvent &event); 00064 00065 #if IFM_CANFLOAT 00066 void OnFloat(wxIFMFloatEvent &event); 00067 void OnFloatingSize(wxIFMFloatingSizeEvent &event); 00068 void OnFloatingMove(wxIFMFloatingMoveEvent &event); 00069 void UpdateFloatingPos(wxIFMComponent *component); 00070 void OnFloatNotify(wxIFMFloatNotifyEvent &event); 00071 #endif 00072 00073 DECLARE_EVENT_TABLE() 00074 00075 #if IFM_USE_WX_RTTI 00076 DECLARE_DYNAMIC_CLASS_NO_COPY(wxIFMDefaultPlugin) 00077 #endif 00078 }; 00079 00080 #endif