mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 08:48:11 +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:
parent
a04ab219d1
commit
e87756424d
12 changed files with 166 additions and 0 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue