mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
VisualBuilder: Add GRadioButton to the widget repertoire.
This commit is contained in:
parent
b0d8dba16d
commit
40ca3b019f
Notes:
sideshowbarker
2024-07-19 13:48:56 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/40ca3b019f2
@ -1,18 +1,19 @@
|
||||
#include "VBWidget.h"
|
||||
#include "VBForm.h"
|
||||
#include "VBProperty.h"
|
||||
#include "VBWidgetRegistry.h"
|
||||
#include "VBWidget.h"
|
||||
#include "VBWidgetPropertyModel.h"
|
||||
#include <LibGUI/GPainter.h>
|
||||
#include <LibGUI/GLabel.h>
|
||||
#include "VBWidgetRegistry.h"
|
||||
#include <LibGUI/GButton.h>
|
||||
#include <LibGUI/GCheckBox.h>
|
||||
#include <LibGUI/GGroupBox.h>
|
||||
#include <LibGUI/GLabel.h>
|
||||
#include <LibGUI/GPainter.h>
|
||||
#include <LibGUI/GProgressBar.h>
|
||||
#include <LibGUI/GRadioButton.h>
|
||||
#include <LibGUI/GScrollBar.h>
|
||||
#include <LibGUI/GSlider.h>
|
||||
#include <LibGUI/GSpinBox.h>
|
||||
#include <LibGUI/GTextEditor.h>
|
||||
#include <LibGUI/GGroupBox.h>
|
||||
#include <LibGUI/GCheckBox.h>
|
||||
#include <LibGUI/GProgressBar.h>
|
||||
#include <LibGUI/GSlider.h>
|
||||
|
||||
VBWidget::VBWidget(VBWidgetType type, VBForm& form)
|
||||
: m_type(type)
|
||||
@ -161,9 +162,14 @@ void VBWidget::setup_properties()
|
||||
}
|
||||
|
||||
if (m_type == VBWidgetType::GCheckBox) {
|
||||
VB_ADD_PROPERTY(GCheckBox, "caption", text, set_text, string);
|
||||
VB_ADD_PROPERTY(GCheckBox, "text", text, set_text, string);
|
||||
VB_ADD_PROPERTY(GCheckBox, "checked", is_checked, set_checked, bool);
|
||||
}
|
||||
|
||||
if (m_type == VBWidgetType::GRadioButton) {
|
||||
VB_ADD_PROPERTY(GRadioButton, "text", text, set_text, string);
|
||||
VB_ADD_PROPERTY(GRadioButton, "checked", is_checked, set_checked, bool);
|
||||
}
|
||||
}
|
||||
|
||||
void VBWidget::synchronize_properties()
|
||||
|
@ -1,14 +1,15 @@
|
||||
#include "VBWidgetRegistry.h"
|
||||
#include "VBProperty.h"
|
||||
#include <LibGUI/GLabel.h>
|
||||
#include "VBWidgetRegistry.h"
|
||||
#include <LibGUI/GButton.h>
|
||||
#include <LibGUI/GCheckBox.h>
|
||||
#include <LibGUI/GGroupBox.h>
|
||||
#include <LibGUI/GLabel.h>
|
||||
#include <LibGUI/GProgressBar.h>
|
||||
#include <LibGUI/GRadioButton.h>
|
||||
#include <LibGUI/GScrollBar.h>
|
||||
#include <LibGUI/GSlider.h>
|
||||
#include <LibGUI/GSpinBox.h>
|
||||
#include <LibGUI/GTextEditor.h>
|
||||
#include <LibGUI/GProgressBar.h>
|
||||
#include <LibGUI/GCheckBox.h>
|
||||
#include <LibGUI/GScrollBar.h>
|
||||
#include <LibGUI/GGroupBox.h>
|
||||
#include <LibGUI/GSlider.h>
|
||||
|
||||
static String to_class_name(VBWidgetType type)
|
||||
{
|
||||
@ -20,6 +21,7 @@ static String to_class_name(VBWidgetType type)
|
||||
case VBWidgetType::GTextEditor: return "GTextEditor";
|
||||
case VBWidgetType::GProgressBar: return "GProgressBar";
|
||||
case VBWidgetType::GCheckBox: return "GCheckBox";
|
||||
case VBWidgetType::GRadioButton: return "GRadioButton";
|
||||
case VBWidgetType::GScrollBar: return "GScrollBar";
|
||||
case VBWidgetType::GGroupBox: return "GGroupBox";
|
||||
case VBWidgetType::GSlider: return "GSlider";
|
||||
@ -76,6 +78,8 @@ static GWidget* build_gwidget(VBWidgetType type, GWidget* parent)
|
||||
box->set_text("checkbox_1");
|
||||
return box;
|
||||
}
|
||||
case VBWidgetType::GRadioButton:
|
||||
return new GRadioButton("radio_1", parent);
|
||||
default:
|
||||
ASSERT_NOT_REACHED();
|
||||
return nullptr;
|
||||
|
@ -10,6 +10,7 @@ enum class VBWidgetType
|
||||
GTextEditor,
|
||||
GProgressBar,
|
||||
GCheckBox,
|
||||
GRadioButton,
|
||||
GScrollBar,
|
||||
GGroupBox,
|
||||
GSlider,
|
||||
|
@ -80,9 +80,11 @@ GWindow* make_toolbox_window()
|
||||
auto* widget = new GWidget;
|
||||
widget->set_fill_with_background_color(true);
|
||||
widget->set_layout(make<GBoxLayout>(Orientation::Vertical));
|
||||
widget->layout()->set_spacing(0);
|
||||
window->set_main_widget(widget);
|
||||
|
||||
auto* label_button = new GButton(widget);
|
||||
label_button->set_button_style(ButtonStyle::CoolBar);
|
||||
label_button->set_tooltip("GLabel");
|
||||
label_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/label.png"));
|
||||
label_button->on_click = [] (GButton&) {
|
||||
@ -91,6 +93,7 @@ GWindow* make_toolbox_window()
|
||||
};
|
||||
|
||||
auto* button_button = new GButton(widget);
|
||||
button_button->set_button_style(ButtonStyle::CoolBar);
|
||||
button_button->set_tooltip("GButton");
|
||||
button_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/button.png"));
|
||||
button_button->on_click = [] (GButton&) {
|
||||
@ -98,6 +101,7 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GButton);
|
||||
};
|
||||
auto* spinbox_button = new GButton(widget);
|
||||
spinbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||
spinbox_button->set_tooltip("GSpinBox");
|
||||
spinbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/spinbox.png"));
|
||||
spinbox_button->on_click = [] (GButton&) {
|
||||
@ -105,6 +109,7 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GSpinBox);
|
||||
};
|
||||
auto* editor_button = new GButton(widget);
|
||||
editor_button->set_button_style(ButtonStyle::CoolBar);
|
||||
editor_button->set_tooltip("GTextEditor");
|
||||
editor_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/textbox.png"));
|
||||
editor_button->on_click = [] (GButton&) {
|
||||
@ -112,6 +117,7 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GTextEditor);
|
||||
};
|
||||
auto* progress_bar_button = new GButton(widget);
|
||||
progress_bar_button->set_button_style(ButtonStyle::CoolBar);
|
||||
progress_bar_button->set_tooltip("GProgressBar");
|
||||
progress_bar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/progressbar.png"));
|
||||
progress_bar_button->on_click = [] (GButton&) {
|
||||
@ -119,6 +125,7 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GProgressBar);
|
||||
};
|
||||
auto* slider_button = new GButton(widget);
|
||||
slider_button->set_button_style(ButtonStyle::CoolBar);
|
||||
slider_button->set_tooltip("GSlider");
|
||||
slider_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/slider.png"));
|
||||
slider_button->on_click = [] (GButton&) {
|
||||
@ -126,13 +133,23 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GSlider);
|
||||
};
|
||||
auto* checkbox_button = new GButton(widget);
|
||||
checkbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||
checkbox_button->set_tooltip("GCheckBox");
|
||||
checkbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/checkbox.png"));
|
||||
checkbox_button->on_click = [] (GButton&) {
|
||||
if (auto* form = VBForm::current())
|
||||
form->insert_widget(VBWidgetType::GCheckBox);
|
||||
};
|
||||
auto* radiobutton_button = new GButton(widget);
|
||||
radiobutton_button->set_button_style(ButtonStyle::CoolBar);
|
||||
radiobutton_button->set_tooltip("GRadioButton");
|
||||
radiobutton_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/filled-radio-circle.png"));
|
||||
radiobutton_button->on_click = [] (GButton&) {
|
||||
if (auto* form = VBForm::current())
|
||||
form->insert_widget(VBWidgetType::GRadioButton);
|
||||
};
|
||||
auto* scrollbar_button = new GButton(widget);
|
||||
scrollbar_button->set_button_style(ButtonStyle::CoolBar);
|
||||
scrollbar_button->set_tooltip("GScrollBar");
|
||||
scrollbar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/scrollbar.png"));
|
||||
scrollbar_button->on_click = [] (GButton&) {
|
||||
@ -140,6 +157,7 @@ GWindow* make_toolbox_window()
|
||||
form->insert_widget(VBWidgetType::GScrollBar);
|
||||
};
|
||||
auto* groupbox_button = new GButton(widget);
|
||||
groupbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||
groupbox_button->set_tooltip("GGroupBox");
|
||||
groupbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/groupbox.png"));
|
||||
groupbox_button->on_click = [] (GButton&) {
|
||||
|
Loading…
Reference in New Issue
Block a user