00001
00017 #ifndef INC_MGUI_DLGCUSTOMIZE_H
00018 #define INC_MGUI_DLGCUSTOMIZE_H
00019
00020 #ifndef INC_MGUI_DLGSHELL_H
00021 #include <mgui/dlgshell.h>
00022 #endif
00023
00024 #ifndef INC_MGUI_TREE_H
00025 #include <mgui/tree.h>
00026 #endif
00027
00028 #ifndef INC_MGUI_IMAGELST_H
00029 #include <mgui/imagelst.h>
00030 #endif
00031
00032 #ifndef INC_MI32_MISTRINGLIST_H
00033 #include <mi32/mistringlist.h>
00034 #endif
00035
00036 namespace MGUI {
00037
00038 class CTRL_TOOLBAR;
00039 class MENU;
00040
00041
00042
00043 class DLG_CUSTOMIZE : public DLGSHELL {
00044 public:
00045
00046 DLG_CUSTOMIZE ();
00047
00048 ~DLG_CUSTOMIZE ();
00049
00051 void AddMenu (
00052 MGUI::MENU& menu
00053 );
00054
00056 void AddMenu (
00057 MGUI::MENU& menu,
00058 const MISTRING& label
00059 );
00060
00062 void AddToolBar (
00063 MGUI::CTRL_TOOLBAR& toolbar
00064 );
00065
00067 void AddToolBar (
00068 MGUI::CTRL_TOOLBAR& toolbar,
00069 const MISTRING& label
00070 );
00071
00072 private:
00073 #ifndef GENERATING_DOXYGEN_OUTPUT
00074 typedef DLG_CUSTOMIZE THISCLASS;
00075 typedef MILIST<MGUI::MENU> MENULIST;
00076
00077 enum STATEIDX {
00078 STATEIDX_None,
00079 STATEIDX_Off,
00080 STATEIDX_On,
00081 STATEIDX_OnDisabled
00082 };
00083
00084 MGUI::CTRL_TREE m_Tree;
00085 MENULIST m_MenuList;
00086 MISTRINGLIST m_LabelList;
00087 MGUI::IMAGELIST m_ImageList;
00088
00089 void AddImageListItems (const void *pPrivParent);
00090 void AddItemsToTree (MGUI::CTRL_TREE::ITEMHND hndParent, const void *pPrivParent);
00091 bool OnTreePointerDown (MGUI::CTRL_TREE::ITEMHND hndItem, MGUI::CTRL_TREE::HITRESULT HitResult, const LPOINT2D& point, MGUI::POINTERBUTTON button, MGUI::KEYSTATE keystate);
00092 void UpdateCustomSettings (MGUI::CTRL_TREE::ITEMHND hndParent, const void *vpPrivParent);
00093
00094
00095 virtual int v_CreateContent ();
00096 virtual void v_OnApply ();
00097
00098 #endif // DOXYGEN
00099
00100 };
00101
00102
00103
00104 }
00105
00106 #endif // INC_MGUI_DLGCUSTOMIZE_H