]> git.saurik.com Git - wxWidgets.git/commitdiff
[ 1509599 ] 'Split pickers page in widgets sample' with more icons and rebaking.
authorWłodzimierz Skiba <abx@abx.art.pl>
Wed, 21 Jun 2006 10:46:00 +0000 (10:46 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Wed, 21 Jun 2006 10:46:00 +0000 (10:46 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39811 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

18 files changed:
samples/widgets/Makefile.in
samples/widgets/clrpicker.cpp [new file with mode: 0644]
samples/widgets/dirpicker.cpp [new file with mode: 0644]
samples/widgets/filepicker.cpp [new file with mode: 0644]
samples/widgets/fontpicker.cpp [new file with mode: 0644]
samples/widgets/icons/clrpicker.xpm [new file with mode: 0644]
samples/widgets/icons/datepick.xpm
samples/widgets/icons/dirpicker.xpm [new file with mode: 0644]
samples/widgets/icons/filepicker.xpm [new file with mode: 0644]
samples/widgets/icons/fontpicker.xpm [new file with mode: 0644]
samples/widgets/icons/picker.xpm [deleted file]
samples/widgets/makefile.bcc
samples/widgets/makefile.gcc
samples/widgets/makefile.vc
samples/widgets/makefile.wat
samples/widgets/picker.cpp [deleted file]
samples/widgets/widgets.bkl
samples/widgets/widgets.dsp

index de98033a8177d3e3ea01e5924c1233ffa1ac8602..5938ddde3aef57e88551fc9a3671c6ebebff1ae9 100644 (file)
@@ -56,7 +56,10 @@ WIDGETS_OBJECTS =  \
        widgets_hyperlnk.o \
        widgets_listbox.o \
        widgets_notebook.o \
-       widgets_picker.o \
+       widgets_clrpicker.o \
+       widgets_fontpicker.o \
+       widgets_filepicker.o \
+       widgets_dirpicker.o \
        widgets_radiobox.o \
        widgets_slider.o \
        widgets_spinbtn.o \
@@ -230,8 +233,17 @@ widgets_listbox.o: $(srcdir)/listbox.cpp
 widgets_notebook.o: $(srcdir)/notebook.cpp
        $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/notebook.cpp
 
-widgets_picker.o: $(srcdir)/picker.cpp
-       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/picker.cpp
+widgets_clrpicker.o: $(srcdir)/clrpicker.cpp
+       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/clrpicker.cpp
+
+widgets_fontpicker.o: $(srcdir)/fontpicker.cpp
+       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/fontpicker.cpp
+
+widgets_filepicker.o: $(srcdir)/filepicker.cpp
+       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/filepicker.cpp
+
+widgets_dirpicker.o: $(srcdir)/dirpicker.cpp
+       $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/dirpicker.cpp
 
 widgets_radiobox.o: $(srcdir)/radiobox.cpp
        $(CXXC) -c -o $@ $(WIDGETS_CXXFLAGS) $(srcdir)/radiobox.cpp
diff --git a/samples/widgets/clrpicker.cpp b/samples/widgets/clrpicker.cpp
new file mode 100644 (file)
index 0000000..45b297b
--- /dev/null
@@ -0,0 +1,235 @@
+/////////////////////////////////////////////////////////////////////////////
+// Program:     wxWidgets Widgets Sample
+// Name:        clrpicker.cpp
+// Purpose:     Shows wxColourPickerCtrl
+// Author:      Francesco Montorsi
+// Created:     20/6/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
+
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+    #include "wx/radiobox.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 "widgets.h"
+
+#include "icons/clrpicker.xpm"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// control ids
+enum
+{
+    PickerPage_Reset = wxID_HIGHEST,
+    PickerPage_Colour
+};
+
+
+// ----------------------------------------------------------------------------
+// ColourPickerWidgetsPage
+// ----------------------------------------------------------------------------
+
+class ColourPickerWidgetsPage : public WidgetsPage
+{
+public:
+    ColourPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
+    virtual ~ColourPickerWidgetsPage(){};
+
+    virtual wxControl *GetWidget() const { return m_clrPicker; }
+    virtual void RecreateWidget() { RecreatePicker(); }
+
+    // lazy creation of the content
+    virtual void CreateContent();
+
+protected:
+
+    // called only once at first construction
+    void CreatePicker();
+
+    // called to recreate an existing control
+    void RecreatePicker();
+
+    // restore the checkboxes state to the initial values
+    void Reset();
+
+    // get the initial style for the picker of the given kind
+    long GetPickerStyle();
+
+
+    void OnColourChange(wxColourPickerEvent &ev);
+    void OnCheckBox(wxCommandEvent &ev);
+    void OnButtonReset(wxCommandEvent &ev);
+
+    // the picker
+    wxColourPickerCtrl *m_clrPicker;
+
+
+    // other controls
+    // --------------
+
+    wxCheckBox *m_chkColourTextCtrl,
+               *m_chkColourShowLabel;
+    wxBoxSizer *m_sizer;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_WIDGETS_PAGE(ColourPickerWidgetsPage)
+};
+
+// ----------------------------------------------------------------------------
+// event tables
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(ColourPickerWidgetsPage, WidgetsPage)
+    EVT_BUTTON(PickerPage_Reset, ColourPickerWidgetsPage::OnButtonReset)
+
+    EVT_COLOURPICKER_CHANGED(PickerPage_Colour, ColourPickerWidgetsPage::OnColourChange)
+
+    EVT_CHECKBOX(wxID_ANY, ColourPickerWidgetsPage::OnCheckBox)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+#if defined(__WXGTK24__)
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#else
+    #define FAMILY_CTRLS GENERIC_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(ColourPickerWidgetsPage, _T("ColourPicker"),
+                       PICKER_CTRLS | FAMILY_CTRLS);
+
+ColourPickerWidgetsPage::ColourPickerWidgetsPage(WidgetsBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book, imaglist, clrpicker_xpm)
+{
+}
+
+void ColourPickerWidgetsPage::CreateContent()
+{
+    // left pane
+    wxSizer *boxleft = new wxBoxSizer(wxVERTICAL);
+
+    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(new wxButton(this, PickerPage_Reset, _T("&Reset")),
+                 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
+
+    Reset();    // set checkboxes state
+
+    // create pickers
+    m_clrPicker = NULL;
+    CreatePicker();
+
+    // right pane
+    m_sizer = new wxBoxSizer(wxVERTICAL);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+    m_sizer->Add(m_clrPicker, 0, wxALIGN_CENTER|wxALL, 5);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+
+    // global pane
+    wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
+    sz->Add(boxleft, 0, wxGROW|wxALL, 5);
+    sz->Add(m_sizer, 1, wxGROW|wxALL, 5);
+
+    SetSizerAndFit(sz);
+}
+
+void ColourPickerWidgetsPage::CreatePicker()
+{
+    delete m_clrPicker;
+
+    m_clrPicker = new wxColourPickerCtrl(this, PickerPage_Colour, *wxRED,
+                                            wxDefaultPosition, wxDefaultSize,
+                                            GetPickerStyle());
+}
+
+long ColourPickerWidgetsPage::GetPickerStyle()
+{
+    long style = 0;
+
+    if ( m_chkColourTextCtrl->GetValue() )
+        style |= wxCLRP_USE_TEXTCTRL;
+
+    if ( m_chkColourShowLabel->GetValue() )
+        style |= wxCLRP_SHOW_LABEL;
+
+    return style;
+}
+
+void ColourPickerWidgetsPage::RecreatePicker()
+{
+    m_sizer->Remove(1);
+    CreatePicker();
+    m_sizer->Insert(1, m_clrPicker, 0, wxALIGN_CENTER|wxALL, 5);
+
+    m_sizer->Layout();
+}
+
+void ColourPickerWidgetsPage::Reset()
+{
+    m_chkColourTextCtrl->SetValue((wxCLRP_DEFAULT_STYLE & wxCLRP_USE_TEXTCTRL) != 0);
+    m_chkColourShowLabel->SetValue((wxCLRP_DEFAULT_STYLE & wxCLRP_SHOW_LABEL) != 0);
+}
+
+
+// ----------------------------------------------------------------------------
+// event handlers
+// ----------------------------------------------------------------------------
+
+void ColourPickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
+{
+    Reset();
+    RecreatePicker();
+}
+
+void ColourPickerWidgetsPage::OnColourChange(wxColourPickerEvent& event)
+{
+    wxLogMessage(wxT("The colour changed to '%s' !"),
+                 event.GetColour().GetAsString(wxC2S_CSS_SYNTAX).c_str());
+}
+
+void ColourPickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
+{
+    if (event.GetEventObject() == m_chkColourTextCtrl ||
+        event.GetEventObject() == m_chkColourShowLabel)
+        RecreatePicker();
+}
+
+#endif  //  wxUSE_COLOURPICKERCTRL
diff --git a/samples/widgets/dirpicker.cpp b/samples/widgets/dirpicker.cpp
new file mode 100644 (file)
index 0000000..949be6c
--- /dev/null
@@ -0,0 +1,243 @@
+/////////////////////////////////////////////////////////////////////////////
+// Program:     wxWidgets Widgets Sample
+// Name:        dirpicker.cpp
+// Purpose:     Shows wxDirPickerCtrl
+// Author:      Francesco Montorsi
+// Created:     20/6/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_DIRPICKERCTRL
+
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+    #include "wx/radiobox.h"
+#endif
+
+#include "wx/artprov.h"
+#include "wx/sizer.h"
+#include "wx/stattext.h"
+#include "wx/checkbox.h"
+#include "wx/imaglist.h"
+
+#include "wx/filepicker.h"
+#include "widgets.h"
+
+#include "icons/dirpicker.xpm"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// control ids
+enum
+{
+    PickerPage_Reset = wxID_HIGHEST,
+    PickerPage_Dir
+};
+
+
+// ----------------------------------------------------------------------------
+// DirPickerWidgetsPage
+// ----------------------------------------------------------------------------
+
+class DirPickerWidgetsPage : public WidgetsPage
+{
+public:
+    DirPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
+    virtual ~DirPickerWidgetsPage(){};
+
+    virtual wxControl *GetWidget() const { return m_dirPicker; }
+    virtual void RecreateWidget() { RecreatePicker(); }
+
+    // lazy creation of the content
+    virtual void CreateContent();
+
+protected:
+
+    // called only once at first construction
+    void CreatePicker();
+
+    // called to recreate an existing control
+    void RecreatePicker();
+
+    // restore the checkboxes state to the initial values
+    void Reset();
+
+    // get the initial style for the picker of the given kind
+    long GetPickerStyle();
+
+
+    void OnDirChange(wxFileDirPickerEvent &ev);
+    void OnCheckBox(wxCommandEvent &ev);
+    void OnButtonReset(wxCommandEvent &ev);
+
+    // the picker
+    wxDirPickerCtrl *m_dirPicker;
+
+
+    // other controls
+    // --------------
+
+    wxCheckBox *m_chkDirTextCtrl,
+               *m_chkDirChangeDir,
+               *m_chkDirMustExist;
+    wxBoxSizer *m_sizer;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_WIDGETS_PAGE(DirPickerWidgetsPage)
+};
+
+// ----------------------------------------------------------------------------
+// event tables
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(DirPickerWidgetsPage, WidgetsPage)
+    EVT_BUTTON(PickerPage_Reset, DirPickerWidgetsPage::OnButtonReset)
+
+    EVT_DIRPICKER_CHANGED(PickerPage_Dir, DirPickerWidgetsPage::OnDirChange)
+
+    EVT_CHECKBOX(wxID_ANY, DirPickerWidgetsPage::OnCheckBox)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+#if defined(__WXGTK24__)
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#else
+    #define FAMILY_CTRLS GENERIC_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(DirPickerWidgetsPage, _T("DirPicker"),
+                       PICKER_CTRLS | FAMILY_CTRLS);
+
+DirPickerWidgetsPage::DirPickerWidgetsPage(WidgetsBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book, imaglist, dirpicker_xpm)
+{
+}
+
+void DirPickerWidgetsPage::CreateContent()
+{
+    // left pane
+    wxSizer *boxleft = new wxBoxSizer(wxVERTICAL);
+
+    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(new wxButton(this, PickerPage_Reset, _T("&Reset")),
+                 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
+
+    Reset();    // set checkboxes state
+
+    // create pickers
+    m_dirPicker = NULL;
+    CreatePicker();
+
+    // right pane
+    m_sizer = new wxBoxSizer(wxVERTICAL);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+    m_sizer->Add(m_dirPicker, 0, wxALIGN_CENTER|wxALL, 5);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+
+    // global pane
+    wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
+    sz->Add(boxleft, 0, wxGROW|wxALL, 5);
+    sz->Add(m_sizer, 1, wxGROW|wxALL, 5);
+
+    SetSizerAndFit(sz);
+}
+
+void DirPickerWidgetsPage::CreatePicker()
+{
+    delete m_dirPicker;
+
+    m_dirPicker = new wxDirPickerCtrl(this, PickerPage_Dir,
+                                        wxGetHomeDir(), wxT("Hello!"),
+                                        wxDefaultPosition, wxDefaultSize,
+                                        GetPickerStyle());
+}
+
+long DirPickerWidgetsPage::GetPickerStyle()
+{
+    long style = 0;
+
+    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;
+
+    return style;
+}
+
+void DirPickerWidgetsPage::RecreatePicker()
+{
+    m_sizer->Remove(1);
+    CreatePicker();
+    m_sizer->Insert(1, m_dirPicker, 0, wxALIGN_CENTER|wxALL, 5);
+
+    m_sizer->Layout();
+}
+
+void DirPickerWidgetsPage::Reset()
+{
+    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);
+}
+
+
+// ----------------------------------------------------------------------------
+// event handlers
+// ----------------------------------------------------------------------------
+
+void DirPickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
+{
+    Reset();
+    RecreatePicker();
+}
+
+void DirPickerWidgetsPage::OnDirChange(wxFileDirPickerEvent& event)
+{
+    wxLogMessage(wxT("The directory changed to '%s' ! The current working directory is '%s'"),
+                 event.GetPath().c_str(), wxGetCwd().c_str());
+}
+
+void DirPickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
+{
+    if (event.GetEventObject() == m_chkDirTextCtrl ||
+        event.GetEventObject() == m_chkDirChangeDir ||
+        event.GetEventObject() == m_chkDirMustExist)
+        RecreatePicker();
+}
+
+#endif  //  wxUSE_DIRPICKERCTRL
diff --git a/samples/widgets/filepicker.cpp b/samples/widgets/filepicker.cpp
new file mode 100644 (file)
index 0000000..e9629fb
--- /dev/null
@@ -0,0 +1,304 @@
+/////////////////////////////////////////////////////////////////////////////
+// Program:     wxWidgets Widgets Sample
+// Name:        filepicker.cpp
+// Purpose:     Part of the widgets sample showing wx*PickerCtrl
+// Author:      Francesco Montorsi
+// Created:     20/6/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_FILEPICKERCTRL
+
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+    #include "wx/radiobox.h"
+#endif
+
+#include "wx/artprov.h"
+#include "wx/sizer.h"
+#include "wx/stattext.h"
+#include "wx/checkbox.h"
+#include "wx/imaglist.h"
+
+#include "wx/filepicker.h"
+#include "widgets.h"
+
+#include "icons/filepicker.xpm"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+enum
+{
+    FilePickerMode_Open = 0,
+    FilePickerMode_Save
+};
+
+// control ids
+enum
+{
+    PickerPage_Reset = wxID_HIGHEST,
+    PickerPage_File
+};
+
+
+// ----------------------------------------------------------------------------
+// FilePickerWidgetsPage
+// ----------------------------------------------------------------------------
+
+class FilePickerWidgetsPage : public WidgetsPage
+{
+public:
+    FilePickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
+    virtual ~FilePickerWidgetsPage(){};
+
+    virtual wxControl *GetWidget() const { return m_filePicker; }
+    virtual void RecreateWidget() { RecreatePicker(); }
+
+    // lazy creation of the content
+    virtual void CreateContent();
+
+protected:
+
+    // called only once at first construction
+    void CreatePicker();
+
+    // called to recreate an existing control
+    void RecreatePicker();
+
+    // restore the checkboxes state to the initial values
+    void Reset();
+
+    // get the initial style for the picker of the given kind
+    long GetPickerStyle();
+
+    // update filepicker radiobox
+    void UpdateFilePickerMode();
+
+    // the pickers and the relative event handlers
+    void OnFileChange(wxFileDirPickerEvent &ev);
+    void OnCheckBox(wxCommandEvent &ev);
+    void OnButtonReset(wxCommandEvent &ev);
+
+
+    // the picker
+    wxFilePickerCtrl *m_filePicker;
+
+
+    // other controls
+    // --------------
+
+    wxCheckBox *m_chkFileTextCtrl,
+               *m_chkFileOverwritePrompt,
+               *m_chkFileMustExist,
+               *m_chkFileChangeDir;
+    wxRadioBox *m_radioFilePickerMode;
+
+    wxBoxSizer *m_sizer;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_WIDGETS_PAGE(FilePickerWidgetsPage)
+};
+
+// ----------------------------------------------------------------------------
+// event tables
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(FilePickerWidgetsPage, WidgetsPage)
+    EVT_BUTTON(PickerPage_Reset, FilePickerWidgetsPage::OnButtonReset)
+
+    EVT_FILEPICKER_CHANGED(PickerPage_File, FilePickerWidgetsPage::OnFileChange)
+
+    EVT_CHECKBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
+    EVT_RADIOBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+#if defined(__WXGTK24__)
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#else
+    #define FAMILY_CTRLS GENERIC_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(FilePickerWidgetsPage, _T("FilePicker"),
+                       PICKER_CTRLS | FAMILY_CTRLS);
+
+FilePickerWidgetsPage::FilePickerWidgetsPage(WidgetsBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book, imaglist, filepicker_xpm)
+{
+}
+
+void FilePickerWidgetsPage::CreateContent()
+{
+    // left pane
+    wxSizer *boxleft = new wxBoxSizer(wxVERTICAL);
+
+    static const wxString mode[] = { _T("open"), _T("save") };
+    m_radioFilePickerMode = new wxRadioBox(this, wxID_ANY, _T("wxFilePicker mode"),
+                                           wxDefaultPosition, wxDefaultSize,
+                                           WXSIZEOF(mode), mode);
+    boxleft->Add(m_radioFilePickerMode, 0, wxALL|wxGROW, 5);
+
+    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(new wxButton(this, PickerPage_Reset, _T("&Reset")),
+                 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
+
+    Reset();    // set checkboxes state
+
+    // create pickers
+    m_filePicker = NULL;
+    CreatePicker();
+
+    // right pane
+    m_sizer = new wxBoxSizer(wxVERTICAL);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+    m_sizer->Add(m_filePicker, 0, wxALIGN_CENTER|wxALL, 5);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+
+    // global pane
+    wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
+    sz->Add(boxleft, 0, wxGROW|wxALL, 5);
+    sz->Add(m_sizer, 1, wxGROW|wxALL, 5);
+
+    SetSizerAndFit(sz);
+}
+
+void FilePickerWidgetsPage::CreatePicker()
+{
+    delete m_filePicker;
+
+    // pass an empty string as initial file
+    m_filePicker = new wxFilePickerCtrl(this, PickerPage_File,
+                                        wxEmptyString,
+                                        wxT("Hello!"), wxT("*"),
+                                        wxDefaultPosition, wxDefaultSize,
+                                        GetPickerStyle());
+}
+
+long FilePickerWidgetsPage::GetPickerStyle()
+{
+    long style = 0;
+
+    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;
+
+    if (m_radioFilePickerMode->GetSelection() == FilePickerMode_Open)
+        style |= wxFLP_OPEN;
+    else
+        style |= wxFLP_SAVE;
+
+    return style;
+}
+
+void FilePickerWidgetsPage::RecreatePicker()
+{
+    m_sizer->Remove(1);
+    CreatePicker();
+    m_sizer->Insert(1, m_filePicker, 0, wxALIGN_CENTER||wxALL, 5);
+
+    m_sizer->Layout();
+}
+
+void FilePickerWidgetsPage::Reset()
+{
+    m_radioFilePickerMode->SetSelection((wxFLP_DEFAULT_STYLE & wxFLP_OPEN) ?
+                                            FilePickerMode_Open : FilePickerMode_Save);
+    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);
+
+    UpdateFilePickerMode();
+}
+
+void FilePickerWidgetsPage::UpdateFilePickerMode()
+{
+    switch (m_radioFilePickerMode->GetSelection())
+    {
+    case FilePickerMode_Open:
+        m_chkFileOverwritePrompt->SetValue(false);
+        m_chkFileOverwritePrompt->Disable();
+        m_chkFileMustExist->Enable();
+        break;
+    case FilePickerMode_Save:
+        m_chkFileMustExist->SetValue(false);
+        m_chkFileMustExist->Disable();
+        m_chkFileOverwritePrompt->Enable();
+        break;
+    }
+}
+
+
+// ----------------------------------------------------------------------------
+// event handlers
+// ----------------------------------------------------------------------------
+
+void FilePickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
+{
+    Reset();
+
+    RecreatePicker();
+}
+
+void FilePickerWidgetsPage::OnFileChange(wxFileDirPickerEvent& event)
+{
+    wxLogMessage(wxT("The file changed to '%s' ! The current working directory is '%s'"),
+                 event.GetPath().c_str(), wxGetCwd().c_str());
+}
+
+void FilePickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
+{
+    if (event.GetEventObject() == m_chkFileTextCtrl ||
+        event.GetEventObject() == m_chkFileOverwritePrompt ||
+        event.GetEventObject() == m_chkFileMustExist ||
+        event.GetEventObject() == m_chkFileChangeDir)
+        RecreatePicker();
+
+    if (event.GetEventObject() == m_radioFilePickerMode)
+    {
+        UpdateFilePickerMode();
+        RecreatePicker();
+    }
+}
+
+#endif  // wxUSE_FILEPICKERCTRL
diff --git a/samples/widgets/fontpicker.cpp b/samples/widgets/fontpicker.cpp
new file mode 100644 (file)
index 0000000..3ea6f75
--- /dev/null
@@ -0,0 +1,243 @@
+/////////////////////////////////////////////////////////////////////////////
+// Program:     wxWidgets Widgets Sample
+// Name:        fontpicker.cpp
+// Purpose:     Shows wxFontPickerCtrl
+// Author:      Francesco Montorsi
+// Created:     20/6/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_FONTPICKERCTRL
+
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/app.h"
+    #include "wx/log.h"
+    #include "wx/radiobox.h"
+#endif
+
+#include "wx/artprov.h"
+#include "wx/sizer.h"
+#include "wx/stattext.h"
+#include "wx/checkbox.h"
+#include "wx/imaglist.h"
+
+#include "wx/fontpicker.h"
+#include "widgets.h"
+
+#include "icons/fontpicker.xpm"
+
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// control ids
+enum
+{
+    PickerPage_Reset = wxID_HIGHEST,
+    PickerPage_Font
+};
+
+
+// ----------------------------------------------------------------------------
+// FontPickerWidgetsPage
+// ----------------------------------------------------------------------------
+
+class FontPickerWidgetsPage : public WidgetsPage
+{
+public:
+    FontPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
+    virtual ~FontPickerWidgetsPage(){};
+
+    virtual wxControl *GetWidget() const { return m_fontPicker; }
+    virtual void RecreateWidget() { RecreatePicker(); }
+
+    // lazy creation of the content
+    virtual void CreateContent();
+
+protected:
+
+    // called only once at first construction
+    void CreatePicker();
+
+    // called to recreate an existing control
+    void RecreatePicker();
+
+    // restore the checkboxes state to the initial values
+    void Reset();
+
+    // get the initial style for the picker of the given kind
+    long GetPickerStyle();
+
+
+    void OnFontChange(wxFontPickerEvent &ev);
+    void OnCheckBox(wxCommandEvent &ev);
+    void OnButtonReset(wxCommandEvent &ev);
+
+    // the picker
+    wxFontPickerCtrl *m_fontPicker;
+
+
+    // other controls
+    // --------------
+
+    wxCheckBox *m_chkFontTextCtrl,
+               *m_chkFontDescAsLabel,
+               *m_chkFontUseFontForLabel;
+    wxBoxSizer *m_sizer;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_WIDGETS_PAGE(FontPickerWidgetsPage)
+};
+
+// ----------------------------------------------------------------------------
+// event tables
+// ----------------------------------------------------------------------------
+
+BEGIN_EVENT_TABLE(FontPickerWidgetsPage, WidgetsPage)
+    EVT_BUTTON(PickerPage_Reset, FontPickerWidgetsPage::OnButtonReset)
+
+    EVT_FONTPICKER_CHANGED(PickerPage_Font, FontPickerWidgetsPage::OnFontChange)
+
+    EVT_CHECKBOX(wxID_ANY, FontPickerWidgetsPage::OnCheckBox)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+#if defined(__WXGTK24__)
+    #define FAMILY_CTRLS NATIVE_CTRLS
+#else
+    #define FAMILY_CTRLS GENERIC_CTRLS
+#endif
+
+IMPLEMENT_WIDGETS_PAGE(FontPickerWidgetsPage, _T("FontPicker"),
+                       PICKER_CTRLS | FAMILY_CTRLS);
+
+FontPickerWidgetsPage::FontPickerWidgetsPage(WidgetsBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book, imaglist, fontpicker_xpm)
+{
+}
+
+void FontPickerWidgetsPage::CreateContent()
+{
+    // left pane
+    wxSizer *boxleft = new wxBoxSizer(wxVERTICAL);
+
+    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);
+
+    boxleft->Add(new wxButton(this, PickerPage_Reset, _T("&Reset")),
+                 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
+
+    Reset();    // set checkboxes state
+
+    // create pickers
+    m_fontPicker = NULL;
+    CreatePicker();
+
+    // right pane
+    m_sizer = new wxBoxSizer(wxVERTICAL);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+    m_sizer->Add(m_fontPicker, 0, wxALIGN_CENTER|wxALL, 5);
+    m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer
+
+    // global pane
+    wxSizer *sz = new wxBoxSizer(wxHORIZONTAL);
+    sz->Add(boxleft, 0, wxGROW|wxALL, 5);
+    sz->Add(m_sizer, 1, wxGROW|wxALL, 5);
+
+    SetSizerAndFit(sz);
+}
+
+void FontPickerWidgetsPage::CreatePicker()
+{
+    delete m_fontPicker;
+
+    m_fontPicker = new wxFontPickerCtrl(this, PickerPage_Font,
+                                        *wxSWISS_FONT,
+                                        wxDefaultPosition, wxDefaultSize,
+                                        GetPickerStyle());
+}
+
+long FontPickerWidgetsPage::GetPickerStyle()
+{
+    long style = 0;
+
+    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;
+
+    return style;
+}
+
+void FontPickerWidgetsPage::RecreatePicker()
+{
+    m_sizer->Remove(1);
+    CreatePicker();
+    m_sizer->Insert(1, m_fontPicker, 0, wxALIGN_CENTER|wxALL, 5);
+
+    m_sizer->Layout();
+}
+
+void FontPickerWidgetsPage::Reset()
+{
+    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);
+}
+
+
+// ----------------------------------------------------------------------------
+// event handlers
+// ----------------------------------------------------------------------------
+
+void FontPickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event))
+{
+    Reset();
+    RecreatePicker();
+}
+
+void FontPickerWidgetsPage::OnFontChange(wxFontPickerEvent& event)
+{
+    wxLogMessage(wxT("The font changed to '%s' with size %d !"),
+                 event.GetFont().GetFaceName().c_str(), event.GetFont().GetPointSize());
+}
+
+void FontPickerWidgetsPage::OnCheckBox(wxCommandEvent &event)
+{
+    if (event.GetEventObject() == m_chkFontTextCtrl ||
+        event.GetEventObject() == m_chkFontDescAsLabel ||
+        event.GetEventObject() == m_chkFontUseFontForLabel)
+        RecreatePicker();
+}
+
+#endif  //  wxUSE_FONTPICKERCTRL
diff --git a/samples/widgets/icons/clrpicker.xpm b/samples/widgets/icons/clrpicker.xpm
new file mode 100644 (file)
index 0000000..f539898
--- /dev/null
@@ -0,0 +1,193 @@
+/* XPM */
+static char *clrpicker_xpm[]={
+"32 32 158 2",
+"   c None",
+"** c Black",
+"RR c Red",
+"BB c Blue",
+"GG c Green",
+"WW c White",
+"YY c Yellow",
+"MM c Magenta",
+"CC c Cyan",
+"G3 c #333333",
+"G9 c #999999",
+".P c #00a900",
+".q c #00aa01",
+".y c #00ab01",
+".r c #00ac01",
+".G c #00ad01",
+".j c #018700",
+".C c #018901",
+".L c #018d00",
+".Q c #01a901",
+".D c #029902",
+".O c #029b02",
+".F c #03ab03",
+".Y c #059a05",
+".u c #067706",
+".Z c #069905",
+".E c #06ab06",
+".W c #0d7e09",
+"#s c #0d8109",
+".T c #0f750e",
+".3 c #117611",
+"#b c #167616",
+".z c #16b116",
+".0 c #179716",
+".b c #198219",
+".9 c #1a7a16",
+".A c #1a7a19",
+".V c #1a8719",
+"#j c #1f821a",
+"#l c #217d1f",
+".f c #218b20",
+".x c #22b422",
+"#t c #267c23",
+".c c #278427",
+".s c #288428",
+".7 c #2a8e29",
+"#B c #2b712a",
+".m c #319231",
+"#. c #31a130",
+".M c #32bc32",
+".X c #349632",
+".H c #37bb37",
+"#h c #389635",
+".p c #3ebd3e",
+".8 c #3f923c",
+".I c #40ab40",
+".i c #52c152",
+".R c #52c353",
+".v c #5cc15c",
+"#A c #5e795f",
+".a c #5fa25f",
+".6 c #639064",
+"#u c #659a65",
+".B c #68a868",
+"an c #69696a",
+".w c #6bcb6c",
+"af c #6e6e6f",
+"#9 c #6e6e70",
+"#5 c #6f6f70",
+".K c #70ab70",
+"#0 c #717172",
+"#W c #727273",
+"aq c #737373",
+"#S c #737374",
+"#G c #747475",
+"## c #75bc74",
+".J c #77a876",
+"ao c #797979",
+".S c #7ece7e",
+".1 c #7fd27f",
+".k c #80b080",
+"ag c #818181",
+"ak c #838384",
+"aa c #878788",
+".d c #8ab88a",
+"#r c #8dbc8d",
+"#2 c #8e8e90",
+"#O c #8f8f90",
+"#J c #909091",
+"#D c #909092",
+"#e c #919192",
+".t c #92bd92",
+"al c #939395",
+".N c #93d893",
+"#C c #95b795",
+"#6 c #989899",
+"#m c #9abc9a",
+"#a c #9ecb9e",
+".e c #a5c8a5",
+".2 c #a5daa5",
+".o c #a9e0a9",
+"#k c #aad4a9",
+".g c #abddab",
+"#i c #accaab",
+"#H c #afafaf",
+"#M c #b0b0b0",
+"am c #b0b0b2",
+"a. c #b1b1b1",
+".n c #b4e3b4",
+".l c #b7d1b7",
+"aj c #bababc",
+"#g c #bbc9bc",
+"#d c #bcbcbc",
+"#v c #bdbdbd",
+".5 c #bebebe",
+"#I c #bfbfbf",
+".4 c #bfd2bf",
+"#N c #c0c0c0",
+"ai c #c0c0c3",
+"#T c #c1c1c1",
+"ah c #c5c5c8",
+"ar c #c8c8c8",
+"ac c #c8c8cb",
+"#c c #c8d8c8",
+"a# c #cbcbcb",
+".# c #cbdccb",
+"#1 c #cccccc",
+"ae c #cececf",
+"#8 c #cfcfd1",
+"#4 c #d0d0d2",
+"#f c #d0d0d3",
+"#Z c #d1d1d2",
+"#n c #d1d1d3",
+"#V c #d2d2d3",
+"#w c #d2d2d4",
+"#K c #d3d3d4",
+"#p c #d3d3d5",
+"#P c #d3d3d6",
+"#F c #d4d4d5",
+"#z c #d4d4d6",
+"#X c #d4d4d7",
+"#3 c #d5d5d8",
+"#U c #d8d8da",
+"#Q c #d9d9db",
+"#E c #d9d9dc",
+"ap c #dadada",
+"ad c #dadadb",
+"#x c #dadadc",
+"#q c #dadeda",
+"#o c #dbdbdd",
+"ab c #dddddf",
+".h c #ddf3dd",
+"#y c #e2e2e3",
+"#L c #e3e3e3",
+"#R c #e3e3e4",
+".U c #e3e8e3",
+"#Y c #e4e4e4",
+"#7 c #e5e5e5",
+"                                                    .#.a.b.c.d  ",
+"                                                  .e.f.g.h.i.j.k",
+"                                                .l.m.n.o.p.q.r.s",
+"                                              .t.u.v.w.x.y.r.z.A",
+"                                            .B.C.D.E.F.G.y.H.I.J",
+"                                          .K.L.M.N.O.P.Q.R.S.T.U",
+"                                          .V.W.X.Y.Z.0.1.2.3.4  ",
+"                                        .5.6.7.8.9#.###a#b#c    ",
+"                                      #d#e#f#g#h#i#j#k#l#m      ",
+"                                    #d#e#n#o#p#q#r#s#t#u        ",
+"                                  #v#e#w#x#p#y#z#A#B#C          ",
+"                                .5#D#w#E#p#y#F#G#H              ",
+"                              #I#J#p#E#K#L#K#G#M                ",
+"                            #N#O#P#Q#K#R#K#S#M                  ",
+"                          #T#e#P#U#K#R#V#W#M                    ",
+"************  **********#T#e#X#U#K#Y#Z#0#M                      ",
+"**G3G3G3G3**  **G9G9G9#1#2#3#U#V#Y#4#5#M                        ",
+"**G3G3G3G3**  **G9G9G9#6#X#n#K#7#8#9a.**                        ",
+"**G3G3G3G3**  **G9G9a#aaabacadaeaf#HWW**                        ",
+"************  ******agahacaiajaf#H******                        ",
+"                    akalamanaoap                                ",
+"************  ******#v#5aqar************                        ",
+"**YYYYYYYY**  **MMMMMMMM**  **CCCCCCCC**                        ",
+"**YYYYYYYY**  **MMMMMMMM**  **CCCCCCCC**                        ",
+"**YYYYYYYY**  **MMMMMMMM**  **CCCCCCCC**                        ",
+"************  ************  ************                        ",
+"                                                                ",
+"************  ************  ************                        ",
+"**RRRRRRRR**  **BBBBBBBB**  **GGGGGGGG**                        ",
+"**RRRRRRRR**  **BBBBBBBB**  **GGGGGGGG**                        ",
+"**RRRRRRRR**  **BBBBBBBB**  **GGGGGGGG**                        ",
+"************  ************  ************                        "};
index b5ecf32897d1e11a51561e27f7757d27c1593444..bcc6a656eddab2c8ac842e9f1ade4781e587f51c 100644 (file)
 /* XPM */
 static char *datepick_xpm[] = {
 /* columns rows colors chars-per-pixel */
-"32 32 16 1",
-"  c Gray0",
-". c #808000",
-"X c #000080",
-"o c #808080",
-"O c #000000",
-"+ c #808000",
-"@ c #000080",
-"# c none",
-"$ c #808080",
-"% c Red",
-"& c Green",
-"* c Yellow",
-"= c Blue",
-"- c Magenta",
-"; c Cyan",
-": c Gray100",
+"32 32 163 2",
+"   c None",
+"f# c Gray0",
+"f. c #808000",
+"fX c #000080",
+"fo c #808080",
+"fO c #000000",
+"f+ c #808000",
+"f@ c #000080",
+"f$ c #808080",
+"f% c Red",
+"f& c Green",
+"f* c Yellow",
+"f= c Blue",
+"f- c Magenta",
+"f; c Cyan",
+"f: c Gray100",
+".P c #00a900",
+".q c #00aa01",
+".y c #00ab01",
+".r c #00ac01",
+".G c #00ad01",
+".j c #018700",
+".C c #018901",
+".L c #018d00",
+".Q c #01a901",
+".D c #029902",
+".O c #029b02",
+".F c #03ab03",
+".Y c #059a05",
+".u c #067706",
+".Z c #069905",
+".E c #06ab06",
+".W c #0d7e09",
+"#s c #0d8109",
+".T c #0f750e",
+".3 c #117611",
+"#b c #167616",
+".z c #16b116",
+".0 c #179716",
+".b c #198219",
+".9 c #1a7a16",
+".A c #1a7a19",
+".V c #1a8719",
+"#j c #1f821a",
+"#l c #217d1f",
+".f c #218b20",
+".x c #22b422",
+"#t c #267c23",
+".c c #278427",
+".s c #288428",
+".7 c #2a8e29",
+"#B c #2b712a",
+".m c #319231",
+"#. c #31a130",
+".M c #32bc32",
+".X c #349632",
+".H c #37bb37",
+"#h c #389635",
+".p c #3ebd3e",
+".8 c #3f923c",
+".I c #40ab40",
+".i c #52c152",
+".R c #52c353",
+".v c #5cc15c",
+"#A c #5e795f",
+".a c #5fa25f",
+".6 c #639064",
+"#u c #659a65",
+".B c #68a868",
+"an c #69696a",
+".w c #6bcb6c",
+"af c #6e6e6f",
+"#9 c #6e6e70",
+"#5 c #6f6f70",
+".K c #70ab70",
+"#0 c #717172",
+"#W c #727273",
+"aq c #737373",
+"#S c #737374",
+"#G c #747475",
+"## c #75bc74",
+".J c #77a876",
+"ao c #797979",
+".S c #7ece7e",
+".1 c #7fd27f",
+".k c #80b080",
+"ag c #818181",
+"ak c #838384",
+"aa c #878788",
+".d c #8ab88a",
+"#r c #8dbc8d",
+"#2 c #8e8e90",
+"#O c #8f8f90",
+"#J c #909091",
+"#D c #909092",
+"#e c #919192",
+".t c #92bd92",
+"al c #939395",
+".N c #93d893",
+"#C c #95b795",
+"#6 c #989899",
+"#m c #9abc9a",
+"#a c #9ecb9e",
+".e c #a5c8a5",
+".2 c #a5daa5",
+".o c #a9e0a9",
+"#k c #aad4a9",
+".g c #abddab",
+"#i c #accaab",
+"#H c #afafaf",
+"#M c #b0b0b0",
+"am c #b0b0b2",
+"a. c #b1b1b1",
+".n c #b4e3b4",
+".l c #b7d1b7",
+"aj c #bababc",
+"#g c #bbc9bc",
+"#d c #bcbcbc",
+"#v c #bdbdbd",
+".5 c #bebebe",
+"#I c #bfbfbf",
+".4 c #bfd2bf",
+"#N c #c0c0c0",
+"ai c #c0c0c3",
+"#T c #c1c1c1",
+"ah c #c5c5c8",
+"ar c #c8c8c8",
+"ac c #c8c8cb",
+"#c c #c8d8c8",
+"a# c #cbcbcb",
+".# c #cbdccb",
+"#1 c #cccccc",
+"ae c #cececf",
+"#8 c #cfcfd1",
+"#4 c #d0d0d2",
+"#f c #d0d0d3",
+"#Z c #d1d1d2",
+"#n c #d1d1d3",
+"#V c #d2d2d3",
+"#w c #d2d2d4",
+"#K c #d3d3d4",
+"#p c #d3d3d5",
+"#P c #d3d3d6",
+"#F c #d4d4d5",
+"#z c #d4d4d6",
+"#X c #d4d4d7",
+"#3 c #d5d5d8",
+"#U c #d8d8da",
+"#Q c #d9d9db",
+"#E c #d9d9dc",
+"ap c #dadada",
+"ad c #dadadb",
+"#x c #dadadc",
+"#q c #dadeda",
+"#o c #dbdbdd",
+"ab c #dddddf",
+".h c #ddf3dd",
+"#y c #e2e2e3",
+"#L c #e3e3e3",
+"#R c #e3e3e4",
+".U c #e3e8e3",
+"#Y c #e4e4e4",
+"#7 c #e5e5e5",
 /* pixels */
-"################################",
-"################################",
-"################################",
-"################################",
-"################################",
-"##                            ##",
-"## ::::::::::::::$::::::::::: ##",
-"## ::  ::::: ::::$::  ::: : : ##",
-"## : :: :::  :::$$: :: :: : : ##",
-"## : :: :: : :::$:: :: ::   : ##",
-"## : :: :::: ::$$:: :: :::: : ##",
-"## ::  ::::: ::$::::  ::::: : ##",
-"## ::::::::::::$::::::::::::: ##",
-"##                            ##",
-"################################",
-"##                            ##",
-"## :::::::::::::::::::::::::: ##",
-"## :::::::::::::::::::::::::: ##",
-"## ::  ::  ::$ ::$$::  ::%-:: ##",
-"## :: $::$ :: $:: $::$ ::%%:: ##",
-"## :::::::::::::::::::::::::: ##",
-"## :::::::::::::::::::::::::: ##",
-"## :: $::$ ::$$::$ ::$ ::%%:: ##",
-"## ::$ :: $::  :: $::  ::-%:: ##",
-"## :::::::::::::::::::::::::: ##",
-"## :::::::::::::::::::::::::: ##",
-"##                            ##",
-"################################",
-"################################",
-"################################",
-"################################",
-"################################"
-};
+"                                                    .#.a.b.c.d  ",
+"                                                  .e.f.g.h.i.j.k",
+"                                                .l.m.n.o.p.q.r.s",
+"                                              .t.u.v.w.x.y.r.z.A",
+"                                            .B.C.D.E.F.G.y.H.I.J",
+"                                          .K.L.M.N.O.P.Q.R.S.T.U",
+"                                          .V.W.X.Y.Z.0.1.2.3.4  ",
+"                                        .5.6.7.8.9#.###a#b#c    ",
+"                                      #d#e#f#g#h#i#j#k#l#m      ",
+"                                    #d#e#n#o#p#q#r#s#t#u        ",
+"f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f##v#e#w#x#p#y#z#A#B#Cf#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f$.5#D#w#E#p#y#F#G#Hf:f:f#        ",
+"f#f:f:f#f#f:f:f:f:f:f#f:f:f:f:#I#J#p#E#K#L#K#G#Mf:f#f:f#        ",
+"f#f:f#f:f:f#f:f:f:f#f#f:f:f:#N#O#P#Q#K#R#K#S#Mf#f:f#f:f#        ",
+"f#f:f#f:f:f#f:f:f#f:f#f:f:#T#e#P#U#K#R#V#W#Mf:f#f#f#f:f#        ",
+"f#f:f#f:f:f#f:f:f:f:f#f:#T#e#X#U#K#Y#Z#0#Mf:f:f:f:f#f:f#        ",
+"f#f:f:f#f#f:f:f:f:f:f##1#2#3#U#V#Y#4#5#Mf:f:f:f:f:f#f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:#6#X#n#K#7#8#9a.f:f:f:f:f:f:f:f:f#        ",
+"f#f#f#f#f#f#f#f#f#f#a#aaabacadaeaf#Hf#f#f#f#f#f#f#f#f#f#        ",
+"                    agahacaiajaf#H                              ",
+"f#f#f#f#f#f#f#f#f#f#akalamanaoapf#f#f#f#f#f#f#f#f#f#f#f#        ",
+"f#f:f:f:f:f:f:f:f:f:#v#5aqarf:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f:f:f#f#f:f:f#f#f:f:f$f#f:f:f$f$f:f:f#f#f:f:f%f-f:f:f#        ",
+"f#f:f:f#f$f:f:f$f#f:f:f#f$f:f:f#f$f:f:f$f#f:f:f%f%f:f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f:f:f#f$f:f:f$f#f:f:f$f$f:f:f$f#f:f:f$f#f:f:f%f%f:f:f#        ",
+"f#f:f:f$f#f:f:f#f$f:f:f#f#f:f:f#f$f:f:f#f#f:f:f-f%f:f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f:f#        ",
+"f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#f#        "};
diff --git a/samples/widgets/icons/dirpicker.xpm b/samples/widgets/icons/dirpicker.xpm
new file mode 100644 (file)
index 0000000..687ea88
--- /dev/null
@@ -0,0 +1,213 @@
+/* XPM */
+static char *dirpicker_xpm[]={
+"32 32 178 2",
+"   c None",
+"f6 c #9BACC2",
+"fw c #547B99",
+"f5 c #94A5BD",
+"f. c #376485",
+"f; c #F1F4F7",
+"fo c #7F99B4",
+"f2 c #D1D9E5",
+"f- c #EAEDF3",
+"fO c #718BA7",
+"f0 c #65839D",
+"f* c #DCE2EA",
+"f: c #F5F6F7",
+"f7 c #597B9A",
+"fX c #8DA0B9",
+"f+ c #467291",
+"fq c #305F81",
+"f& c #D6DFE7",
+"f3 c #6A89A2",
+"f1 c #A8B6CA",
+"f= c #E4E9ED",
+"f> c #F8F9FA",
+"f, c #FDFDFE",
+"f9 c #215579",
+"f8 c #7F97B0",
+"f@ c #B3BFD1",
+"f< c #7A90AC",
+"f$ c #C2CBDB",
+"f4 c #A2B3C5",
+"f% c #CAD6E1",
+"f# c #BBC4D6",
+".P c #00a900",
+".q c #00aa01",
+".y c #00ab01",
+".r c #00ac01",
+".G c #00ad01",
+".j c #018700",
+".C c #018901",
+".L c #018d00",
+".Q c #01a901",
+".D c #029902",
+".O c #029b02",
+".F c #03ab03",
+".Y c #059a05",
+".u c #067706",
+".Z c #069905",
+".E c #06ab06",
+".W c #0d7e09",
+"#s c #0d8109",
+".T c #0f750e",
+".3 c #117611",
+"#b c #167616",
+".z c #16b116",
+".0 c #179716",
+".b c #198219",
+".9 c #1a7a16",
+".A c #1a7a19",
+".V c #1a8719",
+"#j c #1f821a",
+"#l c #217d1f",
+".f c #218b20",
+".x c #22b422",
+"#t c #267c23",
+".c c #278427",
+".s c #288428",
+".7 c #2a8e29",
+"#B c #2b712a",
+".m c #319231",
+"#. c #31a130",
+".M c #32bc32",
+".X c #349632",
+".H c #37bb37",
+"#h c #389635",
+".p c #3ebd3e",
+".8 c #3f923c",
+".I c #40ab40",
+".i c #52c152",
+".R c #52c353",
+".v c #5cc15c",
+"#A c #5e795f",
+".a c #5fa25f",
+".6 c #639064",
+"#u c #659a65",
+".B c #68a868",
+"an c #69696a",
+".w c #6bcb6c",
+"af c #6e6e6f",
+"#9 c #6e6e70",
+"#5 c #6f6f70",
+".K c #70ab70",
+"#0 c #717172",
+"#W c #727273",
+"aq c #737373",
+"#S c #737374",
+"#G c #747475",
+"## c #75bc74",
+".J c #77a876",
+"ao c #797979",
+".S c #7ece7e",
+".1 c #7fd27f",
+".k c #80b080",
+"ag c #818181",
+"ak c #838384",
+"aa c #878788",
+".d c #8ab88a",
+"#r c #8dbc8d",
+"#2 c #8e8e90",
+"#O c #8f8f90",
+"#J c #909091",
+"#D c #909092",
+"#e c #919192",
+".t c #92bd92",
+"al c #939395",
+".N c #93d893",
+"#C c #95b795",
+"#6 c #989899",
+"#m c #9abc9a",
+"#a c #9ecb9e",
+".e c #a5c8a5",
+".2 c #a5daa5",
+".o c #a9e0a9",
+"#k c #aad4a9",
+".g c #abddab",
+"#i c #accaab",
+"#H c #afafaf",
+"#M c #b0b0b0",
+"am c #b0b0b2",
+"a. c #b1b1b1",
+".n c #b4e3b4",
+".l c #b7d1b7",
+"aj c #bababc",
+"#g c #bbc9bc",
+"#d c #bcbcbc",
+"#v c #bdbdbd",
+".5 c #bebebe",
+"#I c #bfbfbf",
+".4 c #bfd2bf",
+"#N c #c0c0c0",
+"ai c #c0c0c3",
+"#T c #c1c1c1",
+"ah c #c5c5c8",
+"ar c #c8c8c8",
+"ac c #c8c8cb",
+"#c c #c8d8c8",
+"a# c #cbcbcb",
+".# c #cbdccb",
+"#1 c #cccccc",
+"ae c #cececf",
+"#8 c #cfcfd1",
+"#4 c #d0d0d2",
+"#f c #d0d0d3",
+"#Z c #d1d1d2",
+"#n c #d1d1d3",
+"#V c #d2d2d3",
+"#w c #d2d2d4",
+"#K c #d3d3d4",
+"#p c #d3d3d5",
+"#P c #d3d3d6",
+"#F c #d4d4d5",
+"#z c #d4d4d6",
+"#X c #d4d4d7",
+"#3 c #d5d5d8",
+"#U c #d8d8da",
+"#Q c #d9d9db",
+"#E c #d9d9dc",
+"ap c #dadada",
+"ad c #dadadb",
+"#x c #dadadc",
+"#q c #dadeda",
+"#o c #dbdbdd",
+"ab c #dddddf",
+".h c #ddf3dd",
+"#y c #e2e2e3",
+"#L c #e3e3e3",
+"#R c #e3e3e4",
+".U c #e3e8e3",
+"#Y c #e4e4e4",
+"#7 c #e5e5e5",
+"                                                    .#.a.b.c.d  ",
+"                                                  .e.f.g.h.i.j.k",
+"                                                .l.m.n.o.p.q.r.s",
+"                                              .t.u.v.w.x.y.r.z.A",
+"                                            .B.C.D.E.F.G.y.H.I.J",
+"                                          .K.L.M.N.O.P.Q.R.S.T.U",
+"                                          .V.W.X.Y.Z.0.1.2.3.4  ",
+"                                        .5.6.7.8.9#.###a#b#c    ",
+"                                      #d#e#f#g#h#i#j#k#l#m      ",
+"                                    #d#e#n#o#p#q#r#s#t#u        ",
+"                                  #v#e#w#x#p#y#z#A#B#C          ",
+"                                .5#D#w#E#p#y#F#G#H              ",
+"                              #I#J#p#E#K#L#K#G#M                ",
+"                            #N#O#P#Q#K#R#K#S#M                  ",
+"                          #T#e#P#U#K#R#V#W#M                    ",
+"                        #T#e#X#U#K#Y#Z#0#M                      ",
+"                      #1#2#3#U#V#Y#4#5#M                        ",
+"                      #6#X#n#K#7#8#9a.                          ",
+"                    a#aaabacadaeaf#H                            ",
+"f.f.f.f.f.          agahacaiajaf#H                              ",
+"f.fXfXfXfof.        akalamanaoap                                ",
+"f.fXfXfXfXfOf.f.f.f.#v#5aqar                                    ",
+"f.fXfXfXfXfXfXfXfXfXfXfXfXf.                                    ",
+"f.fXfXfXfXfXfXfXfXfXfXfXfXf.                                    ",
+"f.fXf+f+f+f+f+f+f+f+f+f+f+f+f+f+                                ",
+"f.fXf+f@f#f$f%f&f*f=f-f;f:f>f,f+                                ",
+"f.f<f.f1f@f#f$f%f2f*f=f-f;f:f2f3                                ",
+"f.f.fXf4f1f@f#f$f%f2f*f=f-f;f3                                  ",
+"f.f.fXf5f6f1f@f#f$f%f2f*f=f-f3                                  ",
+"f.f7f8fXf5f6f1f@f#f$f%f2f*f%f3                                  ",
+"f9f0f<f8fXf5f6f1f@f#f$f%f2f3                                    ",
+"fqf+f+f+f+f+f+f+f+f+f+f+f+fw                                    "};
diff --git a/samples/widgets/icons/filepicker.xpm b/samples/widgets/icons/filepicker.xpm
new file mode 100644 (file)
index 0000000..9a53077
--- /dev/null
@@ -0,0 +1,214 @@
+/* XPM */
+static char *filepicker_xpm[]={
+"32 32 179 2",
+"   c None",
+"f= c #97C4E7",
+"f: c #72A8D2",
+"f1 c #FFFFFF",
+"fw c #839CB5",
+"fX c #6B98B8",
+"f. c #5A89A6",
+"f@ c #3A749C",
+"f, c #D1E5F5",
+"f< c #67A1CF",
+"f> c #F1F4F7",
+"fe c #85A7BC",
+"f% c #C3DDF1",
+"f0 c #749BB4",
+"f2 c #7EA6C0",
+"f; c #5F9BC8",
+"fO c #538DB3",
+"f- c #85BBE2",
+"f$ c #D6DFE7",
+"f9 c #EFF6FC",
+"fo c #6591AE",
+"f4 c #F7FBFD",
+"f8 c #FAFCFE",
+"f6 c #DAEAF7",
+"f7 c #E9F3FA",
+"fq c #FDFDFE",
+"f3 c #E2EFF8",
+"f# c #8EA9BC",
+"f& c #B6D5EE",
+"f* c #A5CCEA",
+"f5 c #F4F9FD",
+"f+ c #4581AA",
+".P c #00a900",
+".q c #00aa01",
+".y c #00ab01",
+".r c #00ac01",
+".G c #00ad01",
+".j c #018700",
+".C c #018901",
+".L c #018d00",
+".Q c #01a901",
+".D c #029902",
+".O c #029b02",
+".F c #03ab03",
+".Y c #059a05",
+".u c #067706",
+".Z c #069905",
+".E c #06ab06",
+".W c #0d7e09",
+"#s c #0d8109",
+".T c #0f750e",
+".3 c #117611",
+"#b c #167616",
+".z c #16b116",
+".0 c #179716",
+".b c #198219",
+".9 c #1a7a16",
+".A c #1a7a19",
+".V c #1a8719",
+"#j c #1f821a",
+"#l c #217d1f",
+".f c #218b20",
+".x c #22b422",
+"#t c #267c23",
+".c c #278427",
+".s c #288428",
+".7 c #2a8e29",
+"#B c #2b712a",
+".m c #319231",
+"#. c #31a130",
+".M c #32bc32",
+".X c #349632",
+".H c #37bb37",
+"#h c #389635",
+".p c #3ebd3e",
+".8 c #3f923c",
+".I c #40ab40",
+".i c #52c152",
+".R c #52c353",
+".v c #5cc15c",
+"#A c #5e795f",
+".a c #5fa25f",
+".6 c #639064",
+"#u c #659a65",
+".B c #68a868",
+"an c #69696a",
+".w c #6bcb6c",
+"af c #6e6e6f",
+"#9 c #6e6e70",
+"#5 c #6f6f70",
+".K c #70ab70",
+"#0 c #717172",
+"#W c #727273",
+"aq c #737373",
+"#S c #737374",
+"#G c #747475",
+"## c #75bc74",
+".J c #77a876",
+"ao c #797979",
+".S c #7ece7e",
+".1 c #7fd27f",
+".k c #80b080",
+"ag c #818181",
+"ak c #838384",
+"aa c #878788",
+".d c #8ab88a",
+"#r c #8dbc8d",
+"#2 c #8e8e90",
+"#O c #8f8f90",
+"#J c #909091",
+"#D c #909092",
+"#e c #919192",
+".t c #92bd92",
+"al c #939395",
+".N c #93d893",
+"#C c #95b795",
+"#6 c #989899",
+"#m c #9abc9a",
+"#a c #9ecb9e",
+".e c #a5c8a5",
+".2 c #a5daa5",
+".o c #a9e0a9",
+"#k c #aad4a9",
+".g c #abddab",
+"#i c #accaab",
+"#H c #afafaf",
+"#M c #b0b0b0",
+"am c #b0b0b2",
+"a. c #b1b1b1",
+".n c #b4e3b4",
+".l c #b7d1b7",
+"aj c #bababc",
+"#g c #bbc9bc",
+"#d c #bcbcbc",
+"#v c #bdbdbd",
+".5 c #bebebe",
+"#I c #bfbfbf",
+".4 c #bfd2bf",
+"#N c #c0c0c0",
+"ai c #c0c0c3",
+"#T c #c1c1c1",
+"ah c #c5c5c8",
+"ar c #c8c8c8",
+"ac c #c8c8cb",
+"#c c #c8d8c8",
+"a# c #cbcbcb",
+".# c #cbdccb",
+"#1 c #cccccc",
+"ae c #cececf",
+"#8 c #cfcfd1",
+"#4 c #d0d0d2",
+"#f c #d0d0d3",
+"#Z c #d1d1d2",
+"#n c #d1d1d3",
+"#V c #d2d2d3",
+"#w c #d2d2d4",
+"#K c #d3d3d4",
+"#p c #d3d3d5",
+"#P c #d3d3d6",
+"#F c #d4d4d5",
+"#z c #d4d4d6",
+"#X c #d4d4d7",
+"#3 c #d5d5d8",
+"#U c #d8d8da",
+"#Q c #d9d9db",
+"#E c #d9d9dc",
+"ap c #dadada",
+"ad c #dadadb",
+"#x c #dadadc",
+"#q c #dadeda",
+"#o c #dbdbdd",
+"ab c #dddddf",
+".h c #ddf3dd",
+"#y c #e2e2e3",
+"#L c #e3e3e3",
+"#R c #e3e3e4",
+".U c #e3e8e3",
+"#Y c #e4e4e4",
+"#7 c #e5e5e5",
+"                                                    .#.a.b.c.d  ",
+"                                                  .e.f.g.h.i.j.k",
+"                                                .l.m.n.o.p.q.r.s",
+"                                              .t.u.v.w.x.y.r.z.A",
+"                                            .B.C.D.E.F.G.y.H.I.J",
+"                                          .K.L.M.N.O.P.Q.R.S.T.U",
+"                                          .V.W.X.Y.Z.0.1.2.3.4  ",
+"                                        .5.6.7.8.9#.###a#b#c    ",
+"                                      #d#e#f#g#h#i#j#k#l#m      ",
+"                                    #d#e#n#o#p#q#r#s#t#u        ",
+"                                  #v#e#w#x#p#y#z#A#B#C          ",
+"                                .5#D#w#E#p#y#F#G#H              ",
+"                              #I#J#p#E#K#L#K#G#M                ",
+"                            #N#O#P#Q#K#R#K#S#M                  ",
+"                          #T#e#P#U#K#R#V#W#M                    ",
+"                        #T#e#X#U#K#Y#Z#0#M                      ",
+"                      #1#2#3#U#V#Y#4#5#M                        ",
+"f.f.fXfofofOf+f@f#f$  #6#X#n#K#7#8#9a.                          ",
+"f.f%f%f&f*f=f-f;f:f;a#aaabacadaeaf#H                            ",
+"f.f,f,f%f&f*f=f<f1f=agahacaiajaf#H                              ",
+"f#f%f%f%f%f&f*f2f1f1akalamanaoap                                ",
+"f#f3f-f-f-f-f-f<fofX#v#5aqar                                    ",
+"f#f3f4f5f6f,f%f&f*f=f-fO                                        ",
+"f#f3f-f-f-f-f-f-f-f-f=fO                                        ",
+"f#f3f5f5f7f3f6f,f%f&f*fo                                        ",
+"f#f3f-f-f-f-f-f-f-f-f&fo                                        ",
+"f#f3f8f4f5f9f7f3f6f,f%fX                                        ",
+"f#f3f-f-f-f-f-f-f-f-f,f0                                        ",
+"f#f3f1fqf8f4f5f9f7f3f6f0                                        ",
+"f#f3f-f-f-f-f-f-f-f-f3fw                                        ",
+"f#f3f1f1f1fqf8f4f5f9f7fe                                        ",
+"f#f#f#f#f#f#f#f#f#f#fef#                                        "};
diff --git a/samples/widgets/icons/fontpicker.xpm b/samples/widgets/icons/fontpicker.xpm
new file mode 100644 (file)
index 0000000..8773496
--- /dev/null
@@ -0,0 +1,185 @@
+/* XPM */
+static char *fontpicker_xpm[]={
+"32 32 150 2",
+"   c None",
+"BB c Black",
+"-- c White",
+".P c #00a900",
+".q c #00aa01",
+".y c #00ab01",
+".r c #00ac01",
+".G c #00ad01",
+".j c #018700",
+".C c #018901",
+".L c #018d00",
+".Q c #01a901",
+".D c #029902",
+".O c #029b02",
+".F c #03ab03",
+".Y c #059a05",
+".u c #067706",
+".Z c #069905",
+".E c #06ab06",
+".W c #0d7e09",
+"#s c #0d8109",
+".T c #0f750e",
+".3 c #117611",
+"#b c #167616",
+".z c #16b116",
+".0 c #179716",
+".b c #198219",
+".9 c #1a7a16",
+".A c #1a7a19",
+".V c #1a8719",
+"#j c #1f821a",
+"#l c #217d1f",
+".f c #218b20",
+".x c #22b422",
+"#t c #267c23",
+".c c #278427",
+".s c #288428",
+".7 c #2a8e29",
+"#B c #2b712a",
+".m c #319231",
+"#. c #31a130",
+".M c #32bc32",
+".X c #349632",
+".H c #37bb37",
+"#h c #389635",
+".p c #3ebd3e",
+".8 c #3f923c",
+".I c #40ab40",
+".i c #52c152",
+".R c #52c353",
+".v c #5cc15c",
+"#A c #5e795f",
+".a c #5fa25f",
+".6 c #639064",
+"#u c #659a65",
+".B c #68a868",
+"an c #69696a",
+".w c #6bcb6c",
+"af c #6e6e6f",
+"#9 c #6e6e70",
+"#5 c #6f6f70",
+".K c #70ab70",
+"#0 c #717172",
+"#W c #727273",
+"aq c #737373",
+"#S c #737374",
+"#G c #747475",
+"## c #75bc74",
+".J c #77a876",
+"ao c #797979",
+".S c #7ece7e",
+".1 c #7fd27f",
+".k c #80b080",
+"ag c #818181",
+"ak c #838384",
+"aa c #878788",
+".d c #8ab88a",
+"#r c #8dbc8d",
+"#2 c #8e8e90",
+"#O c #8f8f90",
+"#J c #909091",
+"#D c #909092",
+"#e c #919192",
+".t c #92bd92",
+"al c #939395",
+".N c #93d893",
+"#C c #95b795",
+"#6 c #989899",
+"#m c #9abc9a",
+"#a c #9ecb9e",
+".e c #a5c8a5",
+".2 c #a5daa5",
+".o c #a9e0a9",
+"#k c #aad4a9",
+".g c #abddab",
+"#i c #accaab",
+"#H c #afafaf",
+"#M c #b0b0b0",
+"am c #b0b0b2",
+"a. c #b1b1b1",
+".n c #b4e3b4",
+".l c #b7d1b7",
+"aj c #bababc",
+"#g c #bbc9bc",
+"#d c #bcbcbc",
+"#v c #bdbdbd",
+".5 c #bebebe",
+"#I c #bfbfbf",
+".4 c #bfd2bf",
+"#N c #c0c0c0",
+"ai c #c0c0c3",
+"#T c #c1c1c1",
+"ah c #c5c5c8",
+"ar c #c8c8c8",
+"ac c #c8c8cb",
+"#c c #c8d8c8",
+"a# c #cbcbcb",
+".# c #cbdccb",
+"#1 c #cccccc",
+"ae c #cececf",
+"#8 c #cfcfd1",
+"#4 c #d0d0d2",
+"#f c #d0d0d3",
+"#Z c #d1d1d2",
+"#n c #d1d1d3",
+"#V c #d2d2d3",
+"#w c #d2d2d4",
+"#K c #d3d3d4",
+"#p c #d3d3d5",
+"#P c #d3d3d6",
+"#F c #d4d4d5",
+"#z c #d4d4d6",
+"#X c #d4d4d7",
+"#3 c #d5d5d8",
+"#U c #d8d8da",
+"#Q c #d9d9db",
+"#E c #d9d9dc",
+"ap c #dadada",
+"ad c #dadadb",
+"#x c #dadadc",
+"#q c #dadeda",
+"#o c #dbdbdd",
+"ab c #dddddf",
+".h c #ddf3dd",
+"#y c #e2e2e3",
+"#L c #e3e3e3",
+"#R c #e3e3e4",
+".U c #e3e8e3",
+"#Y c #e4e4e4",
+"#7 c #e5e5e5",
+"                                                    .#.a.b.c.d  ",
+"                                                  .e.f.g.h.i.j.k",
+"                                                .l.m.n.o.p.q.r.s",
+"                                              .t.u.v.w.x.y.r.z.A",
+"                                            .B.C.D.E.F.G.y.H.I.J",
+"                                          .K.L.M.N.O.P.Q.R.S.T.U",
+"                                          .V.W.X.Y.Z.0.1.2.3.4  ",
+"                                        .5.6.7.8.9#.###a#b#c    ",
+"                                      #d#e#f#g#h#i#j#k#l#m      ",
+"                                    #d#e#n#o#p#q#r#s#t#u        ",
+"                                  #v#e#w#x#p#y#z#A#B#C          ",
+"                                .5#D#w#E#p#y#F#G#H              ",
+"                              #I#J#p#E#K#L#K#G#M                ",
+"----------------------------#N#O#P#Q#K#R#K#S#M----------        ",
+"----------BBBBBBBB----BBBB#T#e#P#U#K#R#V#W#MBBBBBBBBBB--        ",
+"--------BB--------BB----#T#e#X#U#K#Y#Z#0#M----BB--------        ",
+"------BBBBBB----BB----#1#2#3#U#V#Y#4#5#M----BB----------        ",
+"----BB--------BB------#6#X#n#K#7#8#9a.----BB------------        ",
+"--BB----------BBBBBBa#aaabacadaeaf#H----BB--------------        ",
+"--------------------agahacaiajaf#H----------------------        ",
+"--BBBBBBBBBB----BBBBakalamanaoap----BBBB--BBBBBBBBBBBB--        ",
+"--BBBBBBBBBB--BBBBBB#v#5aqarBBBBBB--BBBB--BBBBBBBBBBBB--        ",
+"--BBBBBBBB----BBBB----BBBB--BBBBBBBBBBBB------BBBB------        ",
+"--BBBBBBBB----BBBBBBBBBBBB--BBBB--BBBBBB------BBBB------        ",
+"--BBBB----------BBBBBBBB----BBBB----BBBB------BBBB------        ",
+"--------------------------------------------------------        ",
+"--BBBBBBBB----BBBBBB----BB------BB--BBBBBBBBBB----------        ",
+"--BB--------BB------BB--BBBB----BB------BB--------------        ",
+"--BBBBBB----BB------BB--BB--BB--BB------BB--------------        ",
+"--BB--------BB------BB--BB----BBBB------BB--------------        ",
+"--BB----------BBBBBB----BB------BB------BB--------------        ",
+"--------------------------------------------------------        "};
diff --git a/samples/widgets/icons/picker.xpm b/samples/widgets/icons/picker.xpm
deleted file mode 100644 (file)
index 96bc587..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-/* XPM */
-static char *picker_xpm[]={
-"32 32 148 2",
-"Qt c None",
-".P c #00a900",
-".q c #00aa01",
-".y c #00ab01",
-".r c #00ac01",
-".G c #00ad01",
-".j c #018700",
-".C c #018901",
-".L c #018d00",
-".Q c #01a901",
-".D c #029902",
-".O c #029b02",
-".F c #03ab03",
-".Y c #059a05",
-".u c #067706",
-".Z c #069905",
-".E c #06ab06",
-".W c #0d7e09",
-"#s c #0d8109",
-".T c #0f750e",
-".3 c #117611",
-"#b c #167616",
-".z c #16b116",
-".0 c #179716",
-".b c #198219",
-".9 c #1a7a16",
-".A c #1a7a19",
-".V c #1a8719",
-"#j c #1f821a",
-"#l c #217d1f",
-".f c #218b20",
-".x c #22b422",
-"#t c #267c23",
-".c c #278427",
-".s c #288428",
-".7 c #2a8e29",
-"#B c #2b712a",
-".m c #319231",
-"#. c #31a130",
-".M c #32bc32",
-".X c #349632",
-".H c #37bb37",
-"#h c #389635",
-".p c #3ebd3e",
-".8 c #3f923c",
-".I c #40ab40",
-".i c #52c152",
-".R c #52c353",
-".v c #5cc15c",
-"#A c #5e795f",
-".a c #5fa25f",
-".6 c #639064",
-"#u c #659a65",
-".B c #68a868",
-"an c #69696a",
-".w c #6bcb6c",
-"af c #6e6e6f",
-"#9 c #6e6e70",
-"#5 c #6f6f70",
-".K c #70ab70",
-"#0 c #717172",
-"#W c #727273",
-"aq c #737373",
-"#S c #737374",
-"#G c #747475",
-"## c #75bc74",
-".J c #77a876",
-"ao c #797979",
-".S c #7ece7e",
-".1 c #7fd27f",
-".k c #80b080",
-"ag c #818181",
-"ak c #838384",
-"aa c #878788",
-".d c #8ab88a",
-"#r c #8dbc8d",
-"#2 c #8e8e90",
-"#O c #8f8f90",
-"#J c #909091",
-"#D c #909092",
-"#e c #919192",
-".t c #92bd92",
-"al c #939395",
-".N c #93d893",
-"#C c #95b795",
-"#6 c #989899",
-"#m c #9abc9a",
-"#a c #9ecb9e",
-".e c #a5c8a5",
-".2 c #a5daa5",
-".o c #a9e0a9",
-"#k c #aad4a9",
-".g c #abddab",
-"#i c #accaab",
-"#H c #afafaf",
-"#M c #b0b0b0",
-"am c #b0b0b2",
-"a. c #b1b1b1",
-".n c #b4e3b4",
-".l c #b7d1b7",
-"aj c #bababc",
-"#g c #bbc9bc",
-"#d c #bcbcbc",
-"#v c #bdbdbd",
-".5 c #bebebe",
-"#I c #bfbfbf",
-".4 c #bfd2bf",
-"#N c #c0c0c0",
-"ai c #c0c0c3",
-"#T c #c1c1c1",
-"ah c #c5c5c8",
-"ar c #c8c8c8",
-"ac c #c8c8cb",
-"#c c #c8d8c8",
-"a# c #cbcbcb",
-".# c #cbdccb",
-"#1 c #cccccc",
-"ae c #cececf",
-"#8 c #cfcfd1",
-"#4 c #d0d0d2",
-"#f c #d0d0d3",
-"#Z c #d1d1d2",
-"#n c #d1d1d3",
-"#V c #d2d2d3",
-"#w c #d2d2d4",
-"#K c #d3d3d4",
-"#p c #d3d3d5",
-"#P c #d3d3d6",
-"#F c #d4d4d5",
-"#z c #d4d4d6",
-"#X c #d4d4d7",
-"#3 c #d5d5d8",
-"#U c #d8d8da",
-"#Q c #d9d9db",
-"#E c #d9d9dc",
-"ap c #dadada",
-"ad c #dadadb",
-"#x c #dadadc",
-"#q c #dadeda",
-"#o c #dbdbdd",
-"ab c #dddddf",
-".h c #ddf3dd",
-"#y c #e2e2e3",
-"#L c #e3e3e3",
-"#R c #e3e3e4",
-".U c #e3e8e3",
-"#Y c #e4e4e4",
-"#7 c #e5e5e5",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.#.a.b.c.dQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.e.f.g.h.i.j.kQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.l.m.n.o.p.q.r.sQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.t.u.v.w.x.y.r.z.AQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.B.C.D.E.F.G.y.H.I.JQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.K.L.M.N.O.P.Q.R.S.T.UQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.V.W.X.Y.Z.0.1.2.3.4QtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQt.5.6.7.8.9#.###a#b#cQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQt#d#e#f#g#h#i#j#k#l#mQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQt#d#e#n#o#p#q#r#s#t#uQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQt#v#e#w#x#p#y#z#A#B#CQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQt.5#D#w#E#p#y#F#G#HQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQt#I#J#p#E#K#L#K#G#MQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQt#N#O#P#Q#K#R#K#S#MQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQt#T#e#P#U#K#R#V#W#MQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQt#T#e#X#U#K#Y#Z#0#MQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQt#1#2#3#U#V#Y#4#5#MQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQt#6#X#n#K#7#8#9a.QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQta#aaabacadaeaf#HQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtagahacaiajaf#HQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtakalamanaoapQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQt#v#5aqarQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt",
-"QtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQtQt"};
index e8d0accc26037d6628411d1e030089299634b571..6bd038da9b14820616034cc82c410ac0b4ead3de 100644 (file)
@@ -42,7 +42,10 @@ WIDGETS_OBJECTS =  \
        $(OBJS)\widgets_hyperlnk.obj \
        $(OBJS)\widgets_listbox.obj \
        $(OBJS)\widgets_notebook.obj \
