X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1d9301a914cb19e8721fdfae7d6d824444768138..19b409860202ab9bdc27dab3d17f388c1a1d9717:/include/wx/rearrangectrl.h diff --git a/include/wx/rearrangectrl.h b/include/wx/rearrangectrl.h index eb52fd96e4..de7fbb394c 100644 --- a/include/wx/rearrangectrl.h +++ b/include/wx/rearrangectrl.h @@ -12,6 +12,9 @@ #define _WX_REARRANGECTRL_H_ #include "wx/checklst.h" + +#if wxUSE_REARRANGECTRL + #include "wx/panel.h" #include "wx/dialog.h" @@ -106,7 +109,7 @@ private: DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(wxRearrangeList) + wxDECLARE_NO_COPY_CLASS(wxRearrangeList); }; // ---------------------------------------------------------------------------- @@ -163,7 +166,7 @@ private: DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(wxRearrangeCtrl) + wxDECLARE_NO_COPY_CLASS(wxRearrangeCtrl); }; // ---------------------------------------------------------------------------- @@ -173,6 +176,9 @@ private: class WXDLLIMPEXP_CORE wxRearrangeDialog : public wxDialog { public: + // default ctor, use Create() later + wxRearrangeDialog() { Init(); } + // ctor for the dialog: message is shown inside the dialog itself, order // and items are passed to wxRearrangeList used internally wxRearrangeDialog(wxWindow *parent, @@ -181,17 +187,47 @@ public: const wxArrayInt& order, const wxArrayString& items, const wxPoint& pos = wxDefaultPosition, - const wxString& name = wxRearrangeDialogNameStr); + const wxString& name = wxRearrangeDialogNameStr) + { + Init(); + + Create(parent, message, title, order, items, pos, name); + } + + bool Create(wxWindow *parent, + const wxString& message, + const wxString& title, + const wxArrayInt& order, + const wxArrayString& items, + const wxPoint& pos = wxDefaultPosition, + const wxString& name = wxRearrangeDialogNameStr); + + + // methods for the dialog customization + + // add extra contents to the dialog below the wxRearrangeCtrl part: the + // given window (usually a wxPanel containing more control inside it) must + // have the dialog as its parent and will be inserted into it at the right + // place by this method + void AddExtraControls(wxWindow *win); + + // return the wxRearrangeList control used by the dialog + wxRearrangeList *GetList() const; + // get the order of items after it was modified by the user - wxArrayInt GetOrder() const - { return m_ctrl->GetList()->GetCurrentOrder(); } + wxArrayInt GetOrder() const; private: + // common part of all ctors + void Init() { m_ctrl = NULL; } + wxRearrangeCtrl *m_ctrl; - DECLARE_NO_COPY_CLASS(wxRearrangeDialog) + wxDECLARE_NO_COPY_CLASS(wxRearrangeDialog); }; +#endif // wxUSE_REARRANGECTRL + #endif // _WX_REARRANGECTRL_H_