]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/colordlg.h
no real changes, just refactor/simplify the code to remove duplication and unnecessar...
[wxWidgets.git] / include / wx / msw / colordlg.h
index 1f6679b8b9717b5b732d8f3195421cb19fbd59f2..36cd745f9717c1771f4c4c0db366b4b26c853ef5 100644 (file)
 #ifndef _WX_COLORDLG_H_
 #define _WX_COLORDLG_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "colordlg.h"
-#endif
-
-#include "wx/setup.h"
+#include "wx/defs.h"
 #include "wx/dialog.h"
 #include "wx/cmndata.h"
 
 class WXDLLEXPORT wxColourDialog : public wxDialog
 {
 public:
-    wxColourDialog();
-    wxColourDialog(wxWindow *parent, wxColourData *data = NULL);
+    wxColourDialog() { Init(); }
+    wxColourDialog(wxWindow *parent, wxColourData *data = NULL)
+    {
+        Init();
+
+        Create(parent, data);
+    }
 
     bool Create(wxWindow *parent, wxColourData *data = NULL);
 
@@ -40,22 +41,36 @@ public:
 
     virtual int ShowModal();
 
-    virtual void DoGetPosition( int *x, int *y ) const;
+    // wxMSW-specific implementation from now on
+    // -----------------------------------------
+
+    // called from the hook procedure on WM_INITDIALOG reception
+    virtual void MSWOnInitDone(WXHWND hDlg);
 
 protected:
+    // common part of all ctors
+    void Init();
+
+#if !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
+    virtual void DoGetPosition( int *x, int *y ) const;
     virtual void DoGetSize(int *width, int *height) const;
     virtual void DoGetClientSize(int *width, int *height) const;
-    virtual void DoSetSize(int x, int y,
-                           int width, int height,
-                           int sizeFlags = wxSIZE_AUTO);
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+    virtual void DoCentre(int dir);
+#endif // !(__SMARTPHONE__ && __WXWINCE__)
 
     wxColourData        m_colourData;
     wxString            m_title;
 
-    wxPoint             m_pos;
+    // indicates that the dialog should be centered in this direction if non 0
+    // (set by DoCentre(), used by MSWOnInitDone())
+    int m_centreDir;
+
+    // true if DoMoveWindow() had been called
+    bool m_movedWindow;
+
 
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxColourDialog)
 };
 
-#endif
-    // _WX_COLORDLG_H_
+#endif // _WX_COLORDLG_H_