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}}}
\membersection{wxColourDialog::wxColourDialog}
\membersection{wxColourDialog::wxColourDialog}\label{wxcolourdialogwxcolourdialog}
\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.
\membersection{wxColourDialog::Create}
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxColourData* }{data = NULL}}
Same as \helpref{constructor}{wxcolourdialogwxcolourdialog}.
\membersection{wxColourDialog::GetColourData}
\func{wxColourData\&}{GetColourData}{\void}

View File

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

View File

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