mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-22 23:50:19 +00:00
VisualBuilder: Run clang-format on everything.
This commit is contained in:
parent
fba2c971e7
commit
892acfb10d
Notes:
sideshowbarker
2024-07-19 13:41:29 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/892acfb10d9
6 changed files with 100 additions and 82 deletions
|
@ -1,11 +1,11 @@
|
||||||
#include "VBForm.h"
|
#include "VBForm.h"
|
||||||
#include "VBWidget.h"
|
|
||||||
#include "VBProperty.h"
|
#include "VBProperty.h"
|
||||||
#include <LibGUI/GPainter.h>
|
#include "VBWidget.h"
|
||||||
#include <LibGUI/GMenu.h>
|
|
||||||
#include <LibGUI/GAction.h>
|
|
||||||
#include <LibGUI/GMessageBox.h>
|
|
||||||
#include <LibCore/CFile.h>
|
#include <LibCore/CFile.h>
|
||||||
|
#include <LibGUI/GAction.h>
|
||||||
|
#include <LibGUI/GMenu.h>
|
||||||
|
#include <LibGUI/GMessageBox.h>
|
||||||
|
#include <LibGUI/GPainter.h>
|
||||||
|
|
||||||
static VBForm* s_current;
|
static VBForm* s_current;
|
||||||
VBForm* VBForm::current()
|
VBForm* VBForm::current()
|
||||||
|
@ -39,15 +39,15 @@ VBForm::VBForm(const String& name, GWidget* parent)
|
||||||
m_widgets.append(move(groupbox1));
|
m_widgets.append(move(groupbox1));
|
||||||
|
|
||||||
m_context_menu = make<GMenu>("Context menu");
|
m_context_menu = make<GMenu>("Context menu");
|
||||||
m_context_menu->add_action(GAction::create("Move to front", [this] (auto&) {
|
m_context_menu->add_action(GAction::create("Move to front", [this](auto&) {
|
||||||
if (auto* widget = single_selected_widget())
|
if (auto* widget = single_selected_widget())
|
||||||
widget->gwidget()->move_to_front();
|
widget->gwidget()->move_to_front();
|
||||||
}));
|
}));
|
||||||
m_context_menu->add_action(GAction::create("Move to back", [this] (auto&) {
|
m_context_menu->add_action(GAction::create("Move to back", [this](auto&) {
|
||||||
if (auto* widget = single_selected_widget())
|
if (auto* widget = single_selected_widget())
|
||||||
widget->gwidget()->move_to_back();
|
widget->gwidget()->move_to_back();
|
||||||
}));
|
}));
|
||||||
m_context_menu->add_action(GAction::create("Delete", [this] (auto&) {
|
m_context_menu->add_action(GAction::create("Delete", [this](auto&) {
|
||||||
delete_selected_widgets();
|
delete_selected_widgets();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
@ -88,7 +88,7 @@ void VBForm::second_paint_event(GPaintEvent& event)
|
||||||
|
|
||||||
for (auto& widget : m_widgets) {
|
for (auto& widget : m_widgets) {
|
||||||
if (widget->is_selected()) {
|
if (widget->is_selected()) {
|
||||||
for_each_direction([&] (Direction direction) {
|
for_each_direction([&](Direction direction) {
|
||||||
painter.fill_rect(widget->grabber_rect(direction), Color::Black);
|
painter.fill_rect(widget->grabber_rect(direction), Color::Black);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ VBWidget* VBForm::widget_at(const Point& position)
|
||||||
void VBForm::grabber_mousedown_event(GMouseEvent& event, Direction grabber)
|
void VBForm::grabber_mousedown_event(GMouseEvent& event, Direction grabber)
|
||||||
{
|
{
|
||||||
m_transform_event_origin = event.position();
|
m_transform_event_origin = event.position();
|
||||||
for_each_selected_widget([] (auto& widget) { widget.capture_transform_origin_rect(); });
|
for_each_selected_widget([](auto& widget) { widget.capture_transform_origin_rect(); });
|
||||||
m_resize_direction = grabber;
|
m_resize_direction = grabber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,19 +146,19 @@ void VBForm::keydown_event(GKeyEvent& event)
|
||||||
switch (event.key()) {
|
switch (event.key()) {
|
||||||
case KeyCode::Key_Up:
|
case KeyCode::Key_Up:
|
||||||
update();
|
update();
|
||||||
for_each_selected_widget([this] (auto& widget) { widget.gwidget()->move_by(0, -m_grid_size); });
|
for_each_selected_widget([this](auto& widget) { widget.gwidget()->move_by(0, -m_grid_size); });
|
||||||
break;
|
break;
|
||||||
case KeyCode::Key_Down:
|
case KeyCode::Key_Down:
|
||||||
update();
|
update();
|
||||||
for_each_selected_widget([this] (auto& widget) { widget.gwidget()->move_by(0, m_grid_size); });
|
for_each_selected_widget([this](auto& widget) { widget.gwidget()->move_by(0, m_grid_size); });
|
||||||
break;
|
break;
|
||||||
case KeyCode::Key_Left:
|
case KeyCode::Key_Left:
|
||||||
update();
|
update();
|
||||||
for_each_selected_widget([this] (auto& widget) { widget.gwidget()->move_by(-m_grid_size, 0); });
|
for_each_selected_widget([this](auto& widget) { widget.gwidget()->move_by(-m_grid_size, 0); });
|
||||||
break;
|
break;
|
||||||
case KeyCode::Key_Right:
|
case KeyCode::Key_Right:
|
||||||
update();
|
update();
|
||||||
for_each_selected_widget([this] (auto& widget) { widget.gwidget()->move_by(m_grid_size, 0); });
|
for_each_selected_widget([this](auto& widget) { widget.gwidget()->move_by(m_grid_size, 0); });
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
@ -197,7 +197,7 @@ void VBForm::mousedown_event(GMouseEvent& event)
|
||||||
{
|
{
|
||||||
if (m_resize_direction == Direction::None) {
|
if (m_resize_direction == Direction::None) {
|
||||||
bool hit_grabber = false;
|
bool hit_grabber = false;
|
||||||
for_each_selected_widget([&] (auto& widget) {
|
for_each_selected_widget([&](auto& widget) {
|
||||||
auto grabber = widget.grabber_at(event.position());
|
auto grabber = widget.grabber_at(event.position());
|
||||||
if (grabber != Direction::None) {
|
if (grabber != Direction::None) {
|
||||||
hit_grabber = true;
|
hit_grabber = true;
|
||||||
|
@ -220,7 +220,7 @@ void VBForm::mousedown_event(GMouseEvent& event)
|
||||||
add_to_selection(*widget);
|
add_to_selection(*widget);
|
||||||
else if (!m_selected_widgets.contains(widget))
|
else if (!m_selected_widgets.contains(widget))
|
||||||
set_single_selected_widget(widget);
|
set_single_selected_widget(widget);
|
||||||
for_each_selected_widget([] (auto& widget) { widget.capture_transform_origin_rect(); });
|
for_each_selected_widget([](auto& widget) { widget.capture_transform_origin_rect(); });
|
||||||
on_widget_selected(single_selected_widget());
|
on_widget_selected(single_selected_widget());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -231,7 +231,7 @@ void VBForm::mousemove_event(GMouseEvent& event)
|
||||||
if (m_resize_direction == Direction::None) {
|
if (m_resize_direction == Direction::None) {
|
||||||
update();
|
update();
|
||||||
auto delta = event.position() - m_transform_event_origin;
|
auto delta = event.position() - m_transform_event_origin;
|
||||||
for_each_selected_widget([&] (auto& widget) {
|
for_each_selected_widget([&](auto& widget) {
|
||||||
auto new_rect = widget.transform_origin_rect().translated(delta);
|
auto new_rect = widget.transform_origin_rect().translated(delta);
|
||||||
new_rect.set_x(new_rect.x() - (new_rect.x() % m_grid_size));
|
new_rect.set_x(new_rect.x() - (new_rect.x() % m_grid_size));
|
||||||
new_rect.set_y(new_rect.y() - (new_rect.y() % m_grid_size));
|
new_rect.set_y(new_rect.y() - (new_rect.y() % m_grid_size));
|
||||||
|
@ -287,7 +287,7 @@ void VBForm::mousemove_event(GMouseEvent& event)
|
||||||
}
|
}
|
||||||
|
|
||||||
update();
|
update();
|
||||||
for_each_selected_widget([&] (auto& widget) {
|
for_each_selected_widget([&](auto& widget) {
|
||||||
auto new_rect = widget.transform_origin_rect();
|
auto new_rect = widget.transform_origin_rect();
|
||||||
Size minimum_size { 5, 5 };
|
Size minimum_size { 5, 5 };
|
||||||
new_rect.set_x(new_rect.x() + change_x);
|
new_rect.set_x(new_rect.x() + change_x);
|
||||||
|
@ -316,7 +316,7 @@ void VBForm::write_to_file(const String& path)
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (auto& widget : m_widgets) {
|
for (auto& widget : m_widgets) {
|
||||||
file.printf("[Widget %d]\n", i++);
|
file.printf("[Widget %d]\n", i++);
|
||||||
widget->for_each_property([&] (auto& property) {
|
widget->for_each_property([&](auto& property) {
|
||||||
file.printf("%s=%s\n", property.name().characters(), property.value().to_string().characters());
|
file.printf("%s=%s\n", property.name().characters(), property.value().to_string().characters());
|
||||||
});
|
});
|
||||||
file.printf("\n");
|
file.printf("\n");
|
||||||
|
@ -331,7 +331,7 @@ void VBForm::dump()
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (auto& widget : m_widgets) {
|
for (auto& widget : m_widgets) {
|
||||||
dbgprintf("[Widget %d]\n", i++);
|
dbgprintf("[Widget %d]\n", i++);
|
||||||
widget->for_each_property([] (auto& property) {
|
widget->for_each_property([](auto& property) {
|
||||||
dbgprintf("%s=%s\n", property.name().characters(), property.value().to_string().characters());
|
dbgprintf("%s=%s\n", property.name().characters(), property.value().to_string().characters());
|
||||||
});
|
});
|
||||||
dbgprintf("\n");
|
dbgprintf("\n");
|
||||||
|
@ -341,7 +341,7 @@ void VBForm::dump()
|
||||||
void VBForm::mouseup_event(GMouseEvent& event)
|
void VBForm::mouseup_event(GMouseEvent& event)
|
||||||
{
|
{
|
||||||
if (event.button() == GMouseButton::Left) {
|
if (event.button() == GMouseButton::Left) {
|
||||||
m_transform_event_origin = { };
|
m_transform_event_origin = {};
|
||||||
m_resize_direction = Direction::None;
|
m_resize_direction = Direction::None;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -349,11 +349,11 @@ void VBForm::mouseup_event(GMouseEvent& event)
|
||||||
void VBForm::delete_selected_widgets()
|
void VBForm::delete_selected_widgets()
|
||||||
{
|
{
|
||||||
Vector<VBWidget*> to_delete;
|
Vector<VBWidget*> to_delete;
|
||||||
for_each_selected_widget([&] (auto& widget) {
|
for_each_selected_widget([&](auto& widget) {
|
||||||
to_delete.append(&widget);
|
to_delete.append(&widget);
|
||||||
});
|
});
|
||||||
for (auto& widget : to_delete)
|
for (auto& widget : to_delete)
|
||||||
m_widgets.remove_first_matching([&widget] (auto& entry) { return entry == widget; } );
|
m_widgets.remove_first_matching([&widget](auto& entry) { return entry == widget; });
|
||||||
on_widget_selected(single_selected_widget());
|
on_widget_selected(single_selected_widget());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
#include "VBPropertiesWindow.h"
|
#include "VBPropertiesWindow.h"
|
||||||
#include <LibGUI/GWidget.h>
|
|
||||||
#include <LibGUI/GBoxLayout.h>
|
#include <LibGUI/GBoxLayout.h>
|
||||||
#include <LibGUI/GTableView.h>
|
#include <LibGUI/GTableView.h>
|
||||||
#include <LibGUI/GTextBox.h>
|
#include <LibGUI/GTextBox.h>
|
||||||
|
#include <LibGUI/GWidget.h>
|
||||||
|
|
||||||
VBPropertiesWindow::VBPropertiesWindow()
|
VBPropertiesWindow::VBPropertiesWindow()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
#include "VBWidget.h"
|
||||||
#include "VBForm.h"
|
#include "VBForm.h"
|
||||||
#include "VBProperty.h"
|
#include "VBProperty.h"
|
||||||
#include "VBWidget.h"
|
|
||||||
#include "VBWidgetPropertyModel.h"
|
#include "VBWidgetPropertyModel.h"
|
||||||
#include "VBWidgetRegistry.h"
|
#include "VBWidgetRegistry.h"
|
||||||
#include <LibGUI/GButton.h>
|
#include <LibGUI/GButton.h>
|
||||||
|
@ -79,7 +79,7 @@ Rect VBWidget::grabber_rect(Direction direction) const
|
||||||
Direction VBWidget::grabber_at(const Point& position) const
|
Direction VBWidget::grabber_at(const Point& position) const
|
||||||
{
|
{
|
||||||
Direction found_grabber = Direction::None;
|
Direction found_grabber = Direction::None;
|
||||||
for_each_direction([&] (Direction direction) {
|
for_each_direction([&](Direction direction) {
|
||||||
if (grabber_rect(direction).contains(position))
|
if (grabber_rect(direction).contains(position))
|
||||||
found_grabber = direction;
|
found_grabber = direction;
|
||||||
});
|
});
|
||||||
|
@ -100,11 +100,10 @@ void VBWidget::add_property(const String& name, Function<GVariant(const GWidget&
|
||||||
prop.m_setter = move(setter);
|
prop.m_setter = move(setter);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VB_ADD_PROPERTY(gclass, name, getter, setter, variant_type) \
|
#define VB_ADD_PROPERTY(gclass, name, getter, setter, variant_type) \
|
||||||
add_property(name, \
|
add_property(name, \
|
||||||
[] (auto& widget) -> GVariant { return ((const gclass&)widget).getter(); }, \
|
[](auto& widget) -> GVariant { return ((const gclass&)widget).getter(); }, \
|
||||||
[] (auto& widget, auto& value) { ((gclass&)widget).setter(value.to_ ## variant_type()); } \
|
[](auto& widget, auto& value) { ((gclass&)widget).setter(value.to_##variant_type()); })
|
||||||
)
|
|
||||||
|
|
||||||
void VBWidget::setup_properties()
|
void VBWidget::setup_properties()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "VBWidgetPropertyModel.h"
|
#include "VBWidgetPropertyModel.h"
|
||||||
#include "VBWidget.h"
|
|
||||||
#include "VBProperty.h"
|
#include "VBProperty.h"
|
||||||
|
#include "VBWidget.h"
|
||||||
#include <SharedGraphics/Font.h>
|
#include <SharedGraphics/Font.h>
|
||||||
|
|
||||||
VBWidgetPropertyModel::VBWidgetPropertyModel(VBWidget& widget)
|
VBWidgetPropertyModel::VBWidgetPropertyModel(VBWidget& widget)
|
||||||
|
@ -20,9 +20,12 @@ int VBWidgetPropertyModel::row_count(const GModelIndex&) const
|
||||||
String VBWidgetPropertyModel::column_name(int column) const
|
String VBWidgetPropertyModel::column_name(int column) const
|
||||||
{
|
{
|
||||||
switch (column) {
|
switch (column) {
|
||||||
case Column::Name: return "Name";
|
case Column::Name:
|
||||||
case Column::Value: return "Value";
|
return "Name";
|
||||||
default: ASSERT_NOT_REACHED();
|
case Column::Value:
|
||||||
|
return "Value";
|
||||||
|
default:
|
||||||
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,20 +42,24 @@ GVariant VBWidgetPropertyModel::data(const GModelIndex& index, Role role) const
|
||||||
if (role == Role::Display) {
|
if (role == Role::Display) {
|
||||||
auto& property = *m_widget.m_properties[index.row()];
|
auto& property = *m_widget.m_properties[index.row()];
|
||||||
switch (index.column()) {
|
switch (index.column()) {
|
||||||
case Column::Name: return property.name();
|
case Column::Name:
|
||||||
case Column::Value: return property.value();
|
return property.name();
|
||||||
|
case Column::Value:
|
||||||
|
return property.value();
|
||||||
}
|
}
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
if (role == Role::ForegroundColor) {
|
if (role == Role::ForegroundColor) {
|
||||||
auto& property = *m_widget.m_properties[index.row()];
|
auto& property = *m_widget.m_properties[index.row()];
|
||||||
switch (index.column()) {
|
switch (index.column()) {
|
||||||
case Column::Name: return Color::Black;
|
case Column::Name:
|
||||||
case Column::Value: return property.is_readonly() ? Color(Color::MidGray) : Color(Color::Black);
|
return Color::Black;
|
||||||
|
case Column::Value:
|
||||||
|
return property.is_readonly() ? Color(Color::MidGray) : Color(Color::Black);
|
||||||
}
|
}
|
||||||
ASSERT_NOT_REACHED();
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
return { };
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
void VBWidgetPropertyModel::set_data(const GModelIndex& index, const GVariant& value)
|
void VBWidgetPropertyModel::set_data(const GModelIndex& index, const GVariant& value)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#include "VBProperty.h"
|
|
||||||
#include "VBWidgetRegistry.h"
|
#include "VBWidgetRegistry.h"
|
||||||
|
#include "VBProperty.h"
|
||||||
#include <LibGUI/GButton.h>
|
#include <LibGUI/GButton.h>
|
||||||
#include <LibGUI/GCheckBox.h>
|
#include <LibGUI/GCheckBox.h>
|
||||||
#include <LibGUI/GGroupBox.h>
|
#include <LibGUI/GGroupBox.h>
|
||||||
|
@ -14,18 +14,30 @@
|
||||||
static String to_class_name(VBWidgetType type)
|
static String to_class_name(VBWidgetType type)
|
||||||
{
|
{
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case VBWidgetType::GWidget: return "GWidget";
|
case VBWidgetType::GWidget:
|
||||||
case VBWidgetType::GButton: return "GButton";
|
return "GWidget";
|
||||||
case VBWidgetType::GLabel: return "GLabel";
|
case VBWidgetType::GButton:
|
||||||
case VBWidgetType::GSpinBox: return "GSpinBox";
|
return "GButton";
|
||||||
case VBWidgetType::GTextEditor: return "GTextEditor";
|
case VBWidgetType::GLabel:
|
||||||
case VBWidgetType::GProgressBar: return "GProgressBar";
|
return "GLabel";
|
||||||
case VBWidgetType::GCheckBox: return "GCheckBox";
|
case VBWidgetType::GSpinBox:
|
||||||
case VBWidgetType::GRadioButton: return "GRadioButton";
|
return "GSpinBox";
|
||||||
case VBWidgetType::GScrollBar: return "GScrollBar";
|
case VBWidgetType::GTextEditor:
|
||||||
case VBWidgetType::GGroupBox: return "GGroupBox";
|
return "GTextEditor";
|
||||||
case VBWidgetType::GSlider: return "GSlider";
|
case VBWidgetType::GProgressBar:
|
||||||
default: ASSERT_NOT_REACHED();
|
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";
|
||||||
|
default:
|
||||||
|
ASSERT_NOT_REACHED();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -89,12 +101,12 @@ static GWidget* build_gwidget(VBWidgetType type, GWidget* parent)
|
||||||
GWidget* VBWidgetRegistry::build_gwidget(VBWidget& widget, VBWidgetType type, GWidget* parent, Vector<OwnPtr<VBProperty>>& properties)
|
GWidget* VBWidgetRegistry::build_gwidget(VBWidget& widget, VBWidgetType type, GWidget* parent, Vector<OwnPtr<VBProperty>>& properties)
|
||||||
{
|
{
|
||||||
auto* gwidget = ::build_gwidget(type, parent);
|
auto* gwidget = ::build_gwidget(type, parent);
|
||||||
auto add_readonly_property = [&] (const String& name, const GVariant& value) {
|
auto add_readonly_property = [&](const String& name, const GVariant& value) {
|
||||||
auto property = make<VBProperty>(widget, name, value);
|
auto property = make<VBProperty>(widget, name, value);
|
||||||
property->set_readonly(true);
|
property->set_readonly(true);
|
||||||
properties.append(move(property));
|
properties.append(move(property));
|
||||||
};
|
};
|
||||||
auto add_property = [&] (const String& name, Function<GVariant(const GWidget&)>&& getter, Function<void(GWidget&, const GVariant&)>&& setter) {
|
auto add_property = [&](const String& name, Function<GVariant(const GWidget&)>&& getter, Function<void(GWidget&, const GVariant&)>&& setter) {
|
||||||
auto property = make<VBProperty>(widget, name, move(getter), move(setter));
|
auto property = make<VBProperty>(widget, name, move(getter), move(setter));
|
||||||
properties.append(move(property));
|
properties.append(move(property));
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
#include <LibGUI/GWindow.h>
|
|
||||||
#include <LibGUI/GWidget.h>
|
|
||||||
#include <LibGUI/GBoxLayout.h>
|
|
||||||
#include <LibGUI/GApplication.h>
|
|
||||||
#include <LibGUI/GMenuBar.h>
|
|
||||||
#include <LibGUI/GAction.h>
|
|
||||||
#include <LibGUI/GButton.h>
|
|
||||||
#include <LibGUI/GTableView.h>
|
|
||||||
#include "VBForm.h"
|
#include "VBForm.h"
|
||||||
|
#include "VBPropertiesWindow.h"
|
||||||
#include "VBWidget.h"
|
#include "VBWidget.h"
|
||||||
#include "VBWidgetPropertyModel.h"
|
#include "VBWidgetPropertyModel.h"
|
||||||
#include "VBPropertiesWindow.h"
|
#include <LibGUI/GAction.h>
|
||||||
#include <unistd.h>
|
#include <LibGUI/GApplication.h>
|
||||||
#include <stdio.h>
|
#include <LibGUI/GBoxLayout.h>
|
||||||
#include <signal.h>
|
#include <LibGUI/GButton.h>
|
||||||
|
#include <LibGUI/GMenuBar.h>
|
||||||
|
#include <LibGUI/GTableView.h>
|
||||||
|
#include <LibGUI/GWidget.h>
|
||||||
|
#include <LibGUI/GWindow.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
#include <signal.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
static GWindow* make_toolbox_window();
|
static GWindow* make_toolbox_window();
|
||||||
|
|
||||||
|
@ -24,23 +24,23 @@ int main(int argc, char** argv)
|
||||||
auto* propbox = new VBPropertiesWindow;
|
auto* propbox = new VBPropertiesWindow;
|
||||||
|
|
||||||
auto* form1 = new VBForm("Form1");
|
auto* form1 = new VBForm("Form1");
|
||||||
form1->on_widget_selected = [propbox] (VBWidget* widget) {
|
form1->on_widget_selected = [propbox](VBWidget* widget) {
|
||||||
propbox->table_view().set_model(widget ? &widget->property_model() : nullptr);
|
propbox->table_view().set_model(widget ? &widget->property_model() : nullptr);
|
||||||
};
|
};
|
||||||
|
|
||||||
auto menubar = make<GMenuBar>();
|
auto menubar = make<GMenuBar>();
|
||||||
auto app_menu = make<GMenu>("Visual Builder");
|
auto app_menu = make<GMenu>("Visual Builder");
|
||||||
app_menu->add_action(GAction::create("Quit", { Mod_Alt, Key_F4 }, [] (const GAction&) {
|
app_menu->add_action(GAction::create("Quit", { Mod_Alt, Key_F4 }, [](const GAction&) {
|
||||||
GApplication::the().quit(0);
|
GApplication::the().quit(0);
|
||||||
return;
|
return;
|
||||||
}));
|
}));
|
||||||
menubar->add_menu(move(app_menu));
|
menubar->add_menu(move(app_menu));
|
||||||
|
|
||||||
auto file_menu = make<GMenu>("File");
|
auto file_menu = make<GMenu>("File");
|
||||||
file_menu->add_action(GAction::create("Dump Form", [&] (auto&) {
|
file_menu->add_action(GAction::create("Dump Form", [&](auto&) {
|
||||||
form1->dump();
|
form1->dump();
|
||||||
}));
|
}));
|
||||||
file_menu->add_action(GAction::create("Save Form...", { Mod_Ctrl, Key_S }, [form1] (auto&) {
|
file_menu->add_action(GAction::create("Save Form...", { Mod_Ctrl, Key_S }, [form1](auto&) {
|
||||||
form1->write_to_file("/tmp/form.frm");
|
form1->write_to_file("/tmp/form.frm");
|
||||||
}));
|
}));
|
||||||
menubar->add_menu(move(file_menu));
|
menubar->add_menu(move(file_menu));
|
||||||
|
@ -49,7 +49,7 @@ int main(int argc, char** argv)
|
||||||
menubar->add_menu(move(edit_menu));
|
menubar->add_menu(move(edit_menu));
|
||||||
|
|
||||||
auto help_menu = make<GMenu>("Help");
|
auto help_menu = make<GMenu>("Help");
|
||||||
help_menu->add_action(GAction::create("About", [] (const GAction&) {
|
help_menu->add_action(GAction::create("About", [](const GAction&) {
|
||||||
dbgprintf("FIXME: Implement Help/About\n");
|
dbgprintf("FIXME: Implement Help/About\n");
|
||||||
}));
|
}));
|
||||||
menubar->add_menu(move(help_menu));
|
menubar->add_menu(move(help_menu));
|
||||||
|
@ -87,7 +87,7 @@ GWindow* make_toolbox_window()
|
||||||
label_button->set_button_style(ButtonStyle::CoolBar);
|
label_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
label_button->set_tooltip("GLabel");
|
label_button->set_tooltip("GLabel");
|
||||||
label_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/label.png"));
|
label_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/label.png"));
|
||||||
label_button->on_click = [] (GButton&) {
|
label_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GLabel);
|
form->insert_widget(VBWidgetType::GLabel);
|
||||||
};
|
};
|
||||||
|
@ -96,7 +96,7 @@ GWindow* make_toolbox_window()
|
||||||
button_button->set_button_style(ButtonStyle::CoolBar);
|
button_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
button_button->set_tooltip("GButton");
|
button_button->set_tooltip("GButton");
|
||||||
button_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/button.png"));
|
button_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/button.png"));
|
||||||
button_button->on_click = [] (GButton&) {
|
button_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GButton);
|
form->insert_widget(VBWidgetType::GButton);
|
||||||
};
|
};
|
||||||
|
@ -104,7 +104,7 @@ GWindow* make_toolbox_window()
|
||||||
spinbox_button->set_button_style(ButtonStyle::CoolBar);
|
spinbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
spinbox_button->set_tooltip("GSpinBox");
|
spinbox_button->set_tooltip("GSpinBox");
|
||||||
spinbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/spinbox.png"));
|
spinbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/spinbox.png"));
|
||||||
spinbox_button->on_click = [] (GButton&) {
|
spinbox_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GSpinBox);
|
form->insert_widget(VBWidgetType::GSpinBox);
|
||||||
};
|
};
|
||||||
|
@ -112,7 +112,7 @@ GWindow* make_toolbox_window()
|
||||||
editor_button->set_button_style(ButtonStyle::CoolBar);
|
editor_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
editor_button->set_tooltip("GTextEditor");
|
editor_button->set_tooltip("GTextEditor");
|
||||||
editor_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/textbox.png"));
|
editor_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/textbox.png"));
|
||||||
editor_button->on_click = [] (GButton&) {
|
editor_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GTextEditor);
|
form->insert_widget(VBWidgetType::GTextEditor);
|
||||||
};
|
};
|
||||||
|
@ -120,7 +120,7 @@ GWindow* make_toolbox_window()
|
||||||
progress_bar_button->set_button_style(ButtonStyle::CoolBar);
|
progress_bar_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
progress_bar_button->set_tooltip("GProgressBar");
|
progress_bar_button->set_tooltip("GProgressBar");
|
||||||
progress_bar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/progressbar.png"));
|
progress_bar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/progressbar.png"));
|
||||||
progress_bar_button->on_click = [] (GButton&) {
|
progress_bar_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GProgressBar);
|
form->insert_widget(VBWidgetType::GProgressBar);
|
||||||
};
|
};
|
||||||
|
@ -128,7 +128,7 @@ GWindow* make_toolbox_window()
|
||||||
slider_button->set_button_style(ButtonStyle::CoolBar);
|
slider_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
slider_button->set_tooltip("GSlider");
|
slider_button->set_tooltip("GSlider");
|
||||||
slider_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/slider.png"));
|
slider_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/slider.png"));
|
||||||
slider_button->on_click = [] (GButton&) {
|
slider_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GSlider);
|
form->insert_widget(VBWidgetType::GSlider);
|
||||||
};
|
};
|
||||||
|
@ -136,7 +136,7 @@ GWindow* make_toolbox_window()
|
||||||
checkbox_button->set_button_style(ButtonStyle::CoolBar);
|
checkbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
checkbox_button->set_tooltip("GCheckBox");
|
checkbox_button->set_tooltip("GCheckBox");
|
||||||
checkbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/checkbox.png"));
|
checkbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/checkbox.png"));
|
||||||
checkbox_button->on_click = [] (GButton&) {
|
checkbox_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GCheckBox);
|
form->insert_widget(VBWidgetType::GCheckBox);
|
||||||
};
|
};
|
||||||
|
@ -144,7 +144,7 @@ GWindow* make_toolbox_window()
|
||||||
radiobutton_button->set_button_style(ButtonStyle::CoolBar);
|
radiobutton_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
radiobutton_button->set_tooltip("GRadioButton");
|
radiobutton_button->set_tooltip("GRadioButton");
|
||||||
radiobutton_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/filled-radio-circle.png"));
|
radiobutton_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/filled-radio-circle.png"));
|
||||||
radiobutton_button->on_click = [] (GButton&) {
|
radiobutton_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GRadioButton);
|
form->insert_widget(VBWidgetType::GRadioButton);
|
||||||
};
|
};
|
||||||
|
@ -152,7 +152,7 @@ GWindow* make_toolbox_window()
|
||||||
scrollbar_button->set_button_style(ButtonStyle::CoolBar);
|
scrollbar_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
scrollbar_button->set_tooltip("GScrollBar");
|
scrollbar_button->set_tooltip("GScrollBar");
|
||||||
scrollbar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/scrollbar.png"));
|
scrollbar_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/scrollbar.png"));
|
||||||
scrollbar_button->on_click = [] (GButton&) {
|
scrollbar_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GScrollBar);
|
form->insert_widget(VBWidgetType::GScrollBar);
|
||||||
};
|
};
|
||||||
|
@ -160,7 +160,7 @@ GWindow* make_toolbox_window()
|
||||||
groupbox_button->set_button_style(ButtonStyle::CoolBar);
|
groupbox_button->set_button_style(ButtonStyle::CoolBar);
|
||||||
groupbox_button->set_tooltip("GGroupBox");
|
groupbox_button->set_tooltip("GGroupBox");
|
||||||
groupbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/groupbox.png"));
|
groupbox_button->set_icon(GraphicsBitmap::load_from_file("/res/icons/vbwidgets/groupbox.png"));
|
||||||
groupbox_button->on_click = [] (GButton&) {
|
groupbox_button->on_click = [](GButton&) {
|
||||||
if (auto* form = VBForm::current())
|
if (auto* form = VBForm::current())
|
||||||
form->insert_widget(VBWidgetType::GGroupBox);
|
form->insert_widget(VBWidgetType::GGroupBox);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue