00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef INC_MGUI_XMLDLG_H
00025 #define INC_MGUI_XMLDLG_H
00026
00027
00028 #ifndef INC_MGUI_DLGSHELL_H
00029 #include <mgui/dlgshell.h>
00030 #endif
00031
00032 #ifndef INC_MGUI_XMLDATA_H
00033 #include <mgui/xmldata.h>
00034 #endif
00035
00036
00037 #ifndef GENERATING_DOXYGEN_OUTPUT
00038 namespace SML {
00039 class CONTEXT;
00040 }
00041 namespace MGUI {
00042 class CTRL_LABEL;
00043 class CTRL_GROUPBOX;
00044 class CTRL_PUSHBUTTON;
00045 class CTRL_TOGGLEBUTTON;
00046 class CTRL_EDIT_STRING;
00047 class CTRL_EDIT_NUMBER;
00048 class FORM_EDIT_RANGE;
00049 class GUIXMLPRIVDATA;
00050 }
00051 #endif
00052
00053
00054 namespace MGUI {
00055
00056 class LAYOUT_PANE_XMLFORM : public MGUI::LAYOUT_PANE {
00057 public:
00058 LAYOUT_PANE_XMLFORM();
00059 virtual ~LAYOUT_PANE_XMLFORM();
00060
00062
00063 ERRVALUE Create (
00064 MGUI::LAYOUT_PANE_BASE& ParentPane,
00065 const XMLNODE* xmlnode,
00066 SML::CONTEXT* context = 0
00067 );
00068
00075 MGUI::FORM* GetCtrlByID (
00076 const MIUNICODE* id
00077 ) const;
00078
00083 bool GetCtrlByID (
00084 const MIUNICODE* id,
00085 MGUI::CTRL_LABEL*& ctrl
00086 ) const;
00087
00092 bool GetCtrlByID (
00093 const MIUNICODE* id,
00094 MGUI::CTRL_GROUPBOX*& ctrl
00095 ) const;
00096
00101 bool GetCtrlByID (
00102 const MIUNICODE* id,
00103 MGUI::CTRL_PUSHBUTTON*& ctrl
00104 ) const;
00105
00110 bool GetCtrlByID (
00111 const MIUNICODE* id,
00112 MGUI::CTRL_TOGGLEBUTTON*& ctrl
00113 ) const;
00114
00119 bool GetCtrlByID (
00120 const MIUNICODE* id,
00121 MGUI::CTRL_EDIT_STRING*& ctrl
00122 ) const;
00123
00128 bool GetCtrlByID (
00129 const MIUNICODE* id,
00130 MGUI::CTRL_EDIT_NUMBER*& ctrl
00131 ) const;
00132
00137 bool GetCtrlByID (
00138 const MIUNICODE* id,
00139 MGUI::FORM_EDIT_RANGE*& ctrl
00140 ) const;
00141
00142
00145 MGUI::LAYOUT_PANE_BASE* GetPaneByID (
00146 const MIUNICODE* id
00147 ) const;
00148
00151 ERRVALUE GetValues (
00152 MGUI::XMLFORM_DATA& values
00153 ) const;
00154
00157 ERRVALUE SetValues (
00158 const MGUI::XMLFORM_DATA& values
00159 );
00160
00161 private:
00162 #ifndef GENERATING_DOXYGEN_OUTPUT
00163 GUIXMLPRIVDATA *m_priv;
00164 #endif // GENERATING_DOXYGEN_OUTPUT
00165 };
00166
00167
00168 class DLG_XML : public MGUI::DLGSHELL {
00169 public:
00170 DLG_XML();
00171 virtual ~DLG_XML();
00172
00179 MGUI::FORM* GetCtrlByID (
00180 const MIUNICODE* id
00181 ) const;
00182
00187 bool GetCtrlByID (
00188 const MIUNICODE* id,
00189 MGUI::CTRL_LABEL*& ctrl
00190 ) const;
00191
00196 bool GetCtrlByID (
00197 const MIUNICODE* id,
00198 MGUI::CTRL_GROUPBOX*& ctrl
00199 ) const;
00200
00205 bool GetCtrlByID (
00206 const MIUNICODE* id,
00207 MGUI::CTRL_PUSHBUTTON*& ctrl
00208 ) const;
00209
00214 bool GetCtrlByID (
00215 const MIUNICODE* id,
00216 MGUI::CTRL_TOGGLEBUTTON*& ctrl
00217 ) const;
00218
00223 bool GetCtrlByID (
00224 const MIUNICODE* id,
00225 MGUI::CTRL_EDIT_STRING*& ctrl
00226 ) const;
00227
00232 bool GetCtrlByID (
00233 const MIUNICODE* id,
00234 MGUI::CTRL_EDIT_NUMBER*& ctrl
00235 ) const;
00236
00241 bool GetCtrlByID (
00242 const MIUNICODE* id,
00243 MGUI::FORM_EDIT_RANGE*& ctrl
00244 ) const;
00245
00246
00249 MGUI::LAYOUT_PANE_BASE* GetPaneByID (
00250 const MIUNICODE* id
00251 ) const;
00252
00255 ERRVALUE GetValues (
00256 MGUI::XMLFORM_DATA& values
00257 ) const;
00258
00261 ERRVALUE SetValues (
00262 const MGUI::XMLFORM_DATA& values
00263 );
00264
00265
00267 ERRVALUE SetXMLNode (
00268 const XMLNODE* xmlnode,
00269 SML::CONTEXT* context = 0
00270 );
00271
00272
00273 protected:
00274
00275 virtual ERRVALUE v_CreateContent ();
00276 virtual void v_OnApply ();
00277 virtual void v_OnOK ();
00278 virtual void v_OnCancel ();
00279 virtual void v_OnOpen ();
00280 virtual void v_OnClose ();
00281 virtual void v_OnCloseRequest ();
00282 virtual void v_OnDestroy ();
00283
00284 GUIXMLPRIVDATA* GetPriv() const { return (m_priv); }
00285
00286 private:
00287 #ifndef GENERATING_DOXYGEN_OUTPUT
00288 GUIXMLPRIVDATA *m_priv;
00289 #endif // GENERATING_DOXYGEN_OUTPUT
00290 };
00291
00292
00293 }
00294
00295 #endif
00296