-       $(OBJS)\widgets_picker.obj \
+       $(OBJS)\widgets_clrpicker.obj \
+       $(OBJS)\widgets_fontpicker.obj \
+       $(OBJS)\widgets_filepicker.obj \
+       $(OBJS)\widgets_dirpicker.obj \
        $(OBJS)\widgets_radiobox.obj \
        $(OBJS)\widgets_slider.obj \
        $(OBJS)\widgets_spinbtn.obj \
@@ -171,6 +174,10 @@ __DLLFLAG_p = -DWXUSINGDLL
 __DLLFLAG_p_1 = -dWXUSINGDLL
 !endif
 !if "$(MONOLITHIC)" == "0"
+__WXLIB_XML_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
 __WXLIB_ADV_p = \
        wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
 !endif
@@ -237,7 +244,7 @@ clean:
 
 $(OBJS)\widgets.exe: $(WIDGETS_OBJECTS)  $(OBJS)\widgets_sample.res
        ilink32 -Tpe -q $(LDFLAGS) -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO)  -L$(LIBDIRNAME) -aa @&&|
-       c0w32.obj $(WIDGETS_OBJECTS),$@,, $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) ole2w32.lib oleacc.lib odbc32.lib import32.lib cw32$(__THREADSFLAG_5)$(__RUNTIME_LIBS_8).lib,, $(OBJS)\widgets_sample.res
+       c0w32.obj $(WIDGETS_OBJECTS),$@,, $(__WXLIB_XML_p)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) ole2w32.lib oleacc.lib odbc32.lib import32.lib cw32$(__THREADSFLAG_5)$(__RUNTIME_LIBS_8).lib,, $(OBJS)\widgets_sample.res
 |
 
 $(OBJS)\widgets_button.obj: .\button.cpp
