00001
00037 #ifndef INC_MGUI_SPATMODIMAGEVIEW_H
00038 #define INC_MGUI_SPATMODIMAGEVIEW_H
00039
00040 #ifndef INC_MGUI_DLGSHELL_H
00041 #include <mgui/dlgshell.h>
00042 #endif
00043
00044
00045 #ifndef GENERATING_DOXYGEN_OUTPUT
00046 namespace SPATMOD {
00047 namespace IMAGE {
00048 class STAGE;
00049 }
00050 }
00051 namespace MGUI {
00052 class CANVAS;
00053 }
00054 #endif
00055
00056 namespace MGUI {
00057
00058
00059
00061 class FORM_SPATMOD_IMAGE_VIEW : public MGUI::FORM_COMPOSITE {
00062 public:
00063
00064 enum STYLE {
00065 STYLE_Default = 0,
00066 STYLE_NoToolBar = 0x00000001
00067 };
00068
00070 FORM_SPATMOD_IMAGE_VIEW (
00071 );
00072
00074 virtual ~FORM_SPATMOD_IMAGE_VIEW (
00075 );
00076
00081 void Create (
00082 LAYOUT_PANE_BASE& ParentPane,
00083 int width,
00084 int height,
00085 STYLE style = STYLE_Default,
00086 LAYOUT_SIZEALIGN sizealign = LAYOUT_SIZEALIGN_Expand,
00087 SPATMOD::IMAGE::STAGE* stage = 0,
00088 bool bTakeOwnership = false
00089 );
00090
00091 ERRVALUE Display (
00092 );
00093
00094 CANVAS& GetCanvas (
00095 );
00096
00098 void SetDelegateOnNextPhoto (
00099 FastDelegate<void(FORM_SPATMOD_IMAGE_VIEW *)> delegate
00100 );
00101
00103 void SetDelegateOnPrevPhoto (
00104 FastDelegate<void(FORM_SPATMOD_IMAGE_VIEW *)> delegate
00105 );
00106
00108 void SetStage (
00109 SPATMOD::IMAGE::STAGE* stage,
00110 bool bTakeOwnership
00111 );
00112
00114 void SetViewNum (const INT32& ViewNum) {m_ViewNum = ViewNum;}
00115
00117 INT32 GetViewNum() {return m_ViewNum;}
00118
00119 private:
00120 #ifndef GENERATING_DOXYGEN_OUTPUT
00121 INT32 m_ViewNum;
00122
00123 class PRIV;
00124 class MYCANVAS;
00125 PRIV* m_priv;
00126
00127 friend class MYCANVAS;
00128
00129 FORM_SPATMOD_IMAGE_VIEW (const FORM_SPATMOD_IMAGE_VIEW&);
00130 FORM_SPATMOD_IMAGE_VIEW& operator= (const FORM_SPATMOD_IMAGE_VIEW&);
00131 #endif // GENERATING_DOXYGEN_OUTPUT
00132 };
00133
00134 #ifndef GENERATING_DOXYGEN_OUTPUT
00135 DEFINE_ENUM_OP_BITWISE(MGUI::FORM_SPATMOD_IMAGE_VIEW::STYLE)
00136 #endif
00137
00139 class DLG_SPATMOD_IMAGE_VIEW : public MGUI::DLGSHELL {
00140 public:
00141
00142
00143
00144 DLG_SPATMOD_IMAGE_VIEW (
00145 INT32 width = 200,
00146 INT32 height = 200,
00147 FORM_SPATMOD_IMAGE_VIEW::STYLE style = FORM_SPATMOD_IMAGE_VIEW::STYLE_Default
00148 );
00149
00150 virtual ~DLG_SPATMOD_IMAGE_VIEW();
00151
00153 ERRVALUE Display (
00154 ) {
00155 return (m_View.Display());
00156 }
00157
00158 FORM_SPATMOD_IMAGE_VIEW& GetFormImageView (
00159 ) { return (m_View); }
00160
00161 void SetDelegateOnClose (
00162 DELEGATE_VOID_NOPARMS delegate
00163 ) { m_DelegateOnClose = delegate; }
00164
00166 void SetStage (
00167 SPATMOD::IMAGE::STAGE* stage,
00168 bool bTakeOwnership
00169 ) {
00170 m_View.SetStage(stage, bTakeOwnership);
00171 }
00172
00174 void SetViewNum (const INT32& ViewNum) {m_View.SetViewNum(ViewNum);}
00175
00177 INT32 GetViewNum() {return m_View.GetViewNum();}
00178
00179
00180 private:
00181 FORM_SPATMOD_IMAGE_VIEW m_View;
00182 INT32 m_Width, m_Height;
00183 FORM_SPATMOD_IMAGE_VIEW::STYLE m_Style;
00184 DELEGATE_VOID_NOPARMS m_DelegateOnClose;
00185
00186 ERRVALUE v_CreateContent();
00187 void v_OnOpen();
00188 void v_OnClose();
00189 };
00190
00191
00192 }
00193
00194 #endif // INC_MGUI_SPATMODIMAGEVIEW_H