3#include <QGuiApplication>
4#include <QLoggingCategory>
18static const int MAX_MOUSE_WIGGLE_TOLERANCE = 5;
26 explicit Panel(QWidget *parent =
nullptr);
76 void select(QWidget *child);
95 QList<QWidget *> childIn(QRect section);
106 QWidget *childAt(QPoint point);
118 bool inMouseWiggleTolerance(QSize size);
130 void selectSingle(QPoint position);
141 void selectMultiple(
const QList<QWidget *> &found_visuals);
144 QRect minimalSelectedRect();
146 void installEventFilterRecursively(QObject *);
147 QMouseEvent *mapMouseEventToPanel(QMouseEvent *, QWidget *);
160 QRect calculateNewGeometry(
161 QPointF delta, QRect old_geometry,
DragDirection active_direction,
int min_w,
int min_h);
164 QPointF m_last_global_position;
165 bool m_mouse_pressed =
false;
166 QRubberBand *m_rubber_band;
169 QList<RbbWidgetPair> m_selection;
@ Vertical
Definition cable.hpp:12
@ Horizontal
Definition cable.hpp:12
void triggeredAlign(AlignDirection direction)
Align selected to direction.
Definition panel.cpp:63
void addVisual(Visual *visual)
Adds a Visual to the Panel.
Definition panel.cpp:14
void childEvent(QChildEvent *) override
Definition panel.cpp:327
Panel(QWidget *parent=nullptr)
Definition panel.cpp:6
void mouseReleaseEvent(QMouseEvent *) override
Definition panel.cpp:292
void mousePressEvent(QMouseEvent *) override
Definition panel.cpp:262
void setMode(DisplayMode display_mode)
Sets the display mode of the panel.
Definition panel.cpp:58
void mouseMoveEvent(QMouseEvent *) override
Definition panel.cpp:285
void changeGeometryForSelected(DragDirection, QPointF)
Definition panel.cpp:168
bool eventFilter(QObject *, QEvent *) override
Definition panel.cpp:335
@ Right
Definition pad.hpp:15
@ Left
Definition pad.hpp:15
std::pair< ResizeBoundingBox *, QWidget * > RbbWidgetPair
Definition panel.hpp:20
DisplayMode
Definition panel.hpp:16
@ Edit
Definition panel.hpp:16
@ Run
Definition panel.hpp:16
AlignDirection
Definition panel.hpp:14
@ Bottom
Definition panel.hpp:14
@ Top
Definition panel.hpp:14
DragDirection
Definition resizeboundingbox.hpp:13