@@ -264,7 +271,16 @@ $(OBJS)\widgets_listbox.obj: .\listbox.cpp
 $(OBJS)\widgets_notebook.obj: .\notebook.cpp
        $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
 
-$(OBJS)\widgets_picker.obj: .\picker.cpp
+$(OBJS)\widgets_clrpicker.obj: .\clrpicker.cpp
+       $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_fontpicker.obj: .\fontpicker.cpp
+       $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_filepicker.obj: .\filepicker.cpp
+       $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_dirpicker.obj: .\dirpicker.cpp
        $(CXX) -q -c -P -o$@ $(WIDGETS_CXXFLAGS) $**
 
 $(OBJS)\widgets_radiobox.obj: .\radiobox.cpp
index 015d5a0eeb9ce45deab67730fb8817f8dce9d0b3..c9b1806697b6a95f2e3a4a1bf65753af9284a199 100644 (file)
@@ -35,7 +35,10 @@ WIDGETS_OBJECTS =  \
        $(OBJS)\widgets_hyperlnk.o \
        $(OBJS)\widgets_listbox.o \
        $(OBJS)\widgets_notebook.o \
-       $(OBJS)\widgets_picker.o \
+       $(OBJS)\widgets_clrpicker.o \
+       $(OBJS)\widgets_fontpicker.o \
+       $(OBJS)\widgets_filepicker.o \
+       $(OBJS)\widgets_dirpicker.o \
        $(OBJS)\widgets_radiobox.o \
        $(OBJS)\widgets_slider.o \
        $(OBJS)\widgets_spinbtn.o \
