X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/984b0d8ba7ccace8dd84fb12710e44b2a9ec51fa..7bd236e6da74203ba429941d3f9643291494b420:/src/generic/colrdlgg.cpp diff --git a/src/generic/colrdlgg.cpp b/src/generic/colrdlgg.cpp index 7207f2927c..a868d28d58 100644 --- a/src/generic/colrdlgg.cpp +++ b/src/generic/colrdlgg.cpp @@ -9,10 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma implementation "colrdlgg.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -31,7 +27,6 @@ #include "wx/stattext.h" #include "wx/layout.h" #include "wx/dcclient.h" - #include "wx/slider.h" #include "wx/sizer.h" #endif @@ -39,15 +34,21 @@ #include "wx/statline.h" #endif +#if wxUSE_SLIDER + #include "wx/slider.h" +#endif + #include "wx/generic/colrdlgg.h" IMPLEMENT_DYNAMIC_CLASS(wxGenericColourDialog, wxDialog) BEGIN_EVENT_TABLE(wxGenericColourDialog, wxDialog) EVT_BUTTON(wxID_ADD_CUSTOM, wxGenericColourDialog::OnAddCustom) +#if wxUSE_SLIDER EVT_SLIDER(wxID_RED_SLIDER, wxGenericColourDialog::OnRedSlider) EVT_SLIDER(wxID_GREEN_SLIDER, wxGenericColourDialog::OnGreenSlider) EVT_SLIDER(wxID_BLUE_SLIDER, wxGenericColourDialog::OnBlueSlider) +#endif EVT_PAINT(wxGenericColourDialog::OnPaint) EVT_MOUSE_EVENTS(wxGenericColourDialog::OnMouseEvent) EVT_CLOSE(wxGenericColourDialog::OnCloseWindow) @@ -144,7 +145,7 @@ void wxGenericColourDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event)) bool wxGenericColourDialog::Create(wxWindow *parent, wxColourData *data) { if ( !wxDialog::Create(parent, wxID_ANY, _("Choose colour"), - wxPoint(0, 0), wxSize(900, 900)) ) + wxPoint(0,0), wxSize(900, 900)) ) return false; dialogParent = parent; @@ -205,16 +206,18 @@ void wxGenericColourDialog::OnMouseEvent(wxMouseEvent& event) void wxGenericColourDialog::OnPaint(wxPaintEvent& event) { -#if !defined(__WXMOTIF__) && !defined(__WXMAC__) && !defined(__WXPM__) && !defined(__WXCOCOA__) - wxDialog::OnPaint(event); +#if !defined(__WXMOTIF__) && !defined(__WXPM__) && !defined(__WXCOCOA__) + wxDialog::OnPaint(event); +#else + wxUnusedVar(event); #endif - wxPaintDC dc(this); + wxPaintDC dc(this); - PaintBasicColours(dc); - PaintCustomColours(dc); - PaintCustomColour(dc); - PaintHighlight(dc, true); + PaintBasicColours(dc); + PaintCustomColours(dc); + PaintCustomColour(dc); + PaintHighlight(dc, true); } void wxGenericColourDialog::CalculateMeasurements() @@ -255,15 +258,19 @@ void wxGenericColourDialog::CreateWidgets() { wxBeginBusyCursor(); - const int sliderX = singleCustomColourRect.x + singleCustomColourRect.width + sectionSpacing; + wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL ); + const int sliderHeight = 160; +#if wxUSE_SLIDER + const int sliderX = singleCustomColourRect.x + singleCustomColourRect.width + sectionSpacing; + redSlider = new wxSlider(this, wxID_RED_SLIDER, colourData.m_dataColour.Red(), 0, 255, - wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxVERTICAL|wxSL_LABELS); + wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxSL_VERTICAL|wxSL_LABELS|wxSL_INVERSE); greenSlider = new wxSlider(this, wxID_GREEN_SLIDER, colourData.m_dataColour.Green(), 0, 255, - wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxVERTICAL|wxSL_LABELS); + wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxSL_VERTICAL|wxSL_LABELS|wxSL_INVERSE); blueSlider = new wxSlider(this, wxID_BLUE_SLIDER, colourData.m_dataColour.Blue(), 0, 255, - wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxVERTICAL|wxSL_LABELS); + wxDefaultPosition, wxSize(wxDefaultCoord, sliderHeight), wxSL_VERTICAL|wxSL_LABELS|wxSL_INVERSE); wxBoxSizer *sliderSizer = new wxBoxSizer( wxHORIZONTAL ); @@ -273,9 +280,10 @@ void wxGenericColourDialog::CreateWidgets() sliderSizer->Add( greenSlider, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 10 ); sliderSizer->Add( blueSlider, 0, wxALIGN_RIGHT | wxALIGN_CENTER_VERTICAL | wxALL, 10 ); - wxBoxSizer *topSizer = new wxBoxSizer( wxVERTICAL ); - topSizer->Add( sliderSizer, 0, wxCENTRE | wxALL, 10 ); +#else + topSizer->Add( 1, sliderHeight, 0, wxCENTRE | wxALL, 15 ); +#endif // wxUSE_SLIDER #if wxUSE_STATLINE // 2) static line @@ -285,7 +293,7 @@ void wxGenericColourDialog::CreateWidgets() // 3) buttons wxSizer *buttonsizer = CreateButtonSizer( wxOK|wxCANCEL ); buttonsizer->Add( new wxButton(this, wxID_ADD_CUSTOM, _("Add to custom colours") ), 0, wxLEFT|wxRIGHT, 10 ); - topSizer->Add( buttonsizer, 0, wxCENTRE | wxALL, 10 ); + topSizer->Add( buttonsizer, 0, wxEXPAND | wxALL, 10 ); SetAutoLayout( true ); SetSizer( topSizer ); @@ -359,8 +367,6 @@ void wxGenericColourDialog::InitializeColours(void) void wxGenericColourDialog::PaintBasicColours(wxDC& dc) { - dc.BeginDrawing(); - int i; for (i = 0; i < 6; i++) { @@ -379,13 +385,10 @@ void wxGenericColourDialog::PaintBasicColours(wxDC& dc) dc.DrawRectangle( x, y, smallRectangleSize.x, smallRectangleSize.y); } } - dc.EndDrawing(); } void wxGenericColourDialog::PaintCustomColours(wxDC& dc) { - dc.BeginDrawing(); - int i; for (i = 0; i < 2; i++) { @@ -405,7 +408,6 @@ void wxGenericColourDialog::PaintCustomColours(wxDC& dc) dc.DrawRectangle( x, y, smallRectangleSize.x, smallRectangleSize.y); } } - dc.EndDrawing(); } void wxGenericColourDialog::PaintHighlight(wxDC& dc, bool draw) @@ -413,8 +415,6 @@ void wxGenericColourDialog::PaintHighlight(wxDC& dc, bool draw) if ( colourSelection < 0 ) return; - dc.BeginDrawing(); - // Number of pixels bigger than the standard rectangle size // for drawing a highlight int deltaX = 2; @@ -454,14 +454,10 @@ void wxGenericColourDialog::PaintHighlight(wxDC& dc, bool draw) dc.SetBrush(*wxTRANSPARENT_BRUSH); dc.DrawRectangle( x, y, (smallRectangleSize.x + (2*deltaX)), (smallRectangleSize.y + (2*deltaY))); } - - dc.EndDrawing(); } void wxGenericColourDialog::PaintCustomColour(wxDC& dc) { - dc.BeginDrawing(); - dc.SetPen(*wxBLACK_PEN); wxBrush *brush = new wxBrush(colourData.m_dataColour, wxSOLID); @@ -472,8 +468,6 @@ void wxGenericColourDialog::PaintCustomColour(wxDC& dc) dc.SetBrush(wxNullBrush); delete brush; - - dc.EndDrawing(); } void wxGenericColourDialog::OnBasicColourClick(int which) @@ -483,13 +477,15 @@ void wxGenericColourDialog::OnBasicColourClick(int which) PaintHighlight(dc, false); whichKind = 1; colourSelection = which; - + +#if wxUSE_SLIDER redSlider->SetValue( standardColours[colourSelection].Red() ); greenSlider->SetValue( standardColours[colourSelection].Green() ); blueSlider->SetValue( standardColours[colourSelection].Blue() ); - - colourData.m_dataColour.Set(standardColours[colourSelection].Red(), - standardColours[colourSelection].Green(), +#endif // wxUSE_SLIDER + + colourData.m_dataColour.Set(standardColours[colourSelection].Red(), + standardColours[colourSelection].Green(), standardColours[colourSelection].Blue()); PaintCustomColour(dc); @@ -502,15 +498,17 @@ void wxGenericColourDialog::OnCustomColourClick(int which) PaintHighlight(dc, false); whichKind = 2; colourSelection = which; - + +#if wxUSE_SLIDER redSlider->SetValue( customColours[colourSelection].Red() ); greenSlider->SetValue( customColours[colourSelection].Green() ); blueSlider->SetValue( customColours[colourSelection].Blue() ); - - colourData.m_dataColour.Set(customColours[colourSelection].Red(), - customColours[colourSelection].Green(), +#endif // wxUSE_SLIDER + + colourData.m_dataColour.Set(customColours[colourSelection].Red(), + customColours[colourSelection].Green(), customColours[colourSelection].Blue()); - + PaintCustomColour(dc); PaintHighlight(dc, true); } @@ -539,15 +537,17 @@ void wxGenericColourDialog::OnAddCustom(wxCommandEvent& WXUNUSED(event)) PaintHighlight(dc, true); } - customColours[colourSelection].Set(colourData.m_dataColour.Red(), - colourData.m_dataColour.Green(), + customColours[colourSelection].Set(colourData.m_dataColour.Red(), + colourData.m_dataColour.Green(), colourData.m_dataColour.Blue()); - + colourData.SetCustomColour(colourSelection, customColours[colourSelection]); PaintCustomColours(dc); } +#if wxUSE_SLIDER + void wxGenericColourDialog::OnRedSlider(wxCommandEvent& WXUNUSED(event)) { if (!redSlider) @@ -578,5 +578,6 @@ void wxGenericColourDialog::OnBlueSlider(wxCommandEvent& WXUNUSED(event)) PaintCustomColour(dc); } -#endif // wxUSE_COLOURDLG && !defined(__WXGTK20__) +#endif // wxUSE_SLIDER +#endif // wxUSE_COLOURDLG && !defined(__WXGTK20__)