]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/rearrangectrl.h
Implement monitoring of file descriptors in wxMotif event loop.
[wxWidgets.git] / interface / wx / rearrangectrl.h
index 9160b3efa7426da6e8dc1b09882702497ebbc708..305fadcdb60ec07de3e36d098bb059395a2187b6 100644 (file)
@@ -5,7 +5,7 @@
 // Created:     2008-12-15
 // RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
 // Created:     2008-12-15
 // RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
@@ -42,6 +42,8 @@
     is to use wxRearrangeCtrl which combines it with two standard buttons to
     move the current item up or down.
 
     is to use wxRearrangeCtrl which combines it with two standard buttons to
     move the current item up or down.
 
+    @since 2.9.0
+
     @library{wxcore}
     @category{ctrl}
 */
     @library{wxcore}
     @category{ctrl}
 */
@@ -173,10 +175,12 @@ public:
     the "Up" and "Down" buttons to move the currently selected item up or down.
     It is used as the main part of a wxRearrangeDialog.
 
     the "Up" and "Down" buttons to move the currently selected item up or down.
     It is used as the main part of a wxRearrangeDialog.
 
+    @since 2.9.0
+
     @library{wxcore}
     @category{ctrl}
  */
     @library{wxcore}
     @category{ctrl}
  */
-class wxRearrangeCtrl
+class wxRearrangeCtrl : public wxPanel
 {
 public:
     /**
 {
 public:
     /**
@@ -260,10 +264,12 @@ public:
         }
     @endcode
 
         }
     @endcode
 
+    @since 2.9.0
+
     @library{wxcore}
     @category{cmndlg}
  */
     @library{wxcore}
     @category{cmndlg}
  */
-class wxRearrangeDialog
+class wxRearrangeDialog : public wxDialog
 {
 public:
     /**
 {
 public:
     /**
@@ -317,6 +323,52 @@ public:
                 const wxPoint& pos = wxDefaultPosition,
                 const wxString& name = wxRearrangeDialogNameStr);
 
                 const wxPoint& pos = wxDefaultPosition,
                 const wxString& name = wxRearrangeDialogNameStr);
 
+    /**
+        Customize the dialog by adding extra controls to it.
+
+        This function adds the given @a win to the dialog, putting it just
+        below the part occupied by wxRearrangeCtrl. It must be called after
+        creating the dialog and you will typically need to process the events
+        generated by the extra controls for them to do something useful.
+
+        For example:
+        @code
+            class MyRearrangeDialog : public wxRearrangeDialog
+            {
+            public:
+                MyRearrangeDialog(wxWindow *parent, ...)
+                    : wxRearrangeDialog(parent, ...)
+                {
+                    wxPanel *panel = new wxPanel(this);
+                    wxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
+                    sizer->Add(new wxStaticText(panel, wxID_ANY,
+                                                "Column width in pixels:"));
+                    sizer->Add(new wxTextCtrl(panel, wxID_ANY, ""));
+                    panel->SetSizer(sizer);
+                    AddExtraControls(panel);
+                }
+
+                ... code to update the text control with the currently selected
+                    item width and to react to its changes omitted ...
+            };
+        @endcode
+
+        See also the complete example of a custom rearrange dialog in the
+        dialogs sample.
+
+        @param win
+            The window containing the extra controls. It must have this dialog
+            as its parent.
+     */
+    void AddExtraControls(wxWindow *win);
+
+    /**
+        Return the list control used by the dialog.
+
+        @see wxRearrangeCtrl::GetList()
+     */
+    wxRearrangeList *GetList() const;
+
     /**
         Return the array describing the order of items after it was modified by
         the user.
     /**
         Return the array describing the order of items after it was modified by
         the user.