#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"
*/
#define NUM_COLS 48
-static wxString wxColourDialogNames[NUM_COLS]={_T("ORANGE"),
- _T("GOLDENROD"),
- _T("WHEAT"),
- _T("SPRING GREEN"),
- _T("SKY BLUE"),
- _T("SLATE BLUE"),
- _T("MEDIUM VIOLET RED"),
- _T("PURPLE"),
-
- _T("RED"),
- _T("YELLOW"),
- _T("MEDIUM SPRING GREEN"),
- _T("PALE GREEN"),
- _T("CYAN"),
- _T("LIGHT STEEL BLUE"),
- _T("ORCHID"),
- _T("LIGHT MAGENTA"),
-
- _T("BROWN"),
- _T("YELLOW"),
- _T("GREEN"),
- _T("CADET BLUE"),
- _T("MEDIUM BLUE"),
- _T("MAGENTA"),
- _T("MAROON"),
- _T("ORANGE RED"),
-
- _T("FIREBRICK"),
- _T("CORAL"),
- _T("FOREST GREEN"),
- _T("AQUAMARINE"),
- _T("BLUE"),
- _T("NAVY"),
- _T("THISTLE"),
- _T("MEDIUM VIOLET RED"),
-
- _T("INDIAN RED"),
- _T("GOLD"),
- _T("MEDIUM SEA GREEN"),
- _T("MEDIUM BLUE"),
- _T("MIDNIGHT BLUE"),
- _T("GREY"),
- _T("PURPLE"),
- _T("KHAKI"),
-
- _T("BLACK"),
- _T("MEDIUM FOREST GREEN"),
- _T("KHAKI"),
- _T("DARK GREY"),
- _T("SEA GREEN"),
- _T("LIGHT GREY"),
- _T("MEDIUM SLATE BLUE"),
- _T("WHITE")
+static wxString wxColourDialogNames[NUM_COLS]={wxT("ORANGE"),
+ wxT("GOLDENROD"),
+ wxT("WHEAT"),
+ wxT("SPRING GREEN"),
+ wxT("SKY BLUE"),
+ wxT("SLATE BLUE"),
+ wxT("MEDIUM VIOLET RED"),
+ wxT("PURPLE"),
+
+ wxT("RED"),
+ wxT("YELLOW"),
+ wxT("MEDIUM SPRING GREEN"),
+ wxT("PALE GREEN"),
+ wxT("CYAN"),
+ wxT("LIGHT STEEL BLUE"),
+ wxT("ORCHID"),
+ wxT("LIGHT MAGENTA"),
+
+ wxT("BROWN"),
+ wxT("YELLOW"),
+ wxT("GREEN"),
+ wxT("CADET BLUE"),
+ wxT("MEDIUM BLUE"),
+ wxT("MAGENTA"),
+ wxT("MAROON"),
+ wxT("ORANGE RED"),
+
+ wxT("FIREBRICK"),
+ wxT("CORAL"),
+ wxT("FOREST GREEN"),
+ wxT("AQUAMARINE"),
+ wxT("BLUE"),
+ wxT("NAVY"),
+ wxT("THISTLE"),
+ wxT("MEDIUM VIOLET RED"),
+
+ wxT("INDIAN RED"),
+ wxT("GOLD"),
+ wxT("MEDIUM SEA GREEN"),
+ wxT("MEDIUM BLUE"),
+ wxT("MIDNIGHT BLUE"),
+ wxT("GREY"),
+ wxT("PURPLE"),
+ wxT("KHAKI"),
+
+ wxT("BLACK"),
+ wxT("MEDIUM FOREST GREEN"),
+ wxT("KHAKI"),
+ wxT("DARK GREY"),
+ wxT("SEA GREEN"),
+ wxT("LIGHT GREY"),
+ wxT("MEDIUM SLATE BLUE"),
+ wxT("WHITE")
};
-wxGenericColourDialog::wxGenericColourDialog(void)
+wxGenericColourDialog::wxGenericColourDialog()
{
dialogParent = NULL;
whichKind = 1;
}
wxGenericColourDialog::wxGenericColourDialog(wxWindow *parent, wxColourData *data):
- wxDialog(parent, -1, "Colour", wxPoint(0, 0), wxSize(900, 900), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
+ wxDialog(parent, -1, wxT("Colour"), wxPoint(0, 0), wxSize(900, 900), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL)
{
whichKind = 1;
colourSelection = 0;
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)