@@ -162,6 +165,10 @@ ifeq ($(SHARED),1)
 __DLLFLAG_p_1 = --define WXUSINGDLL
 endif
 ifeq ($(MONOLITHIC),0)
+__WXLIB_XML_p = \
+       -lwxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml
+endif
+ifeq ($(MONOLITHIC),0)
 __WXLIB_ADV_p = \
        -lwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv
 endif
@@ -231,7 +238,7 @@ clean:
        -if exist $(OBJS)\widgets.exe del $(OBJS)\widgets.exe
 
 $(OBJS)\widgets.exe: $(WIDGETS_OBJECTS) $(OBJS)\widgets_sample_rc.o
-       $(CXX) -o $@ $(WIDGETS_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG)  -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
+       $(CXX) -o $@ $(WIDGETS_OBJECTS) $(LDFLAGS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--subsystem,windows -mwindows  $(__WXLIB_XML_p)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  -lwxzlib$(WXDEBUGFLAG)  -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32
 
 $(OBJS)\widgets_button.o: ./button.cpp
        $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
@@ -257,7 +264,16 @@ $(OBJS)\widgets_listbox.o: ./listbox.cpp
 $(OBJS)\widgets_notebook.o: ./notebook.cpp
        $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\widgets_picker.o: ./picker.cpp
+$(OBJS)\widgets_clrpicker.o: ./clrpicker.cpp
+       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\widgets_fontpicker.o: ./fontpicker.cpp
+       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\widgets_filepicker.o: ./filepicker.cpp
+       $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
+
+$(OBJS)\widgets_dirpicker.o: ./dirpicker.cpp
        $(CXX) -c -o $@ $(WIDGETS_CXXFLAGS) $(CPPDEPS) $<
 
 $(OBJS)\widgets_radiobox.o: ./radiobox.cpp
index c4027d82555d012e9c7928436ad180d067f9d016..ac559d4e00c442768a4b4f135389e1a112f478cc 100644 (file)
@@ -35,7 +35,10 @@ WIDGETS_OBJECTS =  \
        $(OBJS)\widgets_hyperlnk.obj \
        $(OBJS)\widgets_listbox.obj \
        $(OBJS)\widgets_notebook.obj \
-       $(OBJS)\widgets_picker.obj \
+       $(OBJS)\widgets_clrpicker.obj \
+       $(OBJS)\widgets_fontpicker.obj \
+       $(OBJS)\widgets_filepicker.obj \
+       $(OBJS)\widgets_dirpicker.obj \
        $(OBJS)\widgets_radiobox.obj \
        $(OBJS)\widgets_slider.obj \
        $(OBJS)\widgets_spinbtn.obj \
@@ -261,6 +264,10 @@ __DLLFLAG_p = /DWXUSINGDLL
 __DLLFLAG_p_1 = /d WXUSINGDLL
 !endif
 !if "$(MONOLITHIC)" == "0"
+__WXLIB_XML_p = \
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
+!if "$(MONOLITHIC)" == "0"
 __WXLIB_ADV_p = \
        wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_adv.lib
 !endif
@@ -312,7 +319,7 @@ clean:
 
 $(OBJS)\widgets.exe: $(WIDGETS_OBJECTS) $(OBJS)\widgets_sample.res
        link /NOLOGO /OUT:$@ $(LDFLAGS) $(__DEBUGINFO_1)  $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) /SUBSYSTEM:WINDOWS @<<
