QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RColumnLayout.h
Go to the documentation of this file.
1
20#ifndef RCOLUMNLAYOUT_H
21#define RCOLUMNLAYOUT_H
22
23#include "gui_global.h"
24
25#include <QLayout>
26#include <QToolBar>
27#include <QPair>
28
29class QToolButton;
30class RGuiAction;
31
36class QCADGUI_EXPORT RColumnLayout: public QLayout {
37
38 Q_OBJECT
39
40public:
41 RColumnLayout(QWidget* parent, QToolBar* toolBar, int buttonSize);
42
43// void removeAction(QAction* a);
44
45 // from QLayout, called by addWidget or addLayout:
46 virtual void addItem(QLayoutItem* item);
47 virtual int count() const;
48 virtual QLayoutItem* itemAt(int index) const;
49 virtual QLayoutItem* takeAt(int index);
50
51 static unsigned long int getAccumulatedSortOrder(QObject* item, const QString& objectName);
52 static unsigned int getSortOrder(QObject* item, const QString& objectName);
53 static unsigned int getGroupSortOrder(QObject* item, const QString& objectName);
54
55 QSize minimumSize() const;
56 QSize sizeHint() const;
57 virtual void setGeometry(const QRect& rect);
58
59 void setGeometry() const;
60
64 static bool itemLessThan(const QPair<QLayoutItem*, unsigned long int>& v1, const QPair<QLayoutItem*, unsigned long int>& v2) {
65 return v1.second < v2.second;
66 }
67
68private:
69 // map existing layout items to accumulated sort order:
70 mutable QList<QPair<QLayoutItem*, unsigned long int> > itemList;
71
72 // tool bar that hosts the layout:
73 QToolBar* toolBar;
74
75 mutable QSize sHint;
76 mutable int sHintColumns;
77 mutable int sHintWidth;
78 mutable int sHintHeight;
80 mutable int sHintHorizontal;
81 mutable int sHintIconSize;
82};
83
84#endif
Definition RColumnLayout.h:36
QList< QPair< QLayoutItem *, unsigned long int > > itemList
Definition RColumnLayout.h:70
int sHintColumns
Definition RColumnLayout.h:76
int sHintHeight
Definition RColumnLayout.h:78
static bool itemLessThan(const QPair< QLayoutItem *, unsigned long int > &v1, const QPair< QLayoutItem *, unsigned long int > &v2)
Definition RColumnLayout.h:64
bool sHintVerticalWhenFloating
Definition RColumnLayout.h:79
QToolBar * toolBar
Definition RColumnLayout.h:73
int sHintHorizontal
Definition RColumnLayout.h:80
int sHintWidth
Definition RColumnLayout.h:77
QSize sHint
Definition RColumnLayout.h:75
int sHintIconSize
Definition RColumnLayout.h:81
Abstract base class for GUI action classes.
Definition RGuiAction.h:62
#define QCADGUI_EXPORT
Definition gui_global.h:10