00001 00027 #ifndef INC_GRE_UISHELLVIEW_H 00028 #define INC_GRE_UISHELLVIEW_H 00029 00030 #ifndef INC_GRE_UIFORMVIEW_H 00031 #include <gre/uiformview.h> 00032 #endif 00033 00034 #ifndef INC_MGUI_TOPSHELL_H 00035 #include <mgui/topshell.h> 00036 #endif 00037 00038 namespace GRE { 00039 namespace UI { 00040 00041 //=================================================================================================================== 00042 00044 class SHELL_VIEW : public MGUI::TOPSHELL { 00045 public: 00046 00050 static SHELL_VIEW* CreateAndOpen ( 00051 GRE::VIEWABLE *viewable, 00052 INT16 CanvasWidth = 200, 00053 INT16 CanvasHeight = 200, 00054 GRE::UI::FORM_VIEW::CREATEFLAGS CreateFlags = FORM_VIEW::CREATEFLAG_None, 00055 const char *placementkeystr = 0 00056 ); 00057 00059 SHELL_VIEW ( 00060 GRE::VIEWABLE *viewable, 00061 INT16 CanvasWidth = 200, 00062 INT16 CanvasHeight = 200, 00063 GRE::UI::FORM_VIEW::CREATEFLAGS CreateFlags = FORM_VIEW::CREATEFLAG_None, 00064 GRE::UI::FORM_VIEW::SETTINGS *pFormSettings = 0 00065 ); 00066 00068 virtual ~SHELL_VIEW (); 00069 00071 GRE::UI::FORM_VIEW& GetFormView () 00072 { return (m_FormView); } 00073 00075 void SetDelegateAddTools ( 00076 UI::FORM_VIEW::DELEGATE_ADDTOOLS delegate 00077 ) { m_FormView.SetDelegateAddTools(delegate); } 00078 00081 void SetDestroySelfOnClose ( 00082 bool DestroySelfOnClose = true 00083 ) { m_DestroySelfOnClose = DestroySelfOnClose; } 00084 00087 void SetDestroyViewableOnClose ( 00088 bool DestroyViewableOnClose = true 00089 ) { m_DestroyViewableOnClose = DestroyViewableOnClose; } 00090 00094 void SetMenuBarSubMenus ( 00095 UI::FORM_VIEW::SUBMENUS submenus 00096 ) { m_MenuBarSubMenus = submenus; } 00097 00098 private: 00099 #ifndef GENERATING_DOXYGEN_OUTPUT 00100 00101 GRE::UI::FORM_VIEW m_FormView; 00102 GRE::UI::FORM_VIEW::CREATEFLAGS m_FormCreateFlags; 00103 GRE::UI::FORM_VIEW::SETTINGS *m_pFormSettings; 00104 UI::FORM_VIEW::SUBMENUS m_MenuBarSubMenus; 00105 INT16 m_CanvasWidth; // View canvas width 00106 INT16 m_CanvasHeight; // View canvas height 00107 bool m_DestroySelfOnClose; 00108 bool m_DestroyViewableOnClose; 00109 00110 static void GRECB_View (const GRE::MSG *msg, void *vpShell); 00111 00112 void OnGreMsg (const GRE::MSG& msg); 00113 00114 // SHELL overrides. 00115 virtual int v_CreateContent (); 00116 virtual void v_OnClose (); 00117 virtual void v_OnCloseRequest (); 00118 virtual void v_OnOpen (); 00119 00120 // Unimplemented. 00121 SHELL_VIEW (const SHELL_VIEW&); 00122 SHELL_VIEW& operator= (const SHELL_VIEW&); 00123 #endif 00124 }; 00125 00126 //=================================================================================================================== 00127 00128 } // End namespace UI 00129 } // End namespace GRE 00130 00131 #endif // INC_GRE_UISHELLVIEW_H
1.6.1