-       $(WIDGETS_OBJECTS)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib
+       $(WIDGETS_OBJECTS)  $(__WXLIB_XML_p)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__UNICOWS_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib
 <<
 
 $(OBJS)\widgets_button.obj: .\button.cpp
@@ -339,7 +346,16 @@ $(OBJS)\widgets_listbox.obj: .\listbox.cpp
 $(OBJS)\widgets_notebook.obj: .\notebook.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
 
-$(OBJS)\widgets_picker.obj: .\picker.cpp
+$(OBJS)\widgets_clrpicker.obj: .\clrpicker.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_fontpicker.obj: .\fontpicker.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_filepicker.obj: .\filepicker.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
+
+$(OBJS)\widgets_dirpicker.obj: .\dirpicker.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(WIDGETS_CXXFLAGS) $**
 
 $(OBJS)\widgets_radiobox.obj: .\radiobox.cpp
index 45ecc1157175c483f0e2e135146508947eac7f75..c36a5b3e93101df3d51c5caa067a421efb11f527 100644 (file)
@@ -138,6 +138,11 @@ __EXCEPTIONSFLAG_8 =
 !ifeq USE_EXCEPTIONS 1
 __EXCEPTIONSFLAG_8 = -xs
 !endif
+__WXLIB_XML_p =
+!ifeq MONOLITHIC 0
+__WXLIB_XML_p = &
+       wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_xml.lib
+!endif
 __WXLIB_ADV_p =
 !ifeq MONOLITHIC 0
 __WXLIB_ADV_p = &
