|
From: Emilien K. <cur...@us...> - 2005-01-06 16:21:00
|
Update of /cvsroot/wxdevcenter/StdPlugin/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7193/src Modified Files: Controls.cpp Log Message: Ajout du contrôle de couleur Index: Controls.cpp =================================================================== RCS file: /cvsroot/wxdevcenter/StdPlugin/src/Controls.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Controls.cpp 6 Jan 2005 15:07:48 -0000 1.2 --- Controls.cpp 6 Jan 2005 16:20:47 -0000 1.3 *************** *** 9,12 **** --- 9,16 ---- #include <wxDevCenter/StdPlugin/Controls.h> + + #include <wx/colordlg.h> + + /** * Implémentation de la classe wxSliderSpinCtrl *************** *** 95,96 **** --- 99,156 ---- event.Skip(); } + + + /** + * Implémentation de la classe wxColourCtrl + */ + + wxColourCtrl::wxColourCtrl(wxWindow* parent, wxWindowID id, unsigned char red, unsigned char green, unsigned char blue, const wxPoint& point, const wxSize& size, long style): + wxControl(parent, id, point, size, style) + { + SetColour(wxColour(red, green, blue)); + } + + wxColourCtrl::wxColourCtrl(wxWindow* parent, wxWindowID id, wxColour col, const wxPoint& point, const wxSize& size, long style): + wxControl(parent, id, point, size, style) + { + SetColour(col); + } + + BEGIN_EVENT_TABLE(wxColourCtrl, wxControl) + EVT_LEFT_DCLICK(wxColourCtrl::OnMouseDoubleClick) + EVT_LEFT_UP(wxColourCtrl::OnMouseClick) + END_EVENT_TABLE() + + void wxColourCtrl::SetColour(wxColour col) + { + if(col.Ok()) + SetBackgroundColour(col); + Refresh(); + } + + wxColour wxColourCtrl::GetColour()const + { + return GetBackgroundColour(); + } + + wxColour wxColourCtrl::PickColour() + { + wxColour col = wxGetColourFromUser(this, GetColour()); + if(col.Ok()) + SetColour(col); + return col; + } + + void wxColourCtrl::OnMouseClick(wxMouseEvent& WXUNUSED(event)) + { + wxCommandEvent evt(wxEVT_COMMAND_LEFT_CLICK, GetId()); + ProcessEvent(evt); + } + + void wxColourCtrl::OnMouseDoubleClick(wxMouseEvent& WXUNUSED(event)) + { + if((GetWindowStyle()&wxCOL_PICK_ON_DBLCLIC)!=0) + PickColour(); + wxCommandEvent evt(wxEVT_COMMAND_LEFT_DCLICK, GetId()); + ProcessEvent(evt); + } |