]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/picker.cpp
added wx{Colour|File|Dir|Font}PickerCtrl (patch 1472329 by Francesco)
[wxWidgets.git] / samples / widgets / picker.cpp
diff --git a/samples/widgets/picker.cpp b/samples/widgets/picker.cpp
new file mode 100644 (file)
index 0000000..4569a62
--- /dev/null
@@ -0,0 +1,577 @@
+/////////////////////////////////////////////////////////////////////////////
+// Program:     wxWidgets Widgets Sample
+// Name:        picker.cpp
+// Purpose:     Part of the widgets sample showing wx*PickerCtrl
+// Author:      Francesco Montorsi
+// Created:     22/4/2006
+// Id:          $Id$
+// Copyright:   (c) 2006 Francesco Montorsi
+// License:     wxWindows license
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx/wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_COLOURPICKERCTRL || wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL || wxUSE_FONTPICKERCTRL
+
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+#endif
+
+#include "wx/artprov.h"
+#include "wx/sizer.h"
+#include "wx/stattext.h"
+#include "wx/checkbox.h"
+#include "wx/imaglist.h"
+
+#include "wx/clrpicker.h"
+#include "wx/filepicker.h"
+#include "wx/fontpicker.h"
+
+#include "widgets.h"
+
+#include "icons/picker.xpm"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// control ids
+enum
+{
+    PickerPage_Reset = wxID_HIGHEST,
+
+#if wxUSE_COLOURPICKERCTRL
+    PickerPage_Colour,
+#endif
+#if wxUSE_FILEPICKERCTRL
+    PickerPage_File,
+#endif
+#if wxUSE_DIRPICKERCTRL
+    PickerPage_Dir,
+#endif
+#if wxUSE_FONTPICKERCTRL
+    PickerPage_Font
+#endif
+};
+
+
+// ----------------------------------------------------------------------------
+// PickerWidgetsPage
+// ----------------------------------------------------------------------------
+
+class PickerWidgetsPage : public WidgetsPage
+{
+public:
+    PickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
+    virtual ~PickerWidgetsPage(){};
+
+    virtual wxControl *GetWidget() const { /*return m_fontPicker;*/ return NULL; }
+    virtual void RecreateWidget() { RecreateAllPickers(); }
+
+protected:
+    enum PickerKind
+    {
+        Picker_None = -1,
+        Picker_Colour,
+        Picker_File,
+        Picker_Dir,
+        Picker_Font
+    };
+
+    // called only once at first construction
+    void CreatePickers(PickerKind picker);
+
+    // called to recreate an existing control
+    void RecreatePicker(PickerKind picker);
+
+    // recreate all existing picker controls
+    void RecreateAllPickers();
+
+    // restore the checkboxes state to the initial values
+    void Reset();
+
+    // get the initial style for the picker of the given kind
+    long GetPickerStyle(PickerKind kind);
+
+
+    // the pickers and the relative event handlers
+#if wxUSE_COLOURPICKERCTRL
+    wxColourPickerCtrl *m_clrPicker;
+    void OnColourChange(wxColourPickerEvent &ev);
+#endif
+#if wxUSE_FILEPICKERCTRL
+    wxFilePickerCtrl *m_filePicker;
+    void OnFileChange(wxFileDirPickerEvent &ev);
+#endif
+#if wxUSE_DIRPICKERCTRL
+    wxDirPickerCtrl *m_dirPicker;
+    void OnDirChange(wxFileDirPickerEvent &ev);
+#endif
+#if wxUSE_FONTPICKERCTRL
+    wxFontPickerCtrl *m_fontPicker;
+    void OnFontChange(wxFontPickerEvent &ev);
+#endif
+    void OnCheckBox(wxCommandEvent &ev);
+    void OnButtonReset(wxCommandEvent &ev);
+
+
+    // other controls
+    // --------------
+
+    wxCheckBox *m_chkColourTextCtrl,
+               *m_chkColourShowLabel;
+
+    wxCheckBox *m_chkFileTextCtrl,
+               *m_chkFileOverwritePrompt,
+               *m_chkFileMustExist,
+               *m_chkFileChangeDir;
+
+    wxCheckBox *m_chkDirTextCtrl,
+               *m_chkDirChangeDir,
+               *m_chkDirMustExist;
+
+    wxCheckBox *m_chkFontTextCtrl,
+               *m_chkFontDescAsLabel,
+               *m_chkFontUseFontForLabel;
+
+    wxFlexGridSizer *m_sizerPicker;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_WIDGETS_PAGE(PickerWidgetsPage)
+};
+
+// ----------------------------------------------------------------------------
+// event tables
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(PickerWidgetsPage, WidgetsPage)
+    EVT_BUTTON(PickerPage_Reset, PickerWidgetsPage::OnButtonReset)
+
+#if wxUSE_COLOURPICKERCTRL
+    EVT_COLOURPICKER_CHANGED(PickerPage_Colour, PickerWidgetsPage::OnColourChange)
+#endif
+#if wxUSE_FILEPICKERCTRL
+    EVT_FILEPICKER_CHANGED(PickerPage_File, PickerWidgetsPage::OnFileChange)
+#endif
+#if wxUSE_DIRPICKERCTRL
+    EVT_DIRPICKER_CHANGED(PickerPage_Dir, PickerWidgetsPage::OnDirChange)
+#endif
+#if wxUSE_FONTPICKERCTRL
+    EVT_FONTPICKER_CHANGED(PickerPage_Font, PickerWidgetsPage::OnFontChange)
+#endif
+
+    EVT_CHECKBOX(wxID_ANY, PickerWidgetsPage::OnCheckBox)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+IMPLEMENT_WIDGETS_PAGE(PickerWidgetsPage, _T("Pickers"), PICKER_CTRLS);
+
+PickerWidgetsPage::PickerWidgetsPage(WidgetsBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book, imaglist, picker_xpm)
+{
+    imaglist->Add(wxBitmap(picker_xpm));
+
+    // left pane
+    wxSizer *boxleft = new wxBoxSizer(wxVERTICAL);
+
+#if wxUSE_COLOURPICKERCTRL
+    wxStaticBoxSizer *clrbox = new wxStaticBoxSizer(wxVERTICAL, this, _T("&ColourPicker style"));
+    m_chkColourTextCtrl = CreateCheckBoxAndAddToSizer(clrbox, _T("With textctrl"), false);
+    m_chkColourShowLabel = CreateCheckBoxAndAddToSizer(clrbox, _T("With label"), false);
+    boxleft->Add(clrbox, 0, wxALL|wxGROW, 5);
+    boxleft->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+    wxStaticBoxSizer *filebox = new wxStaticBoxSizer(wxVERTICAL, this, _T("&FilePicker style"));
+    m_chkFileTextCtrl = CreateCheckBoxAndAddToSizer(filebox, _T("With textctrl"), false);
+    m_chkFileOverwritePrompt = CreateCheckBoxAndAddToSizer(filebox, _T("Overwrite prompt"), false);
+    m_chkFileMustExist = CreateCheckBoxAndAddToSizer(filebox, _T("File must exist"), false);
+    m_chkFileChangeDir = CreateCheckBoxAndAddToSizer(filebox, _T("Change working dir"), false);
+    boxleft->Add(filebox, 0, wxALL|wxGROW, 5);
+    boxleft->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+    wxStaticBoxSizer *dirbox = new wxStaticBoxSizer(wxVERTICAL, this, _T("&DirPicker style"));
+    m_chkDirTextCtrl = CreateCheckBoxAndAddToSizer(dirbox, _T("With textctrl"), false);
+    m_chkDirMustExist = CreateCheckBoxAndAddToSizer(dirbox, _T("Dir must exist"), false);
+    m_chkDirChangeDir = CreateCheckBoxAndAddToSizer(dirbox, _T("Change working dir"), false);
+    boxleft->Add(dirbox, 0, wxALL|wxGROW, 5);
+    boxleft->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+    wxStaticBoxSizer *fontbox = new wxStaticBoxSizer(wxVERTICAL, this, _T("&FontPicker style"));
+    m_chkFontTextCtrl = CreateCheckBoxAndAddToSizer(fontbox, _T("With textctrl"));
+    m_chkFontDescAsLabel = CreateCheckBoxAndAddToSizer(fontbox, _T("Font desc as btn label"));
+    m_chkFontUseFontForLabel = CreateCheckBoxAndAddToSizer(fontbox, _T("Use font for label"), false);
+    boxleft->Add(fontbox, 0, wxALL|wxGROW, 5);
+#endif // wxUSE_FONTPICKERCTRL
+
+    boxleft->Add(new wxButton(this, PickerPage_Reset, _T("&Reset")),
+                 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
+
+    Reset();    // set checkboxes state
+
+    // create pickers
+    m_clrPicker = NULL;
+    m_filePicker = NULL;
+    m_fontPicker = NULL;
+    m_dirPicker = NULL;
+
+    int nrows = 0;
+#if wxUSE_COLOURPICKERCTRL
+    CreatePickers(Picker_Colour);
+    nrows++;
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+    CreatePickers(Picker_File);
+    nrows++;
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+    CreatePickers(Picker_Dir);
+    nrows++;
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+    CreatePickers(Picker_Font);
+    nrows++;
+#endif // wxUSE_FONTPICKERCTRL
+
+    m_sizerPicker = new wxFlexGridSizer(nrows, 2, 0, 0);  // 4 rows x 2 columns
+#if wxUSE_COLOURPICKERCTRL
+    m_sizerPicker->Add(new wxStaticText(this, wxID_ANY, wxT("wxColourPickerCtrl:")),
+                       0, wxALIGN_CENTER | wxALL, 5);
+    m_sizerPicker->Add(m_clrPicker, 1, wxGROW | wxALL, 5);
+#endif
+#if wxUSE_FILEPICKERCTRL
+    m_sizerPicker->Add(new wxStaticText(this, wxID_ANY, wxT("wxFilePickerCtrl:")),
+                       0, wxALIGN_CENTER | wxALL, 5);
+    m_sizerPicker->Add(m_filePicker, 1, wxGROW | wxALL, 5);
+#endif
+#if wxUSE_DIRPICKERCTRL
+    m_sizerPicker->Add(new wxStaticText(this, wxID_ANY, wxT("wxDirPickerCtrl:")),
+                       0, wxALIGN_CENTER | wxALL, 5);
+    m_sizerPicker->Add(m_dirPicker, 1, wxGROW | wxALL, 5);
+#endif
+#if wxUSE_FONTPICKERCTRL
+    m_sizerPicker->Add(new wxStaticText(this, wxID_ANY, wxT("wxFontPickerCtrl:")),
+                       0, wxALIGN_CENTER | wxALL, 5);
+    m_sizerPicker->Add(m_fontPicker, 1, wxGROW | wxALL, 5);
+#endif
+
+    m_sizerPicker->AddGrowableCol(1, 3);
+
+    // right pane
+    wxStaticBoxSizer *
+        boxright = new wxStaticBoxSizer(wxVERTICAL, this, _T("Pickers"));
+    boxright->Add(m_sizerPicker, 1, wxGROW | wxALL, 5);
+
+    // global pane
+    wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
+    sz->Add(boxleft, 0, wxGROW|wxALL, 5);
+    sz->Add(boxright, 1, wxGROW|wxALL, 5);
+
+    SetSizerAndFit(sz);
+}
+
+void PickerWidgetsPage::CreatePickers(PickerKind picker)
+{
+    switch ( picker )
+    {
+#if wxUSE_COLOURPICKERCTRL
+        case Picker_Colour:
+            delete m_clrPicker;
+
+            m_clrPicker = new wxColourPickerCtrl(this, PickerPage_Colour, *wxRED,
+                                                 wxDefaultPosition, wxDefaultSize,
+                                                 GetPickerStyle(Picker_Colour));
+            break;
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+        case Picker_File:
+            delete m_filePicker;
+
+            // pass an empty string as initial file
+            m_filePicker = new wxFilePickerCtrl(this, PickerPage_File,
+                                                wxEmptyString,
+                                                wxT("Hello!"), wxT("*"),
+                                                wxDefaultPosition, wxDefaultSize,
+                                                GetPickerStyle(Picker_File));
+            break;
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+        case Picker_Dir:
+            delete m_dirPicker;
+
+            m_dirPicker = new wxDirPickerCtrl(this, PickerPage_Dir,
+                                              wxGetHomeDir(), wxT("Hello!"),
+                                              wxDefaultPosition, wxDefaultSize,
+                                              GetPickerStyle(Picker_Dir));
+            break;
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+        case Picker_Font:
+            delete m_fontPicker;
+
+            m_fontPicker = new wxFontPickerCtrl(this, PickerPage_Font,
+                                                *wxSWISS_FONT,
+                                                wxDefaultPosition, wxDefaultSize,
+                                                GetPickerStyle(Picker_Font));
+            break;
+#endif // wxUSE_FONTPICKERCTRL
+
+        default:
+            wxFAIL_MSG( _T("unknown picker kind") );
+    }
+}
+
+long PickerWidgetsPage::GetPickerStyle(PickerKind picker)
+{
+    long style = 0;
+
+    switch (picker)
+    {
+#if wxUSE_COLOURPICKERCTRL
+        case Picker_Colour:
+            if ( m_chkColourTextCtrl->GetValue() )
+                style |= wxCLRP_USE_TEXTCTRL;
+
+            if ( m_chkColourShowLabel->GetValue() )
+                style |= wxCLRP_SHOW_LABEL;
+
+            break;
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+        case Picker_File:
+            if ( m_chkFileTextCtrl->GetValue() )
+                style |= wxFLP_USE_TEXTCTRL;
+
+            if ( m_chkFileOverwritePrompt->GetValue() )
+                style |= wxFLP_OVERWRITE_PROMPT;
+
+            if ( m_chkFileMustExist->GetValue() )
+                style |= wxFLP_FILE_MUST_EXIST;
+
+            if ( m_chkFileChangeDir->GetValue() )
+                style |= wxFLP_CHANGE_DIR;
+
+            break;
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+        case Picker_Dir:
+            if ( m_chkDirTextCtrl->GetValue() )
+                style |= wxDIRP_USE_TEXTCTRL;
+
+            if ( m_chkDirMustExist->GetValue() )
+                style |= wxDIRP_DIR_MUST_EXIST;
+
+            if ( m_chkDirChangeDir->GetValue() )
+                style |= wxDIRP_CHANGE_DIR;
+
+            break;
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+        case Picker_Font:
+            if ( m_chkFontTextCtrl->GetValue() )
+                style |= wxFNTP_USE_TEXTCTRL;
+
+            if ( m_chkFontUseFontForLabel->GetValue() )
+                style |= wxFNTP_USEFONT_FOR_LABEL;
+
+            if ( m_chkFontDescAsLabel->GetValue() )
+                 style |= wxFNTP_FONTDESC_AS_LABEL;
+
+            break;
+#endif // wxUSE_FONTPICKERCTRL
+
+        default:
+            wxFAIL_MSG( _T("unknown picker kind") );
+    }
+
+    return style;
+}
+
+void PickerWidgetsPage::RecreatePicker(PickerKind picker)
+{
+    switch ( picker )
+    {
+#if wxUSE_COLOURPICKERCTRL
+        case Picker_Colour:
+            m_sizerPicker->Remove(1);
+            CreatePickers(Picker_Colour);
+            m_sizerPicker->Insert(1, m_clrPicker, 1, wxGROW|wxALL, 5);
+            break;
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+        case Picker_File:
+            m_sizerPicker->Remove(3);
+            CreatePickers(Picker_File);
+            m_sizerPicker->Insert(3, m_filePicker, 1, wxGROW|wxALL, 5);
+            break;
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+        case Picker_Dir:
+            m_sizerPicker->Remove(5);
+            CreatePickers(Picker_Dir);
+            m_sizerPicker->Insert(5, m_dirPicker, 1, wxGROW|wxALL, 5);
+            break;
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+        case Picker_Font:
+            wxASSERT(m_sizerPicker->Remove(7));
+            CreatePickers(Picker_Font);
+            m_sizerPicker->Insert(7, m_fontPicker, 1, wxGROW|wxALL, 5);
+            break;
+#endif // wxUSE_FONTPICKERCTRL
+
+        default:
+            wxFAIL_MSG( _T("unknown picker kind") );
+    }
+
+    m_sizerPicker->Layout();
+}
+
+void PickerWidgetsPage::RecreateAllPickers()
+{
+#if wxUSE_COLOURPICKERCTRL
+    RecreatePicker(Picker_Colour);
+#endif // wxUSE_COLOURPICKERCTRL
+
+#if wxUSE_FILEPICKERCTRL
+    RecreatePicker(Picker_File);
+#endif // wxUSE_FILEPICKERCTRL
+
+#if wxUSE_DIRPICKERCTRL
+    RecreatePicker(Picker_Dir);
+#endif // wxUSE_DIRPICKERCTRL
+
+#if wxUSE_FONTPICKERCTRL
+    RecreatePicker(Picker_Font);
+#endif // wxUSE_FONTPICKERCTRL
+}
+
+void PickerWidgetsPage::Reset()
+{
+#if wxUSE_COLOURPICKERCTRL
+    m_chkColourTextCtrl->SetValue((wxCLRP_DEFAULT_STYLE & wxCLRP_USE_TEXTCTRL) != 0);
+    m_chkColourShowLabel->SetValue((wxCLRP_DEFAULT_STYLE & wxCLRP_SHOW_LABEL) != 0);
+#endif
+
+#if wxUSE_FILEPICKERCTRL
+    m_chkFileTextCtrl->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_USE_TEXTCTRL) != 0);
+    m_chkFileOverwritePrompt->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_OVERWRITE_PROMPT) != 0);
+    m_chkFileMustExist->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_FILE_MUST_EXIST) != 0);
+    m_chkFileChangeDir->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_CHANGE_DIR) != 0);
+#endif
+
+#if wxUSE_DIRPICKERCTRL
+    m_chkDirTextCtrl->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_USE_TEXTCTRL) != 0);
+    m_chkDirMustExist->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_DIR_MUST_EXIST) != 0);
+    m_chkDirChangeDir->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_CHANGE_DIR) != 0);
+#endif
+
+#if wxUSE_FONTPICKERCTRL
+    m_chkFontTextCtrl->SetValue((wxFNTP_DEFAULT_STYLE & wxFNTP_USE_TEXTCTRL) != 0);
+    m_chkFontUseFontForLabel->SetValue((wxFNTP_DEFAULT_STYLE & wxFNTP_USEFONT_FOR_LABEL) != 0);
+    m_chkFontDescAsLabel->SetValue((wxFNTP_DEFAULT_STYLE & wxFNTP_FONTDESC_AS_LABEL) != 0);
+#endif
+}
+
+
+// ----------------------------------------------------------------------------
+// event handlers
+// ----------------------------------------------------------------------------
+
+void PickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
+{
+    Reset();
+
+    RecreateAllPickers();
+}
+
+#if wxUSE_COLOURPICKERCTRL
+void PickerWidgetsPage::OnColourChange(wxColourPickerEvent& event)
+{
+    wxLogMessage(wxT("The colour changed to '%s' !"),
+                 event.GetColour().GetAsString(wxC2S_CSS_SYNTAX).c_str());
+}
+#endif
+#if wxUSE_FILEPICKERCTRL
+void PickerWidgetsPage::OnFileChange(wxFileDirPickerEvent& event)
+{
+    wxLogMessage(wxT("The file changed to '%s' ! The current working directory is '%s'"),
+                 event.GetPath().c_str(), wxGetCwd().c_str());
+}
+#endif
+#if wxUSE_DIRPICKERCTRL
+void PickerWidgetsPage::OnDirChange(wxFileDirPickerEvent& event)
+{
+    wxLogMessage(wxT("The directory changed to '%s' ! The current working directory is '%s'"),
+                 event.GetPath().c_str(), wxGetCwd().c_str());
+}
+#endif
+#if wxUSE_FONTPICKERCTRL
+void PickerWidgetsPage::OnFontChange(wxFontPickerEvent& event)
+{
+    wxLogMessage(wxT("The font changed to '%s' with size %d !"),
+                 event.GetFont().GetFaceName().c_str(), event.GetFont().GetPointSize());
+}
+#endif
+
+void PickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
+{
+    if (event.GetEventObject() == m_chkColourTextCtrl ||
+        event.GetEventObject() == m_chkColourShowLabel)
+        RecreatePicker(Picker_Colour);
+
+    if (event.GetEventObject() == m_chkFileTextCtrl ||
+        event.GetEventObject() == m_chkFileOverwritePrompt ||
+        event.GetEventObject() == m_chkFileMustExist ||
+        event.GetEventObject() == m_chkFileChangeDir)
+        RecreatePicker(Picker_File);
+
+    if (event.GetEventObject() == m_chkDirTextCtrl ||
+        event.GetEventObject() == m_chkDirChangeDir ||
+        event.GetEventObject() == m_chkDirMustExist)
+        RecreatePicker(Picker_Dir);
+
+    if (event.GetEventObject() == m_chkFontTextCtrl ||
+        event.GetEventObject() == m_chkFontDescAsLabel ||
+        event.GetEventObject() == m_chkFontUseFontForLabel)
+        RecreatePicker(Picker_Font);
+}
+
+#endif  // wxUSE_COLOURPICKERCTRL || wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL || wxUSE_FONTPICKERCTRL