@@ -232,7 +237,10 @@ WIDGETS_OBJECTS =  &
        $(OBJS)\widgets_hyperlnk.obj &
        $(OBJS)\widgets_listbox.obj &
        $(OBJS)\widgets_notebook.obj &
-       $(OBJS)\widgets_picker.obj &
+       $(OBJS)\widgets_clrpicker.obj &
+       $(OBJS)\widgets_fontpicker.obj &
+       $(OBJS)\widgets_filepicker.obj &
+       $(OBJS)\widgets_dirpicker.obj &
        $(OBJS)\widgets_radiobox.obj &
        $(OBJS)\widgets_slider.obj &
        $(OBJS)\widgets_spinbtn.obj &
@@ -265,7 +273,7 @@ $(OBJS)\widgets.exe :  $(WIDGETS_OBJECTS) $(OBJS)\widgets_sample.res
        @%append $(OBJS)\widgets.lbc option caseexact
        @%append $(OBJS)\widgets.lbc $(LDFLAGS) $(__DEBUGINFO_1)  libpath $(LIBDIRNAME) system nt_win ref '_WinMain@16'
        @for %i in ($(WIDGETS_OBJECTS)) do @%append $(OBJS)\widgets.lbc file %i
-       @for %i in ( $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib) do @%append $(OBJS)\widgets.lbc library %i
+       @for %i in ( $(__WXLIB_XML_p)  $(__WXLIB_ADV_p)  $(__WXLIB_HTML_p)  $(__WXLIB_CORE_p)  $(__WXLIB_BASE_p)  $(__WXLIB_MONO_p) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p)  wxzlib$(WXDEBUGFLAG).lib  wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE)  kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib) do @%append $(OBJS)\widgets.lbc library %i
        @%append $(OBJS)\widgets.lbc option resource=$(OBJS)\widgets_sample.res
        @for %i in () do @%append $(OBJS)\widgets.lbc option stack=%i
        wlink @$(OBJS)\widgets.lbc
