]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/rearrangectrl.h
need to overload assertEquals(int,short) too to resolve ambiguity
[wxWidgets.git] / include / wx / rearrangectrl.h
index 3a422d0ed1a63975f5a025de28eaeb0084f37e32..da809d5cbf97e0dad54d3a12a8f3aae0740edce8 100644 (file)
@@ -12,6 +12,9 @@
 #define _WX_REARRANGECTRL_H_
 
 #include "wx/checklst.h"
+#include "wx/panel.h"
+#include "wx/dialog.h"
+
 #include "wx/arrstr.h"
 
 extern WXDLLIMPEXP_DATA_CORE(const char) wxRearrangeListNameStr[];
@@ -170,6 +173,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,
@@ -178,13 +184,41 @@ 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)