From f5d9cc735c3222fcbea9cb5a55a3de61fa12e146 Mon Sep 17 00:00:00 2001 From: =?utf8?q?W=C5=82odzimierz=20Skiba?= Date: Tue, 18 Jan 2005 10:31:24 +0000 Subject: [PATCH] PalmOS native colour dialog. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + docs/latex/wx/colour.tex | 4 +- include/wx/colordlg.h | 2 + include/wx/palmos/colordlg.h | 17 +----- include/wx/palmos/setup0.h | 2 +- src/palmos/colordlg.cpp | 108 ++++++++++------------------------- 6 files changed, 37 insertions(+), 97 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index 380862a04f..8a6b8487aa 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -105,6 +105,7 @@ wxPalmOS: - enumeration of available volumes - native wxPrefConfig around Preferences database - native wxProgressDialog implementation +- native wxColourDialog implementation - native wxSystemSettings colours diff --git a/docs/latex/wx/colour.tex b/docs/latex/wx/colour.tex index 7cad445d00..f77b1010e8 100644 --- a/docs/latex/wx/colour.tex +++ b/docs/latex/wx/colour.tex @@ -198,7 +198,9 @@ Destructor. \constfunc{bool}{GetChooseFull}{\void} Under Windows, determines whether the Windows colour dialog will display the full dialog -with custom colour selection controls. Has no meaning under other platforms. +with custom colour selection controls. Under PalmOS, determines whether colour dialog +will display full rgb colour picker or only available palette indexer. +Has no meaning under other platforms. The default value is true. diff --git a/include/wx/colordlg.h b/include/wx/colordlg.h index e953735ab7..6992910c67 100644 --- a/include/wx/colordlg.h +++ b/include/wx/colordlg.h @@ -22,6 +22,8 @@ #include "wx/mac/colordlg.h" #elif defined(__WXGTK20__) && !defined(__WXUNIVERSAL__) #include "wx/gtk/colordlg.h" +#elif defined(__WXPALMOS__) + #include "wx/palmos/colordlg.h" #else #include "wx/generic/colrdlgg.h" diff --git a/include/wx/palmos/colordlg.h b/include/wx/palmos/colordlg.h index 227d5abf79..b598e0f306 100644 --- a/include/wx/palmos/colordlg.h +++ b/include/wx/palmos/colordlg.h @@ -4,7 +4,7 @@ // Author: William Osborne // Modified by: // Created: 10/13/04 -// RCS-ID: $Id: +// RCS-ID: $Id: // Copyright: (c) William Osborne // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -34,25 +34,10 @@ public: wxColourData& GetColourData() { return m_colourData; } - // override some base class virtuals - virtual void SetTitle(const wxString& title); - virtual wxString GetTitle() const; - virtual int ShowModal(); - virtual void DoGetPosition( int *x, int *y ) const; - protected: - 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); - wxColourData m_colourData; - wxString m_title; - - wxPoint m_pos; DECLARE_DYNAMIC_CLASS_NO_COPY(wxColourDialog) }; diff --git a/include/wx/palmos/setup0.h b/include/wx/palmos/setup0.h index 554f1b1a30..f34c915b4e 100644 --- a/include/wx/palmos/setup0.h +++ b/include/wx/palmos/setup0.h @@ -710,7 +710,7 @@ // Default is 1 // // Recommended setting: 1 -#define wxUSE_COLOURDLG 0 +#define wxUSE_COLOURDLG 1 // wxDirDlg class for getting a directory name from user #define wxUSE_DIRDLG 0 diff --git a/src/palmos/colordlg.cpp b/src/palmos/colordlg.cpp index b94f9f7684..8c988dafbc 100644 --- a/src/palmos/colordlg.cpp +++ b/src/palmos/colordlg.cpp @@ -4,7 +4,7 @@ // Author: William Osborne // Modified by: // Created: 10/13/04 -// RCS-ID: $Id: +// RCS-ID: $Id: // Copyright: (c) William Osborne // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -29,28 +29,14 @@ #endif #ifndef WX_PRECOMP - #include #include "wx/defs.h" - #include "wx/bitmap.h" - #include "wx/pen.h" - #include "wx/brush.h" - #include "wx/colour.h" - #include "wx/gdicmn.h" - #include "wx/utils.h" - #include "wx/frame.h" - #include "wx/dialog.h" - #include "wx/msgdlg.h" - #include "wx/math.h" + #include "wx/intl.h" #endif -#if wxUSE_COLOURDLG && !defined(__SMARTPHONE__) +#if wxUSE_COLOURDLG -#include "wx/palmos/private.h" -#include "wx/colordlg.h" #include "wx/cmndata.h" - -#include -#include +#include "wx/colordlg.h" // ---------------------------------------------------------------------------- // wxWin macros @@ -72,76 +58,40 @@ wxColourDialog::wxColourDialog() wxColourDialog::wxColourDialog(wxWindow *parent, wxColourData *data) { + Create(parent, data); } bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) { - return false; -} + m_parent = parent; -int wxColourDialog::ShowModal() -{ - return wxID_CANCEL; -} + if (data) + m_colourData = *data; -// ---------------------------------------------------------------------------- -// title -// ---------------------------------------------------------------------------- - -void wxColourDialog::SetTitle(const wxString& title) -{ - m_title = title; + return true; } -wxString wxColourDialog::GetTitle() const -{ - return m_title; -} - -// ---------------------------------------------------------------------------- -// position/size -// ---------------------------------------------------------------------------- - -void wxColourDialog::DoGetPosition(int *x, int *y) const -{ - if ( x ) - *x = m_pos.x; - if ( y ) - *y = m_pos.y; -} - -void wxColourDialog::DoSetSize(int x, int y, - int WXUNUSED(width), int WXUNUSED(height), - int WXUNUSED(sizeFlags)) -{ - if ( x != -1 ) - m_pos.x = x; - - if ( y != -1 ) - m_pos.y = y; - - // ignore the size params - we can't change the size of a standard dialog - return; -} - -// NB: of course, both of these functions are completely bogus, but it's better -// than nothing -void wxColourDialog::DoGetSize(int *width, int *height) const -{ - // the standard dialog size - if ( width ) - *width = 225; - if ( height ) - *height = 324; -} - -void wxColourDialog::DoGetClientSize(int *width, int *height) const +int wxColourDialog::ShowModal() { - // the standard dialog size - if ( width ) - *width = 219; - if ( height ) - *height = 299; + wxString title = _("Choose colour"); + + wxColour colour = m_colourData.GetColour(); + RGBColorType rgb; + rgb.r = colour.Red(); + rgb.g = colour.Green(); + rgb.b = colour.Blue(); + IndexedColorType i = WinRGBToIndex ( &rgb ); + + if (UIPickColor (&i, + &rgb, + (m_colourData.GetChooseFull()?UIPickColorStartRGB:UIPickColorStartPalette), + title.ToAscii(), + NULL) == false) + return wxID_CANCEL; + + colour.Set(rgb.r, rgb.g, rgb.b); + m_colourData.SetColour(colour); + return wxID_OK; } #endif -- 2.45.2