LeechCraft
0.6.70-6645-gcd10d7e
Modular cross-platform feature rich live environment.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
flowlayout.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Boost Software License - Version 1.0 - August 17th, 2003
6
*
7
* Permission is hereby granted, free of charge, to any person or organization
8
* obtaining a copy of the software and accompanying documentation covered by
9
* this license (the "Software") to use, reproduce, display, distribute,
10
* execute, and transmit the Software, and to prepare derivative works of the
11
* Software, and to permit third-parties to whom the Software is furnished to
12
* do so, all subject to the following:
13
*
14
* The copyright notices in the Software and this entire statement, including
15
* the above license grant, this restriction and the following disclaimer,
16
* must be included in all copies of the Software, in whole or in part, and
17
* all derivative works of the Software, unless such copies or derivative
18
* works are solely in the form of machine-executable object code generated by
19
* a source language processor.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
**********************************************************************/
29
30
#ifndef UTIL_FLOWLAYOUT_H
31
#define UTIL_FLOWLAYOUT_H
32
#include <QLayout>
33
#include <QStyle>
34
#include "
guiconfig.h
"
35
36
namespace
LeechCraft
37
{
38
namespace
Util
39
{
47
class
UTIL_GUI_API
FlowLayout
final :
public
QLayout
48
{
49
QList<QLayoutItem*>
ItemList_;
50
int
HSpace_;
51
int
VSpace_;
52
public
:
53
FlowLayout
(QWidget*,
int
= -1,
int
= -1,
int
= -1);
54
FlowLayout
(
int
= -1,
int
= -1,
int
= -1);
55
virtual
~
FlowLayout
();
56
57
void
addItem (QLayoutItem*)
override
;
58
59
int
horizontalSpacing ()
const
;
60
int
verticalSpacing ()
const
;
61
62
Qt::Orientations expandingDirections ()
const override
;
63
bool
hasHeightForWidth ()
const override
;
64
int
heightForWidth (
int
)
const override
;
65
int
count ()
const override
;
66
QLayoutItem* itemAt (
int
)
const override
;
67
QLayoutItem* takeAt (
int
)
override
;
68
QSize minimumSize ()
const override
;
69
void
setGeometry (
const
QRect&)
override
;
70
QSize sizeHint ()
const override
;
71
private
:
72
int
DoLayout (
const
QRect&,
bool
)
const
;
73
int
SmartSpacing (QStyle::PixelMetric)
const
;
74
};
75
}
76
}
77
78
#endif
UTIL_GUI_API
#define UTIL_GUI_API
Definition:
guiconfig.h:37
LeechCraft
Definition:
constants.h:35
guiconfig.h
LeechCraft::Util::FlowLayout
A simple flow layout implementation.
Definition:
flowlayout.h:47
QList< QLayoutItem * >
src
util
gui
flowlayout.h
Generated by
1.8.11