diff --git a/Applications/VisualBuilder/VBWidget.cpp b/Applications/VisualBuilder/VBWidget.cpp index 2e9cc0c332..68e47b6c9f 100644 --- a/Applications/VisualBuilder/VBWidget.cpp +++ b/Applications/VisualBuilder/VBWidget.cpp @@ -8,6 +8,7 @@ #include #include #include +#include static GWidget* build_gwidget(WidgetType type, GWidget* parent) { @@ -16,6 +17,8 @@ static GWidget* build_gwidget(WidgetType type, GWidget* parent) return new GWidget(parent); case WidgetType::GScrollBar: return new GScrollBar(Orientation::Vertical, parent); + case WidgetType::GGroupBox: + return new GGroupBox("groupbox_1", parent); case WidgetType::GLabel: { auto* label = new GLabel(parent); label->set_text("label_1"); diff --git a/Applications/VisualBuilder/VBWidget.h b/Applications/VisualBuilder/VBWidget.h index 178ba6a725..4fcc894f5e 100644 --- a/Applications/VisualBuilder/VBWidget.h +++ b/Applications/VisualBuilder/VBWidget.h @@ -33,6 +33,7 @@ enum class WidgetType { GProgressBar, GCheckBox, GScrollBar, + GGroupBox, }; class VBWidget : public Retainable, public Weakable { diff --git a/Applications/VisualBuilder/main.cpp b/Applications/VisualBuilder/main.cpp index c8c56e0139..d1f477b4eb 100644 --- a/Applications/VisualBuilder/main.cpp +++ b/Applications/VisualBuilder/main.cpp @@ -116,5 +116,12 @@ GWindow* make_toolbox_window() if (auto* form = VBForm::current()) form->insert_widget(WidgetType::GScrollBar); }; + auto* groupbox_button = new GButton(widget); + groupbox_button->set_tooltip("GGroupBox"); + groupbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/groupbox.png")); + groupbox_button->on_click = [] (GButton&) { + if (auto* form = VBForm::current()) + form->insert_widget(WidgetType::GGroupBox); + }; return window; } diff --git a/Base/res/icons/vbwidgets/groupbox.png b/Base/res/icons/vbwidgets/groupbox.png new file mode 100644 index 0000000000..3e8dd643bd Binary files /dev/null and b/Base/res/icons/vbwidgets/groupbox.png differ