Loading...
Searching...
No Matches
GraphicsGridLayout.hpp
1#pragma once
2
3#include <score/graphics/GraphicsLayout.hpp>
4
5#include <QStringList>
6
7#include <vector>
8
9namespace score
10{
11
12class SCORE_LIB_BASE_EXPORT GraphicsGridColumnsLayout : public GraphicsLayout
13{
14public:
15 using GraphicsLayout::GraphicsLayout;
17
18 void setColumns(int columns);
19
20 void layout() override;
21
22private:
23 int m_columns{5};
24};
25
26class SCORE_LIB_BASE_EXPORT GraphicsGridRowsLayout : public GraphicsLayout
27{
28public:
29 using GraphicsLayout::GraphicsLayout;
31
32 void setRows(int rows);
33
34 void layout() override;
35
36private:
37 int m_rows{5};
38};
39
42class SCORE_LIB_BASE_EXPORT GraphicsTableLayout : public GraphicsLayout
43{
44public:
45 using GraphicsLayout::GraphicsLayout;
47
48 void setColumnTitles(QStringList titles);
49 void setRowTitles(bool rowTitles);
50 void setTitle(QString title);
52 void setRowsSelectable(bool selectable);
53
54 void layout() override;
55 void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget)
56 override;
57
58protected:
59 bool sceneEventFilter(QGraphicsItem* watched, QEvent* event) override;
60
61private:
62 static QFont titleFont();
63 QStringList m_titles;
64 QString m_title;
65 std::vector<std::pair<double, double>> m_columns; // x, width
66 bool m_rowTitles{};
67 bool m_rowsSelectable{};
68};
69
70class SCORE_LIB_BASE_EXPORT GraphicsDefaultLayout : public GraphicsLayout
71{
72public:
73 using GraphicsLayout::GraphicsLayout;
75
76 void layout() override;
77};
78
79class SCORE_LIB_BASE_EXPORT GraphicsDefaultInletLayout : public GraphicsLayout
80{
81public:
82 using GraphicsLayout::GraphicsLayout;
84
85 void layout() override;
86};
87
88class SCORE_LIB_BASE_EXPORT GraphicsDefaultOutletLayout : public GraphicsLayout
89{
90public:
91 using GraphicsLayout::GraphicsLayout;
93
97 void setMinimumWidth(double w);
98 void layout() override;
99
100private:
101 double m_minimumWidth{};
102};
103
104class SCORE_LIB_BASE_EXPORT GraphicsIORootLayout : public GraphicsLayout
105{
106public:
107 using GraphicsLayout::GraphicsLayout;
109
110 void setMinimumWidth(double w);
111 void layout() override;
112
113private:
114 double m_minimumWidth{};
115};
116}
Definition GraphicsGridLayout.hpp:80
Definition GraphicsGridLayout.hpp:71
Definition GraphicsGridLayout.hpp:89
Definition GraphicsGridLayout.hpp:13
Definition GraphicsGridLayout.hpp:27
Definition GraphicsGridLayout.hpp:105
Definition GraphicsLayout.hpp:8
Definition GraphicsGridLayout.hpp:43
Base toolkit upon which the software is built.
Definition Application.cpp:83