2019-11-08 20:55:58 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2019-11-16 19:17:27 +01:00
|
|
|
#include <AK/Badge.h>
|
2019-11-08 20:55:58 +01:00
|
|
|
#include <LibGUI/GWidget.h>
|
|
|
|
|
|
2019-11-16 19:17:27 +01:00
|
|
|
class CursorTool;
|
2019-11-08 20:55:58 +01:00
|
|
|
class FormEditorWidget;
|
|
|
|
|
|
|
|
|
|
class FormWidget final : public GWidget {
|
|
|
|
|
C_OBJECT(FormWidget)
|
|
|
|
|
public:
|
|
|
|
|
virtual ~FormWidget() override;
|
|
|
|
|
|
|
|
|
|
FormEditorWidget& editor();
|
|
|
|
|
const FormEditorWidget& editor() const;
|
|
|
|
|
|
2019-11-10 22:31:10 +01:00
|
|
|
// FIXME: This should be an app-wide preference instead.
|
|
|
|
|
int grid_size() const { return m_grid_size; }
|
|
|
|
|
|
2019-11-08 20:55:58 +01:00
|
|
|
private:
|
2019-11-10 22:40:58 +01:00
|
|
|
virtual bool accepts_focus() const override { return true; }
|
|
|
|
|
|
2019-11-08 20:55:58 +01:00
|
|
|
virtual void paint_event(GPaintEvent&) override;
|
2019-11-10 22:03:39 +01:00
|
|
|
virtual void second_paint_event(GPaintEvent&) override;
|
2019-11-10 21:45:32 +01:00
|
|
|
virtual void mousedown_event(GMouseEvent&) override;
|
|
|
|
|
virtual void mouseup_event(GMouseEvent&) override;
|
|
|
|
|
virtual void mousemove_event(GMouseEvent&) override;
|
2019-11-10 22:40:58 +01:00
|
|
|
virtual void keydown_event(GKeyEvent&) override;
|
2019-11-08 20:55:58 +01:00
|
|
|
|
|
|
|
|
explicit FormWidget(FormEditorWidget& parent);
|
|
|
|
|
|
|
|
|
|
int m_grid_size { 5 };
|
|
|
|
|
};
|