]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/colordlg.h
don't use wxDELETE unnecessarily
[wxWidgets.git] / include / wx / msw / colordlg.h
index 09cd225e90f2dccd1ff8f9affeb82fe7acba0996..91ac90090dfd9559f55e7ad72b030631cf5142b1 100644 (file)
@@ -1,44 +1,76 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        colordlg.h
+// Name:        wx/msw/colordlg.h
 // Purpose:     wxColourDialog class
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c) Julian Smart and Markus Holzem
-// Licence:    wxWindows license
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __COLORDLGH__
-#define __COLORDLGH__
+#ifndef _WX_COLORDLG_H_
+#define _WX_COLORDLG_H_
 
-#ifdef __GNUG__
-#pragma interface "colordlg.h"
-#endif
-
-#include "wx/setup.h"
+#include "wx/defs.h"
 #include "wx/dialog.h"
 #include "wx/cmndata.h"
 
-/*
- * COLOUR DIALOG
- */
+// ----------------------------------------------------------------------------
+// wxColourDialog: dialog for choosing a colours
+// ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxColourDialog: public wxDialog
+class WXDLLIMPEXP_CORE wxColourDialog : public wxDialog
 {
- DECLARE_DYNAMIC_CLASS(wxColourDialog)
- protected:
-  wxColourData colourData;
-  wxWindow *dialogParent;
- public:
-  wxColourDialog(void);
-  wxColourDialog(wxWindow *parent, wxColourData *data = NULL);
-
-  bool Create(wxWindow *parent, wxColourData *data = NULL);
-
-  int ShowModal(void);
-  wxColourData& GetColourData(void) { return colourData; }
+public:
+    wxColourDialog() { Init(); }
+    wxColourDialog(wxWindow *parent, wxColourData *data = NULL)
+    {
+        Init();
+
+        Create(parent, data);
+    }
+
+    bool Create(wxWindow *parent, wxColourData *data = NULL);
+
+    wxColourData& GetColourData() { return m_colourData; }
+
+    // override some base class virtuals
+    virtual void SetTitle(const wxString& title);
+    virtual wxString GetTitle() const;
+
+    virtual int ShowModal();
+
+    // 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 DoMoveWindow(int x, int y, int width, int height);
+    virtual void DoCentre(int dir);
+#endif // !(__SMARTPHONE__ && __WXWINCE__)
+
+    wxColourData        m_colourData;
+    wxString            m_title;
+
+    // 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
-    // __COLORDLGH__
+#endif // _WX_COLORDLG_H_