@@ -294,7 +302,16 @@ $(OBJS)\widgets_listbox.obj :  .AUTODEPEND .\listbox.cpp
 $(OBJS)\widgets_notebook.obj :  .AUTODEPEND .\notebook.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
 
-$(OBJS)\widgets_picker.obj :  .AUTODEPEND .\picker.cpp
+$(OBJS)\widgets_clrpicker.obj :  .AUTODEPEND .\clrpicker.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
+
+$(OBJS)\widgets_fontpicker.obj :  .AUTODEPEND .\fontpicker.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
+
+$(OBJS)\widgets_filepicker.obj :  .AUTODEPEND .\filepicker.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
+
+$(OBJS)\widgets_dirpicker.obj :  .AUTODEPEND .\dirpicker.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(WIDGETS_CXXFLAGS) $<
 
 $(OBJS)\widgets_radiobox.obj :  .AUTODEPEND .\radiobox.cpp
diff --git a/samples/widgets/picker.cpp b/samples/widgets/picker.cpp
deleted file mode 100644 (file)
index 8ed727a..0000000
+++ /dev/null
@@ -1,638 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-// 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"
-    #include "wx/radiobox.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
-// ----------------------------------------------------------------------------
-
-enum
-{
-    FilePickerMode_Open = 0,
-    FilePickerMode_Save
-};
-
-// 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_filePicker; }
-    virtual void RecreateWidget() { RecreateAllPickers(); }
-
-    // lazy creation of the content
-    virtual void CreateContent();
-
-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);
-
-    // update filepicker radiobox
-    void UpdateFilePickerMode();
-
-    // 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;
-    wxRadioBox *m_radioFilePickerMode;
-
-    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)
-    EVT_RADIOBOX(wxID_ANY, PickerWidgetsPage::OnCheckBox)
-END_EVENT_TABLE()
-
-// ============================================================================
-// implementation
-// ============================================================================
-
-#if defined(__WXGTK24__)
-    #define FAMILY_CTRLS NATIVE_CTRLS
-#else
-    #define FAMILY_CTRLS GENERIC_CTRLS
-#endif
-
-IMPLEMENT_WIDGETS_PAGE(PickerWidgetsPage, _T("Pickers"),
-                       PICKER_CTRLS | FAMILY_CTRLS);
-
-PickerWidgetsPage::PickerWidgetsPage(WidgetsBookCtrl *book,
-                                     wxImageList *imaglist)
-                  : WidgetsPage(book, imaglist, picker_xpm)
-{
-}
-
-void PickerWidgetsPage::CreateContent()
-{
-    // 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
-    static const wxString mode[] = { _T("open"), _T("save") };
-    m_radioFilePickerMode = new wxRadioBox(this, wxID_ANY, _T("wxFilePicker mode"),
-                                           wxDefaultPosition, wxDefaultSize,
-                                           WXSIZEOF(mode), mode);
-    boxleft->Add(m_radioFilePickerMode, 0, wxALL|wxGROW, 5);
-
-    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_VERTICAL | wxALIGN_RIGHT | 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_VERTICAL | wxALIGN_RIGHT | 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_VERTICAL | wxALIGN_RIGHT | 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_VERTICAL | wxALIGN_RIGHT | 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;
-
-            if (m_radioFilePickerMode->GetSelection() == FilePickerMode_Open)
-                style |= wxFLP_OPEN;
-            else
-                style |= wxFLP_SAVE;
-
-            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_radioFilePickerMode->SetSelection((wxFLP_DEFAULT_STYLE & wxFLP_OPEN) ?
-                                            FilePickerMode_Open : FilePickerMode_Save);
-    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);
-
-    UpdateFilePickerMode();
-#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
-}
-
-void PickerWidgetsPage::UpdateFilePickerMode()
-{
-    switch (m_radioFilePickerMode->GetSelection())
-    {
-    case FilePickerMode_Open:
-        m_chkFileOverwritePrompt->SetValue(false);
-        m_chkFileOverwritePrompt->Disable();
-        m_chkFileMustExist->Enable();
-        break;
-    case FilePickerMode_Save:
-        m_chkFileMustExist->SetValue(false);
-        m_chkFileMustExist->Disable();
-        m_chkFileOverwritePrompt->Enable();
-        break;
-    }
-}
-
-
-// ----------------------------------------------------------------------------
-// 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);
-
-    if (event.GetEventObject() == m_radioFilePickerMode)
-    {
-        UpdateFilePickerMode();
-        RecreatePicker(Picker_File);
-    }
-}
-
-#endif  // wxUSE_COLOURPICKERCTRL || wxUSE_FILEPICKERCTRL || wxUSE_DIRPICKERCTRL || wxUSE_FONTPICKERCTRL
index 4399f9f5c1562e20975da45311b13e549601ee18..597a6b03f1e2f7203e392834b75a537ccd5e7101 100644 (file)
             hyperlnk.cpp
             listbox.cpp
             notebook.cpp
