]> git.saurik.com Git - wxWidgets.git/commitdiff
changed wxColourData default palette to NULL colours instead of white
authorVáclav Slavík <vslavik@fastmail.fm>
Fri, 4 Jun 2004 16:03:03 +0000 (16:03 +0000)
committerVáclav Slavík <vslavik@fastmail.fm>
Fri, 4 Jun 2004 16:03:03 +0000 (16:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/colordlg.tex
docs/latex/wx/colour.tex
src/common/cmndata.cpp
src/msw/colordlg.cpp

index f7f00a9b4b729d68b1a85b34cfc989ca2dd8a176..62d8caa1917c8488fd959a5c7b361589b2f8cd57 100644 (file)
@@ -27,7 +27,11 @@ This class represents the colour chooser dialog.
 \func{}{wxColourDialog}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}}
 
 Constructor. Pass a parent window, and optionally a pointer to a block of colour
 \func{}{wxColourDialog}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}}
 
 Constructor. Pass a parent window, and optionally a pointer to a block of colour
-data, which will be copied to the colour dialog's colour data.
+data, which will be copied to the colour dialog's colour data. Custom
+colours from colour data object will be be used in dialog's colour palette.
+Invalid entries in custom colours list will be ignored on some platforms (GTK)
+or replaced with white colour on platforms where custom colours palette has
+fixed size (MSW).
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
index 95b359d281af89a53dfbf6c5b1e4f556865b0cfe..67ac7fc45c9119a3d61b815e6a62618137b04d53 100644 (file)
@@ -181,7 +181,8 @@ This class holds a variety of information related to colour dialogs.
 
 \func{}{wxColourData}{\void}
 
 
 \func{}{wxColourData}{\void}
 
-Constructor. Initializes the custom colours to white, the {\it data colour} setting
+Constructor. Initializes the custom colours to {\tt wxNullColour},
+the {\it data colour} setting
 to black, and the {\it choose full} setting to true.
 
 
 to black, and the {\it choose full} setting to true.
 
 
@@ -218,7 +219,7 @@ The default colour is black.
 Gets the {\it i}th custom colour associated with the colour dialog. {\it i} should
 be an integer between 0 and 15.
 
 Gets the {\it i}th custom colour associated with the colour dialog. {\it i} should
 be an integer between 0 and 15.
 
-The default custom colours are all white.
+The default custom colours are invalid colours.
 
 
 \membersection{wxColourData::SetChooseFull}\label{wxcolourdatasetchoosefull}
 
 
 \membersection{wxColourData::SetChooseFull}\label{wxcolourdatasetchoosefull}
@@ -247,7 +248,7 @@ The default colour is black.
 Sets the {\it i}th custom colour for the colour dialog. {\it i} should
 be an integer between 0 and 15.
 
 Sets the {\it i}th custom colour for the colour dialog. {\it i} should
 be an integer between 0 and 15.
 
-The default custom colours are all white.
+The default custom colours are invalid colours.
 
 
 \membersection{wxColourData::operator $=$}\label{wxcolourdataassign}
 
 
 \membersection{wxColourData::operator $=$}\label{wxcolourdataassign}
index c5a4472437ed2740e20f3b71c0eb73e70a9f34d0..9264f0e48f44e92874701d9be23d6c16c9180239 100644 (file)
 
 wxColourData::wxColourData()
 {
 
 wxColourData::wxColourData()
 {
-    int i;
-    for (i = 0; i < 16; i++)
-        m_custColours[i].Set(255, 255, 255);
-
-    m_chooseFull = FALSE;
+    m_chooseFull = false;
     m_dataColour.Set(0,0,0);
     m_dataColour.Set(0,0,0);
+    // m_custColours are wxNullColours initially
 }
 
 wxColourData::wxColourData(const wxColourData& data)
 }
 
 wxColourData::wxColourData(const wxColourData& data)
@@ -108,16 +105,15 @@ wxColourData::~wxColourData()
 
 void wxColourData::SetCustomColour(int i, const wxColour& colour)
 {
 
 void wxColourData::SetCustomColour(int i, const wxColour& colour)
 {
-    if (i > 15 || i < 0)
-        return;
+    wxCHECK_RET( (i >= 0 && i < 16), _T("custom colour index out of range") );
 
     m_custColours[i] = colour;
 }
 
 wxColour wxColourData::GetCustomColour(int i)
 {
 
     m_custColours[i] = colour;
 }
 
 wxColour wxColourData::GetCustomColour(int i)
 {
-    if (i > 15 || i < 0)
-        return wxColour(0,0,0);
+    wxCHECK_MSG( (i >= 0 && i < 16), wxColour(0,0,0),
+                 _T("custom colour index out of range") );
 
     return m_custColours[i];
 }
 
     return m_custColours[i];
 }
index 53eed0cca9242074b0697bf5dedb1cf531bafc95..92036a89af7cf8b02da34be55c389e07c7cc984e 100644 (file)
@@ -128,7 +128,12 @@ int wxColourDialog::ShowModal()
 
     int i;
     for (i = 0; i < 16; i++)
 
     int i;
     for (i = 0; i < 16; i++)
-      custColours[i] = wxColourToRGB(m_colourData.m_custColours[i]);
+    {
+        if (m_colourData.m_custColours[i].Ok())
+            custColours[i] = wxColourToRGB(m_colourData.m_custColours[i]);
+        else
+            custColours[i] = RGB(255,255,255);
+    }
 
     chooseColorStruct.lStructSize = sizeof(CHOOSECOLOR);
     if ( m_parent )
 
     chooseColorStruct.lStructSize = sizeof(CHOOSECOLOR);
     if ( m_parent )