Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
overlap_widget.h
Go to the documentation of this file.
1
6
7#ifndef OVERLAP_WIDGET_H
8#define OVERLAP_WIDGET_H
9
10#include <QString>
11#include <QWidget>
12#include <qnamespace.h>
13#include <qtmetamacros.h>
14
15class OverlapLayout;
16
17class OverlapWidget final : public QWidget
18{
19 Q_OBJECT
20
21public:
22 OverlapWidget(QWidget *parent,
24 int maxColumns,
25 int maxRows,
26 Qt::Orientation direction,
27 bool adjustOnResize = false);
28 void addWidget(QWidget *widgetToAdd) const;
29 void insertWidgetAtIndex(QWidget *toInsert, int index);
30 void removeWidget(QWidget *widgetToRemove) const;
31 void clearLayout();
33
34public slots:
35 void maxOverlapItemsChanged(int newValue);
36 void overlapDirectionChanged(const QString &newDirection);
37
38protected:
39 void resizeEvent(QResizeEvent *event) override;
40
41private:
46 Qt::Orientation direction;
47 bool adjustOnResize = false;
48};
49
50#endif // OVERLAP_WIDGET_H
Custom layout class to arrange widgets with overlapping positions.
Definition overlap_layout.h:22
int overlapPercentage
Definition overlap_widget.h:43
void maxOverlapItemsChanged(int newValue)
Updates the maximum number of overlapping items based on new value.
Definition overlap_widget.cpp:165
void insertWidgetAtIndex(QWidget *toInsert, int index)
Definition overlap_widget.cpp:62
int maxRows
Definition overlap_widget.h:45
void resizeEvent(QResizeEvent *event) override
Handles resizing events for the widget.
Definition overlap_widget.cpp:106
void adjustMaxColumnsAndRows()
Dynamically adjusts maxColumns and maxRows based on widget size and layout direction.
Definition overlap_widget.cpp:128
void overlapDirectionChanged(const QString &newDirection)
Changes the layout direction based on the specified new direction.
Definition overlap_widget.cpp:193
int maxColumns
Definition overlap_widget.h:44
Qt::Orientation direction
Definition overlap_widget.h:46
OverlapWidget(QWidget *parent, int overlapPercentage, int maxColumns, int maxRows, Qt::Orientation direction, bool adjustOnResize=false)
Constructs an OverlapWidget with specified layout parameters.
Definition overlap_widget.cpp:35
void clearLayout()
Clears all widgets from the layout and deletes them.
Definition overlap_widget.cpp:80
bool adjustOnResize
Definition overlap_widget.h:47
void removeWidget(QWidget *widgetToRemove) const
Definition overlap_widget.cpp:68
OverlapLayout * overlapLayout
Definition overlap_widget.h:42
void addWidget(QWidget *widgetToAdd) const
Adds a widget to the overlap layout.
Definition overlap_widget.cpp:57