#include "wx/layout.h"
#include "wx/dcclient.h"
#include "wx/slider.h"
+#include "wx/sizer.h"
+#endif
+
+#if wxUSE_STATLINE
+ #include "wx/statline.h"
#endif
#include "wx/generic/colrdlgg.h"
_T("WHITE")
};
-wxGenericColourDialog::wxGenericColourDialog(void)
+wxGenericColourDialog::wxGenericColourDialog()
{
dialogParent = NULL;
whichKind = 1;
Create(parent, data);
}
-wxGenericColourDialog::~wxGenericColourDialog(void)
+wxGenericColourDialog::~wxGenericColourDialog()
{
}
return TRUE;
}
-int wxGenericColourDialog::ShowModal(void)
+int wxGenericColourDialog::ShowModal()
{
return wxDialog::ShowModal();
}
PaintHighlight(dc, TRUE);
}
-void wxGenericColourDialog::CalculateMeasurements(void)
+void wxGenericColourDialog::CalculateMeasurements()
{
smallRectangleSize.x = 18;
smallRectangleSize.y = 14;
buttonY = customColoursRect.y + customColoursRect.height + 10;
}
-void wxGenericColourDialog::CreateWidgets(void)
+void wxGenericColourDialog::CreateWidgets()
{
- wxBeginBusyCursor();
-
- wxButton *okButton = new wxButton(this, wxID_OK, _("OK"), wxPoint(okButtonX, buttonY), wxSize(75,-1) );
- int bw, bh;
- okButton->GetSize(&bw, &bh);
+ wxBeginBusyCursor();
- (void) new wxButton(this, wxID_CANCEL, _("Cancel"), wxPoint(okButtonX + bw + 20, buttonY), wxSize(75,-1));
- (void) new wxButton(this, wxID_ADD_CUSTOM, _("Add to custom colours"),
- wxPoint(customButtonX, buttonY));
-
- int sliderX = singleCustomColourRect.x + singleCustomColourRect.width + sectionSpacing;
-#ifdef __X__
- int sliderSpacing = 75;
- int sliderHeight = 160;
+ int sliderX = singleCustomColourRect.x + singleCustomColourRect.width + sectionSpacing;
+#if defined(__WXMOTIF__)
+ int sliderSpacing = 65;
+ int sliderHeight = 160;
#else
- int sliderSpacing = 45;
- int sliderHeight = 160;
+ int sliderSpacing = 45;
+ int sliderHeight = 160;
+#endif
+
+ redSlider = new wxSlider(this, wxID_RED_SLIDER, 0, 0, 255,
+ wxPoint(sliderX, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
+ greenSlider = new wxSlider(this, wxID_GREEN_SLIDER, 0, 0, 255,
+ wxPoint(sliderX + sliderSpacing, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
+ blueSlider = new wxSlider(this, wxID_BLUE_SLIDER, 0, 0, 255,
+ wxPoint(sliderX + 2*sliderSpacing, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
+
+ wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
+
+ // 1) space for explicitly layouted controls
+ topsizer->Add( sliderX + 3*sliderSpacing, sliderHeight+25 );
+
+#if wxUSE_STATLINE
+ // 2) static line
+ topsizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 );
#endif
- redSlider = new wxSlider(this, wxID_RED_SLIDER, 0, 0, 255,
- wxPoint(sliderX, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
- greenSlider = new wxSlider(this, wxID_GREEN_SLIDER, 0, 0, 255,
- wxPoint(sliderX + sliderSpacing, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
- blueSlider = new wxSlider(this, wxID_BLUE_SLIDER, 0, 0, 255,
- wxPoint(sliderX + 2*sliderSpacing, 10), wxSize(-1, sliderHeight), wxVERTICAL|wxSL_LABELS);
+ // 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 );
- SetClientSize(sliderX + 3*sliderSpacing, buttonY + 40);
- okButton->SetDefault();
+ SetAutoLayout( TRUE );
+ SetSizer( topsizer );
+
+ topsizer->SetSizeHints( this );
+ topsizer->Fit( this );
- Centre(wxBOTH);
+ Centre( wxBOTH );
- wxEndBusyCursor();
+ wxEndBusyCursor();
}
void wxGenericColourDialog::InitializeColours(void)