Use wxBitmapBundle for widgets sample icons

Increase the size of the wxTreeCtrl slightly so the items better fit.
This commit is contained in:
Maarten Bent
2025-03-30 22:21:53 +02:00
parent 5534958ef5
commit e0ed66b8d3
34 changed files with 115 additions and 75 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ enum
class ActivityIndicatorWidgetsPage : public WidgetsPage
{
public:
ActivityIndicatorWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
ActivityIndicatorWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, activityindicator_xpm)
{
m_indicator = nullptr;
+2 -2
View File
@@ -98,7 +98,7 @@ enum
class BitmapComboBoxWidgetsPage : public ItemContainerWidgetsPage
{
public:
BitmapComboBoxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
BitmapComboBoxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_combobox; }
virtual wxItemContainer* GetContainer() const override { return m_combobox; }
@@ -247,7 +247,7 @@ IMPLEMENT_WIDGETS_PAGE(BitmapComboBoxWidgetsPage, "BitmapCombobox",
BitmapComboBoxWidgetsPage::BitmapComboBoxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: ItemContainerWidgetsPage(book, imaglist, bmpcombobox_xpm)
{
// init everything
+2 -2
View File
@@ -87,7 +87,7 @@ enum
class ButtonWidgetsPage : public WidgetsPage
{
public:
ButtonWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ButtonWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_button; }
virtual void RecreateWidget() override { CreateButton(); }
@@ -206,7 +206,7 @@ wxEND_EVENT_TABLE()
IMPLEMENT_WIDGETS_PAGE(ButtonWidgetsPage, "Button", FAMILY_CTRLS );
ButtonWidgetsPage::ButtonWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, button_xpm)
{
// init everything
+2 -2
View File
@@ -69,7 +69,7 @@ enum
class CheckBoxWidgetsPage : public WidgetsPage
{
public:
CheckBoxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
CheckBoxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_checkbox; }
virtual void RecreateWidget() override { CreateCheckbox(); }
@@ -155,7 +155,7 @@ wxEND_EVENT_TABLE()
IMPLEMENT_WIDGETS_PAGE(CheckBoxWidgetsPage, "CheckBox", FAMILY_CTRLS );
CheckBoxWidgetsPage::CheckBoxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, checkbox_xpm)
{
}
+2 -2
View File
@@ -72,7 +72,7 @@ enum
class ChoiceWidgetsPage : public ItemContainerWidgetsPage
{
public:
ChoiceWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ChoiceWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_choice; }
virtual wxItemContainer* GetContainer() const override { return m_choice; }
@@ -180,7 +180,7 @@ IMPLEMENT_WIDGETS_PAGE(ChoiceWidgetsPage, "Choice",
);
ChoiceWidgetsPage::ChoiceWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: ItemContainerWidgetsPage(book, imaglist, choice_xpm)
{
// init everything
+2 -2
View File
@@ -60,7 +60,7 @@ enum
class ColourPickerWidgetsPage : public WidgetsPage
{
public:
ColourPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ColourPickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_clrPicker; }
virtual void RecreateWidget() override { RecreatePicker(); }
@@ -132,7 +132,7 @@ IMPLEMENT_WIDGETS_PAGE(ColourPickerWidgetsPage, "ColourPicker",
PICKER_CTRLS | FAMILY_CTRLS);
ColourPickerWidgetsPage::ColourPickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, clrpicker_xpm)
{
}
+2 -2
View File
@@ -90,7 +90,7 @@ enum
class ComboboxWidgetsPage : public ItemContainerWidgetsPage
{
public:
ComboboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ComboboxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_combobox; }
virtual wxTextEntryBase *GetTextEntry() const override { return m_combobox; }
@@ -236,7 +236,7 @@ IMPLEMENT_WIDGETS_PAGE(ComboboxWidgetsPage, "Combobox",
);
ComboboxWidgetsPage::ComboboxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: ItemContainerWidgetsPage(book, imaglist, combobox_xpm)
{
// init everything
+2 -2
View File
@@ -65,7 +65,7 @@ enum
class DatePickerWidgetsPage : public WidgetsPage
{
public:
DatePickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
DatePickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_datePicker; }
virtual void RecreateWidget() override { CreateDatePicker(); }
@@ -140,7 +140,7 @@ IMPLEMENT_WIDGETS_PAGE(DatePickerWidgetsPage, "DatePicker",
);
DatePickerWidgetsPage::DatePickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
:WidgetsPage(book, imaglist, datepick_xpm)
{
}
+2 -2
View File
@@ -92,7 +92,7 @@ enum
class DirCtrlWidgetsPage : public WidgetsPage
{
public:
DirCtrlWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
DirCtrlWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual ~DirCtrlWidgetsPage() {}
virtual wxWindow *GetWidget() const override { return m_dirCtrl; }
@@ -166,7 +166,7 @@ IMPLEMENT_WIDGETS_PAGE(DirCtrlWidgetsPage, "DirCtrl",
);
DirCtrlWidgetsPage::DirCtrlWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
:WidgetsPage(book, imaglist, dirctrl_xpm)
{
m_dirCtrl = nullptr;
+2 -2
View File
@@ -63,7 +63,7 @@ enum
class DirPickerWidgetsPage : public WidgetsPage
{
public:
DirPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
DirPickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_dirPicker; }
virtual void RecreateWidget() override { RecreatePicker(); }
@@ -136,7 +136,7 @@ IMPLEMENT_WIDGETS_PAGE(DirPickerWidgetsPage, "DirPicker",
PICKER_CTRLS | FAMILY_CTRLS);
DirPickerWidgetsPage::DirPickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, dirpicker_xpm)
{
}
+2 -2
View File
@@ -64,7 +64,7 @@ enum
class EditableListboxWidgetsPage : public WidgetsPage
{
public:
EditableListboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
EditableListboxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_lbox->GetListCtrl(); }
virtual void RecreateWidget() override { CreateLbox(); }
@@ -115,7 +115,7 @@ wxEND_EVENT_TABLE()
IMPLEMENT_WIDGETS_PAGE(EditableListboxWidgetsPage, "EditableListbox", GENERIC_CTRLS);
EditableListboxWidgetsPage::EditableListboxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, listbox_xpm)
{
+2 -2
View File
@@ -64,7 +64,7 @@ enum
class FileCtrlWidgetsPage : public WidgetsPage
{
public:
FileCtrlWidgetsPage( WidgetsBookCtrl *book, wxImageList *imaglist );
FileCtrlWidgetsPage( WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist );
virtual ~FileCtrlWidgetsPage() {}
virtual wxWindow *GetWidget() const override { return m_fileCtrl; }
@@ -146,7 +146,7 @@ IMPLEMENT_WIDGETS_PAGE( FileCtrlWidgetsPage, "FileCtrl",
FAMILY_CTRLS );
FileCtrlWidgetsPage::FileCtrlWidgetsPage( WidgetsBookCtrl *book,
wxImageList *imaglist )
wxVector<wxBitmapBundle>& imaglist )
: WidgetsPage( book, imaglist, dirctrl_xpm )
{
}
+2 -2
View File
@@ -70,7 +70,7 @@ enum
class FilePickerWidgetsPage : public WidgetsPage
{
public:
FilePickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
FilePickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_filePicker; }
virtual void RecreateWidget() override { RecreatePicker(); }
@@ -153,7 +153,7 @@ IMPLEMENT_WIDGETS_PAGE(FilePickerWidgetsPage, "FilePicker",
PICKER_CTRLS | FAMILY_CTRLS);
FilePickerWidgetsPage::FilePickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, filepicker_xpm)
{
}
+2 -2
View File
@@ -60,7 +60,7 @@ enum
class FontPickerWidgetsPage : public WidgetsPage
{
public:
FontPickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
FontPickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_fontPicker; }
virtual void RecreateWidget() override { RecreatePicker(); }
@@ -127,7 +127,7 @@ IMPLEMENT_WIDGETS_PAGE(FontPickerWidgetsPage, "FontPicker",
PICKER_CTRLS | FAMILY_CTRLS);
FontPickerWidgetsPage::FontPickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, fontpicker_xpm)
{
}
+2 -2
View File
@@ -69,7 +69,7 @@ enum
class GaugeWidgetsPage : public WidgetsPage
{
public:
GaugeWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
GaugeWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual ~GaugeWidgetsPage();
virtual wxWindow *GetWidget() const override { return m_gauge; }
@@ -175,7 +175,7 @@ wxEND_EVENT_TABLE()
IMPLEMENT_WIDGETS_PAGE(GaugeWidgetsPage, "Gauge", FAMILY_CTRLS );
GaugeWidgetsPage::GaugeWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
:WidgetsPage(book, imaglist, gauge_xpm)
{
// init everything
+1 -1
View File
@@ -50,7 +50,7 @@
class HeaderCtrlWidgetsPage : public WidgetsPage
{
public:
HeaderCtrlWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
HeaderCtrlWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, header_xpm)
{
m_header = nullptr;
+2 -2
View File
@@ -73,7 +73,7 @@ enum
class HyperlinkWidgetsPage : public WidgetsPage
{
public:
HyperlinkWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
HyperlinkWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual ~HyperlinkWidgetsPage() {}
virtual wxWindow *GetWidget() const override { return m_hyperlink; }
@@ -144,7 +144,7 @@ IMPLEMENT_WIDGETS_PAGE(HyperlinkWidgetsPage, "Hyperlink",
);
HyperlinkWidgetsPage::HyperlinkWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
:WidgetsPage(book, imaglist, hyperlnk_xpm)
{
}
+2 -2
View File
@@ -63,9 +63,9 @@ private:
// ============================================================================
ItemContainerWidgetsPage::ItemContainerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *image_list,
wxVector<wxBitmapBundle>& imaglist,
const char *const icon[])
: WidgetsPage(book, image_list, icon)
: WidgetsPage(book, imaglist, icon)
#if defined(__WXMSW__) || defined(__WXGTK__)
// Reference data needs to be sorted in a dictionary order
// since control's items are sorted in this order too.
+1 -1
View File
@@ -15,7 +15,7 @@ class ItemContainerWidgetsPage : public WidgetsPage
{
public:
ItemContainerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *image_list,
wxVector<wxBitmapBundle>& imaglist,
const char *const icon[]);
virtual ~ItemContainerWidgetsPage();
+2 -2
View File
@@ -81,7 +81,7 @@ enum
class ListboxWidgetsPage : public ItemContainerWidgetsPage
{
public:
ListboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ListboxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_lbox; }
virtual wxItemContainer* GetContainer() const override { return m_lbox; }
@@ -246,7 +246,7 @@ IMPLEMENT_WIDGETS_PAGE(ListboxWidgetsPage, "Listbox",
);
ListboxWidgetsPage::ListboxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: ItemContainerWidgetsPage(book, imaglist, listbox_xpm)
{
// init everything
+2 -2
View File
@@ -250,7 +250,7 @@ public:
class NativeWidgetsPage : public WidgetsPage
{
public:
NativeWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
NativeWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_nativeWindow; }
virtual void RecreateWidget() override;
@@ -275,7 +275,7 @@ private:
IMPLEMENT_WIDGETS_PAGE(NativeWidgetsPage, "Native", NATIVE_CTRLS);
NativeWidgetsPage::NativeWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
NativeWidgetsPage::NativeWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, native_xpm)
{
m_nativeWindow = nullptr;
+5 -5
View File
@@ -80,7 +80,7 @@ enum Orient
class BookWidgetsPage : public WidgetsPage
{
public:
BookWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist, const char *const icon[]);
BookWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist, const char *const icon[]);
virtual ~BookWidgetsPage();
virtual wxWindow *GetWidget() const override { return m_book; }
@@ -182,7 +182,7 @@ wxEND_EVENT_TABLE()
// implementation
// ============================================================================
BookWidgetsPage::BookWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist, const char *const icon[])
BookWidgetsPage::BookWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist, const char *const icon[])
:WidgetsPage(book, imaglist, icon)
{
// init everything
@@ -531,7 +531,7 @@ void BookWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
class NotebookWidgetsPage : public BookWidgetsPage
{
public:
NotebookWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
NotebookWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: BookWidgetsPage(book, imaglist, notebook_xpm)
{
RecreateBook();
@@ -610,7 +610,7 @@ void NotebookWidgetsPage::OnPageChanged(wxNotebookEvent& event)
class ListbookWidgetsPage : public BookWidgetsPage
{
public:
ListbookWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
ListbookWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: BookWidgetsPage(book, imaglist, listbook_xpm)
{
RecreateBook();
@@ -683,7 +683,7 @@ void ListbookWidgetsPage::OnPageChanged(wxListbookEvent& event)
class ChoicebookWidgetsPage : public BookWidgetsPage
{
public:
ChoicebookWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
ChoicebookWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: BookWidgetsPage(book, imaglist, choicebk_xpm)
{
RecreateBook();
+2 -2
View File
@@ -85,7 +85,7 @@ enum
class ODComboboxWidgetsPage : public ItemContainerWidgetsPage
{
public:
ODComboboxWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ODComboboxWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_combobox; }
virtual wxTextEntryBase *GetTextEntry() const override
@@ -301,7 +301,7 @@ IMPLEMENT_WIDGETS_PAGE(ODComboboxWidgetsPage, "OwnerDrawnCombobox",
);
ODComboboxWidgetsPage::ODComboboxWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: ItemContainerWidgetsPage(book, imaglist, odcombobox_xpm)
{
// init everything
+2 -2
View File
@@ -71,7 +71,7 @@ static const int TEST_BUTTON = 1;
class RadioWidgetsPage : public WidgetsPage
{
public:
RadioWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
RadioWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_radio; }
virtual void RecreateWidget() override { CreateRadio(); }
@@ -174,7 +174,7 @@ IMPLEMENT_WIDGETS_PAGE(RadioWidgetsPage, "Radio",
);
RadioWidgetsPage::RadioWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, radio_xpm)
{
// init everything
+2 -2
View File
@@ -65,7 +65,7 @@ enum
class SearchCtrlWidgetsPage : public WidgetsPage
{
public:
SearchCtrlWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
SearchCtrlWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_srchCtrl; }
virtual wxTextEntryBase *GetTextEntry() const override { return m_srchCtrl; }
@@ -137,7 +137,7 @@ IMPLEMENT_WIDGETS_PAGE(SearchCtrlWidgetsPage, "SearchCtrl",
FAMILY_CTRLS | EDITABLE_CTRLS | ALL_CTRLS);
SearchCtrlWidgetsPage::SearchCtrlWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, text_xpm)
{
}
+2 -2
View File
@@ -94,7 +94,7 @@ enum
class SliderWidgetsPage : public WidgetsPage
{
public:
SliderWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
SliderWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_slider; }
virtual void RecreateWidget() override { CreateSlider(); }
@@ -251,7 +251,7 @@ wxEND_EVENT_TABLE()
IMPLEMENT_WIDGETS_PAGE(SliderWidgetsPage, "Slider", FAMILY_CTRLS );
SliderWidgetsPage::SliderWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, slider_xpm)
{
// init everything
+2 -2
View File
@@ -82,7 +82,7 @@ enum
class SpinBtnWidgetsPage : public WidgetsPage
{
public:
SpinBtnWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
SpinBtnWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_spinbtn; }
virtual Widgets GetWidgets() const override
@@ -220,7 +220,7 @@ IMPLEMENT_WIDGETS_PAGE(SpinBtnWidgetsPage, "Spin",
);
SpinBtnWidgetsPage::SpinBtnWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, spinbtn_xpm)
{
m_chkVert = nullptr;
+1 -1
View File
@@ -46,7 +46,7 @@
class StatBmpWidgetsPage : public WidgetsPage
{
public:
StatBmpWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
StatBmpWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, statbmp_xpm) {}
virtual void CreateContent() override;
+2 -2
View File
@@ -78,7 +78,7 @@ enum
class StaticWidgetsPage : public WidgetsPage
{
public:
StaticWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
StaticWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_statText; }
virtual Widgets GetWidgets() const override
@@ -181,7 +181,7 @@ IMPLEMENT_WIDGETS_PAGE(StaticWidgetsPage, "Static",
);
StaticWidgetsPage::StaticWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, statbox_xpm)
{
// init everything
+2 -2
View File
@@ -147,7 +147,7 @@ class TextWidgetsPage : public WidgetsPage
{
public:
// ctor(s) and dtor
TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
TextWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_text; }
virtual wxTextEntryBase *GetTextEntry() const override { return m_text; }
@@ -372,7 +372,7 @@ IMPLEMENT_WIDGETS_PAGE(TextWidgetsPage, "Text",
// TextWidgetsPage creation
// ----------------------------------------------------------------------------
TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist)
TextWidgetsPage::TextWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, text_xpm)
{
// init everything
+2 -2
View File
@@ -60,7 +60,7 @@ enum
class TimePickerWidgetsPage : public WidgetsPage
{
public:
TimePickerWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
TimePickerWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_timePicker; }
virtual void RecreateWidget() override { CreateTimePicker(); }
@@ -121,7 +121,7 @@ IMPLEMENT_WIDGETS_PAGE(TimePickerWidgetsPage, "TimePicker",
);
TimePickerWidgetsPage::TimePickerWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
: WidgetsPage(book, imaglist, timepick_xpm)
{
}
+2 -2
View File
@@ -84,7 +84,7 @@ enum
class ToggleWidgetsPage : public WidgetsPage
{
public:
ToggleWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
ToggleWidgetsPage(WidgetsBookCtrl *book, wxVector<wxBitmapBundle>& imaglist);
virtual wxWindow *GetWidget() const override { return m_toggle; }
virtual void RecreateWidget() override { CreateToggle(); }
@@ -184,7 +184,7 @@ IMPLEMENT_WIDGETS_PAGE(ToggleWidgetsPage, "ToggleButton",
);
ToggleWidgetsPage::ToggleWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
wxVector<wxBitmapBundle>& imaglist)
:WidgetsPage(book, imaglist, toggle_xpm)
{
m_chkFit =
+47 -7
View File
@@ -631,10 +631,8 @@ WidgetsFrame::WidgetsFrame(const wxString& title)
void WidgetsFrame::InitBook()
{
wxImageList *imageList = new wxImageList(ICON_SIZE, ICON_SIZE);
wxImage img(sample_xpm);
imageList->Add(wxBitmap(img.Scale(ICON_SIZE, ICON_SIZE)));
wxVector<wxBitmapBundle> imageList;
imageList.push_back(WidgetsPage::CreateBitmapBundle(sample_xpm));
#if !USE_TREEBOOK
WidgetsBookCtrl *books[MAX_PAGES];
@@ -702,7 +700,7 @@ void WidgetsFrame::InitBook()
GetMenuBar()->Append(menuPages, "&Page");
m_book->AssignImageList(imageList);
m_book->SetImages(imageList);
for ( cat = 0; cat < MAX_PAGES; cat++ )
{
@@ -746,6 +744,7 @@ void WidgetsFrame::InitBook()
wxTreeItemIdValue cookie;
tree->EnsureVisible(tree->GetFirstChild(tree->GetRootItem(), cookie));
tree->SetMinSize(wxSize(tree->GetBestSize().GetWidth() * 1.1, wxDefaultCoord));
#else
if ( !pageSet || !m_book->GetCurrentPage() )
{
@@ -1363,16 +1362,57 @@ WidgetsPageInfo::WidgetsPageInfo(Constructor ctor, const wxString& label, int ca
// WidgetsPage
// ----------------------------------------------------------------------------
namespace
{
class FixedSizeImpl : public wxBitmapBundleImpl
{
public:
FixedSizeImpl(const wxSize& sizeDef, const wxImage& img)
: m_sizeDef(sizeDef)
, m_image(img)
{
}
wxSize GetDefaultSize() const override
{
return m_sizeDef;
}
wxSize GetPreferredBitmapSizeAtScale(double scale) const override
{
return m_sizeDef * scale;
}
wxBitmap GetBitmap(const wxSize& size) override
{
wxBitmap bmp(m_image);
if (size != bmp.GetSize())
wxBitmap::Rescale(bmp, size);
return bmp;
}
private:
const wxSize m_sizeDef;
const wxImage m_image;
};
} // anonymous namespace
WidgetsPageInfo *WidgetsPage::ms_widgetPages = nullptr;
WidgetsPage::WidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist,
wxVector<wxBitmapBundle>& imaglist,
const char *const icon[])
: wxScrolledWindow(book, wxID_ANY,
wxDefaultPosition, wxDefaultSize,
wxCLIP_CHILDREN | wxTAB_TRAVERSAL)
{
imaglist->Add(wxBitmap(wxImage(icon).Scale(ICON_SIZE, ICON_SIZE)));
imaglist.push_back(CreateBitmapBundle(icon));
}
wxBitmapBundle WidgetsPage::CreateBitmapBundle(const char* const icon[])
{
return wxBitmapBundle::FromImpl(new FixedSizeImpl(wxSize(16, 16), wxImage(icon)));
}
/* static */
+5 -5
View File
@@ -35,8 +35,6 @@
#define USE_LOG 0
#endif
#define ICON_SIZE 16
class WXDLLIMPEXP_FWD_CORE wxCheckBox;
class WXDLLIMPEXP_FWD_CORE wxSizer;
class WXDLLIMPEXP_FWD_CORE wxImageList;
@@ -123,7 +121,7 @@ class WidgetsPage : public wxScrolledWindow
{
public:
WidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist,
wxVector<wxBitmapBundle>& imaglist,
const char *const icon[]);
// return the control shown by this page
@@ -166,6 +164,8 @@ public:
// except during startup and shutdown)
static bool IsUsingLogWindow();
static wxBitmapBundle CreateBitmapBundle(const char* const icon[]);
protected:
// several helper functions for page creation
@@ -211,7 +211,7 @@ class WidgetsPageInfo
{
public:
typedef WidgetsPage *(*Constructor)(WidgetsBookCtrl *book,
wxImageList *imaglist);
wxVector<wxBitmapBundle>& imaglist);
// our ctor
WidgetsPageInfo(Constructor ctor, const wxString& label, int categories);
@@ -249,7 +249,7 @@ private:
// and this one must be inserted somewhere in the source file
#define IMPLEMENT_WIDGETS_PAGE(classname, label, categories) \
WidgetsPage *wxCtorFor##classname(WidgetsBookCtrl *book, \
wxImageList *imaglist) \
wxVector<wxBitmapBundle>& imaglist) \
{ return new classname(book, imaglist); } \
WidgetsPageInfo classname:: \
ms_info##classname(wxCtorFor##classname, label, ALL_CTRLS | categories)