mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-06 08:36:15 +00:00
HackStudio: Introduce a Tool class with subs CursorTool and WidgetTool
These will be used to draw out new widgets on a FormWidget, or in the case of CursorTool, to select and manipulate existing widgets.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#include "FormWidget.h"
|
||||
#include "FormEditorWidget.h"
|
||||
#include "Tool.h"
|
||||
#include <LibGUI/GPainter.h>
|
||||
|
||||
FormWidget::FormWidget(FormEditorWidget& parent)
|
||||
@@ -8,12 +9,24 @@ FormWidget::FormWidget(FormEditorWidget& parent)
|
||||
set_fill_with_background_color(true);
|
||||
set_background_color(Color::WarmGray);
|
||||
set_relative_rect(5, 5, 400, 300);
|
||||
|
||||
set_greedy_for_hits(true);
|
||||
}
|
||||
|
||||
FormWidget::~FormWidget()
|
||||
{
|
||||
}
|
||||
|
||||
FormEditorWidget& FormWidget::editor()
|
||||
{
|
||||
return static_cast<FormEditorWidget&>(*parent());
|
||||
}
|
||||
|
||||
const FormEditorWidget& FormWidget::editor() const
|
||||
{
|
||||
return static_cast<const FormEditorWidget&>(*parent());
|
||||
}
|
||||
|
||||
void FormWidget::paint_event(GPaintEvent& event)
|
||||
{
|
||||
GPainter painter(*this);
|
||||
@@ -25,3 +38,18 @@ void FormWidget::paint_event(GPaintEvent& event)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FormWidget::mousedown_event(GMouseEvent& event)
|
||||
{
|
||||
editor().tool().on_mousedown(event);
|
||||
}
|
||||
|
||||
void FormWidget::mouseup_event(GMouseEvent& event)
|
||||
{
|
||||
editor().tool().on_mouseup(event);
|
||||
}
|
||||
|
||||
void FormWidget::mousemove_event(GMouseEvent& event)
|
||||
{
|
||||
editor().tool().on_mousemove(event);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user