-            picker.cpp
+            clrpicker.cpp
+            fontpicker.cpp
+            filepicker.cpp
+            dirpicker.cpp
             radiobox.cpp
             slider.cpp
             spinbtn.cpp
index bd2ab7a6d7b93dec94936d02066205b534b4ce50..2d26ce0667ca3876cf11f4bc8bcd894e4e21e042 100644 (file)
@@ -65,8 +65,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27u_xml.lib wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27u_xml.lib wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Universal Unicode Debug"
 
@@ -90,8 +90,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27ud_xml.lib wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27ud_xml.lib wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Universal Release"
 
@@ -115,8 +115,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27_xml.lib wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27_xml.lib wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Universal Debug"
 
@@ -140,8 +140,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27d_xml.lib wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27d_xml.lib wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Unicode Release"
 
@@ -165,8 +165,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27u_xml.lib wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27u_xml.lib wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswudll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Unicode Debug"
 
@@ -190,8 +190,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27ud_xml.lib wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27ud_xml.lib wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Release"
 
@@ -215,8 +215,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27_xml.lib wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27_xml.lib wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswdll\widgets.exe" /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 DLL Debug"
 
@@ -240,8 +240,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
-# ADD LINK32 wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD BASE LINK32 wxbase27d_xml.lib wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
+# ADD LINK32 wxbase27d_xml.lib wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswddll\widgets.exe" /debug /libpath:".\..\..\lib\vc_dll" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Universal Unicode Release"
 
@@ -265,8 +265,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27u_xml.lib wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27u_xml.lib wxmswuniv27u_adv.lib wxmswuniv27u_html.lib wxmswuniv27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Universal Unicode Debug"
 
@@ -290,8 +290,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27ud_xml.lib wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27ud_xml.lib wxmswuniv27ud_adv.lib wxmswuniv27ud_html.lib wxmswuniv27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Universal Release"
 
@@ -315,8 +315,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuniv\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuniv\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27_xml.lib wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuniv\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27_xml.lib wxmswuniv27_adv.lib wxmswuniv27_html.lib wxmswuniv27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswuniv\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Universal Debug"
 
@@ -340,8 +340,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27d_xml.lib wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27d_xml.lib wxmswuniv27d_adv.lib wxmswuniv27d_html.lib wxmswuniv27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswunivd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Unicode Release"
 
@@ -365,8 +365,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27u_xml.lib wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27u_xml.lib wxmsw27u_adv.lib wxmsw27u_html.lib wxmsw27u_core.lib wxbase27u.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregexu.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswu\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Unicode Debug"
 
@@ -390,8 +390,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27ud_xml.lib wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27ud_xml.lib wxmsw27ud_adv.lib wxmsw27ud_html.lib wxmsw27ud_core.lib wxbase27ud.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexud.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswud\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Release"
 
@@ -415,8 +415,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_msw\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_msw\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27_xml.lib wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_msw\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27_xml.lib wxmsw27_adv.lib wxmsw27_html.lib wxmsw27_core.lib wxbase27.lib wxtiff.lib wxjpeg.lib wxpng.lib wxzlib.lib wxregex.lib wxexpat.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_msw\widgets.exe" /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ELSEIF  "$(CFG)" == "widgets - Win32 Debug"
 
@@ -440,8 +440,8 @@ BSC32=bscmake.exe
 # ADD BASE BSC32 /nologo
 # ADD BSC32 /nologo
 LINK32=link.exe
-# ADD BASE LINK32 wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
-# ADD LINK32 wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD BASE LINK32 wxbase27d_xml.lib wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
+# ADD LINK32 wxbase27d_xml.lib wxmsw27d_adv.lib wxmsw27d_html.lib wxmsw27d_core.lib wxbase27d.lib wxtiffd.lib wxjpegd.lib wxpngd.lib wxzlibd.lib wxregexd.lib wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib /nologo /machine:i386 /out:"vc_mswd\widgets.exe" /debug /libpath:".\..\..\lib\vc_lib" /subsystem:windows
 
 !ENDIF
 
@@ -476,6 +476,10 @@ SOURCE=.\checkbox.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\clrpicker.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\combobox.cpp
 # End Source File
 # Begin Source File
@@ -484,6 +488,18 @@ SOURCE=.\datepick.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\dirpicker.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\filepicker.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\fontpicker.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\gauge.cpp
 # End Source File
 # Begin Source File
@@ -500,10 +516,6 @@ SOURCE=.\notebook.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\picker.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=.\radiobox.cpp
 # End Source File
 # Begin Source File