VisualBuilder: Add GScrollBar (and yes, an icon for it, too.)

This commit is contained in:
Andreas Kling 2019-04-11 06:42:07 +02:00
parent f25c524f20
commit 3f67298dad
Notes: sideshowbarker 2024-07-19 14:45:31 +09:00
4 changed files with 11 additions and 0 deletions

View file

@ -7,12 +7,15 @@
#include <LibGUI/GTextEditor.h>
#include <LibGUI/GProgressBar.h>
#include <LibGUI/GCheckBox.h>
#include <LibGUI/GScrollBar.h>
static GWidget* build_gwidget(WidgetType type, GWidget* parent)
{
switch (type) {
case WidgetType::GWidget:
return new GWidget(parent);
case WidgetType::GScrollBar:
return new GScrollBar(Orientation::Vertical, parent);
case WidgetType::GLabel: {
auto* label = new GLabel(parent);
label->set_text("label_1");

View file

@ -32,6 +32,7 @@ enum class WidgetType {
GTextEditor,
GProgressBar,
GCheckBox,
GScrollBar,
};
class VBWidget : public Retainable<VBWidget>, public Weakable<VBWidget> {

View file

@ -109,5 +109,12 @@ GWindow* make_toolbox_window()
if (auto* form = VBForm::current())
form->insert_widget(WidgetType::GCheckBox);
};
auto* scrollbar_button = new GButton(widget);
scrollbar_button->set_tooltip("GScrollBar");
scrollbar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/scrollbar.png"));
scrollbar_button->on_click = [] (GButton&) {
if (auto* form = VBForm::current())
form->insert_widget(WidgetType::GScrollBar);
};
return window;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B