Cute Chess
0.1
projects
gui
src
tilelayout.h
1
/*
2
This file is part of Cute Chess.
3
4
Cute Chess is free software: you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation, either version 3 of the License, or
7
(at your option) any later version.
8
9
Cute Chess is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with Cute Chess. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef TILELAYOUT_H
19
#define TILELAYOUT_H
20
21
#include <QLayout>
22
#include <QStyle>
23
24
class
TileLayout
:
public
QLayout
25
{
26
Q_OBJECT
27
28
public
:
29
explicit
TileLayout
(
QWidget
* parent =
nullptr
);
30
virtual
~
TileLayout
();
31
32
// Inherited from QLayout
33
void
addItem(
QLayoutItem
* item);
34
Qt::Orientations expandingDirections()
const
;
35
int
count()
const
;
36
QLayoutItem
* itemAt(
int
index)
const
;
37
QSize minimumSize()
const
;
38
void
setGeometry(
const
QRect& rect);
39
QSize sizeHint()
const
;
40
QLayoutItem
* takeAt(
int
index);
41
42
private
:
43
int
horizontalSpacing()
const
;
44
int
verticalSpacing()
const
;
45
void
doLayout(
const
QRect& rect)
const
;
46
int
smartSpacing(
QStyle::PixelMetric
pm)
const
;
47
48
QList<QLayoutItem*>
m_items;
49
};
50
51
#endif // TILELAYOUT_H
QWidget
QLayout
QLayoutItem
QList
TileLayout
Definition:
tilelayout.h:24
QStyle::PixelMetric
PixelMetric
Generated by
1.8.14