fixed (and documented) wxColourDialog::Create()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_2_BRANCH@7649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-06-28 11:12:40 +00:00
parent 0c3e16933d
commit 2bde25b093
3 changed files with 87 additions and 70 deletions

View File

@@ -19,7 +19,7 @@ This class represents the colour chooser dialog.
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxColourDialog::wxColourDialog} \membersection{wxColourDialog::wxColourDialog}\label{wxcolourdialogwxcolourdialog}
\func{}{wxColourDialog}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}} \func{}{wxColourDialog}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}}
@@ -36,6 +36,12 @@ data, which will be copied to the colour dialog's colour data.
Destructor. Destructor.
\membersection{wxColourDialog::Create}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}}
Same as \helpref{constructor}{wxcolourdialogwxcolourdialog}.
\membersection{wxColourDialog::GetColourData} \membersection{wxColourDialog::GetColourData}
\func{wxColourData\&}{GetColourData}{\void} \func{wxColourData\&}{GetColourData}{\void}

View File

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: colrdlgg.h // Name: wx/generic/colrdlgg.h
// Purpose: wxGenericColourDialog // Purpose: wxGenericColourDialog
// Author: Julian Smart // Author: Julian Smart
// Modified by: // Modified by:
@@ -27,88 +27,91 @@
#define wxID_BLUE_SLIDER 3003 #define wxID_BLUE_SLIDER 3003
class WXDLLEXPORT wxSlider; class WXDLLEXPORT wxSlider;
class WXDLLEXPORT wxGenericColourDialog: public wxDialog class WXDLLEXPORT wxGenericColourDialog : public wxDialog
{ {
DECLARE_DYNAMIC_CLASS(wxGenericColourDialog) public:
protected: wxGenericColourDialog();
wxColourData colourData; wxGenericColourDialog(wxWindow *parent,
wxWindow *dialogParent; wxColourData *data = (wxColourData *) NULL);
virtual ~wxGenericColourDialog();
// Area reserved for grids of colours bool Create(wxWindow *parent, wxColourData *data = (wxColourData *) NULL);
wxRect standardColoursRect;
wxRect customColoursRect;
wxRect singleCustomColourRect;
// Size of each colour rectangle wxColourData &GetColourData() { return colourData; }
wxPoint smallRectangleSize;
// For single customizable colour virtual int ShowModal();
wxPoint customRectangleSize;
// Grid spacing (between rectangles) // Internal functions
int gridSpacing; void OnMouseEvent(wxMouseEvent& event);
void OnPaint(wxPaintEvent& event);
// Section spacing (between left and right halves of dialog box) virtual void CalculateMeasurements();
int sectionSpacing; virtual void CreateWidgets();
virtual void InitializeColours();
// 48 'standard' colours virtual void PaintBasicColours(wxDC& dc);
wxColour standardColours[48]; virtual void PaintCustomColours(wxDC& dc);
virtual void PaintCustomColour(wxDC& dc);
virtual void PaintHighlight(wxDC& dc, bool draw);
// 16 'custom' colours virtual void OnBasicColourClick(int which);
wxColour customColours[16]; virtual void OnCustomColourClick(int which);
// One single custom colour (use sliders) void OnAddCustom(wxCommandEvent& event);
wxColour singleCustomColour;
// Which colour is selected? An index into one of the two areas. void OnRedSlider(wxCommandEvent& event);
int colourSelection; void OnGreenSlider(wxCommandEvent& event);
int whichKind; // 1 for standard colours, 2 for custom colours, void OnBlueSlider(wxCommandEvent& event);
wxSlider *redSlider; void OnCloseWindow(wxCloseEvent& event);
wxSlider *greenSlider;
wxSlider *blueSlider;
int buttonY; protected:
wxColourData colourData;
wxWindow *dialogParent;
int okButtonX; // Area reserved for grids of colours
int customButtonX; wxRect standardColoursRect;
wxRect customColoursRect;
wxRect singleCustomColourRect;
// static bool colourDialogCancelled; // Size of each colour rectangle
public: wxPoint smallRectangleSize;
wxGenericColourDialog(void);
wxGenericColourDialog(wxWindow *parent, wxColourData *data = (wxColourData *) NULL);
~wxGenericColourDialog(void);
bool Create(wxWindow *parent, wxColourData *data = (wxColourData *) NULL); // For single customizable colour
wxPoint customRectangleSize;
int ShowModal(void); // Grid spacing (between rectangles)
wxColourData &GetColourData(void) { return colourData; } int gridSpacing;
// Internal functions // Section spacing (between left and right halves of dialog box)
void OnMouseEvent(wxMouseEvent& event); int sectionSpacing;
void OnPaint(wxPaintEvent& event);
virtual void CalculateMeasurements(void); // 48 'standard' colours
virtual void CreateWidgets(void); wxColour standardColours[48];
virtual void InitializeColours(void);
virtual void PaintBasicColours(wxDC& dc);
virtual void PaintCustomColours(wxDC& dc);
virtual void PaintCustomColour(wxDC& dc);
virtual void PaintHighlight(wxDC& dc, bool draw);
virtual void OnBasicColourClick(int which); // 16 'custom' colours
virtual void OnCustomColourClick(int which); wxColour customColours[16];
void OnAddCustom(wxCommandEvent& event); // One single custom colour (use sliders)
wxColour singleCustomColour;
void OnRedSlider(wxCommandEvent& event); // Which colour is selected? An index into one of the two areas.
void OnGreenSlider(wxCommandEvent& event); int colourSelection;
void OnBlueSlider(wxCommandEvent& event); int whichKind; // 1 for standard colours, 2 for custom colours,
void OnCloseWindow(wxCloseEvent& event); wxSlider *redSlider;
wxSlider *greenSlider;
wxSlider *blueSlider;
DECLARE_EVENT_TABLE() int buttonY;
int okButtonX;
int customButtonX;
// static bool colourDialogCancelled;
DECLARE_EVENT_TABLE()
DECLARE_DYNAMIC_CLASS(wxGenericColourDialog)
}; };
/* This shouldn't be necessary, we have a #define in wx/colordlg.h. /* This shouldn't be necessary, we have a #define in wx/colordlg.h.

View File

@@ -121,8 +121,11 @@ wxGenericColourDialog::wxGenericColourDialog()
colourSelection = 0; colourSelection = 0;
} }
wxGenericColourDialog::wxGenericColourDialog(wxWindow *parent, wxColourData *data): wxGenericColourDialog::wxGenericColourDialog(wxWindow *parent,
wxDialog(parent, -1, wxT("Colour"), wxPoint(0, 0), wxSize(900, 900), wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL) wxColourData *data)
: wxDialog(parent, -1, wxT("Colour"),
wxPoint(0, 0), wxSize(900, 900),
wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL)
{ {
whichKind = 1; whichKind = 1;
colourSelection = 0; colourSelection = 0;
@@ -140,16 +143,21 @@ void wxGenericColourDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
bool wxGenericColourDialog::Create(wxWindow *parent, wxColourData *data) bool wxGenericColourDialog::Create(wxWindow *parent, wxColourData *data)
{ {
dialogParent = parent; if ( !wxDialog::Create(parent, -1, wxT("Colour"),
wxPoint(0, 0), wxSize(900, 900),
wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL) )
return FALSE;
if (data) dialogParent = parent;
colourData = *data;
InitializeColours(); if (data)
CalculateMeasurements(); colourData = *data;
CreateWidgets();
return TRUE; InitializeColours();
CalculateMeasurements();
CreateWidgets();
return TRUE;
} }
int wxGenericColourDialog::ShowModal() int wxGenericColourDialog::ShowModal()