QtCanpool 3.3.0
载入中...
搜索中...
未找到
docksplitter.cpp
浏览该文件的文档.
1
6#include "docksplitter.h"
7#include "dockpanel.h"
8
10
11class DockSplitterPrivate
12{
13public:
14 QX_DECLARE_PUBLIC(DockSplitter)
15public:
16 DockSplitterPrivate();
17};
18
19DockSplitterPrivate::DockSplitterPrivate()
20{
21}
22
23DockSplitter::DockSplitter(QWidget *parent)
24 : QSplitter(parent)
25{
27 setChildrenCollapsible(false);
28}
29
30DockSplitter::DockSplitter(Qt::Orientation orientation, QWidget *parent)
31 : QSplitter(orientation, parent)
32{
34}
35
40
42{
43 // TODO Cache or precalculate this to speed up
44 for (int i = 0; i < count(); ++i) {
45 if (!widget(i)->isHidden()) {
46 return true;
47 }
48 }
49
50 return false;
51}
52
54{
55 return (count() > 0) ? widget(0) : nullptr;
56}
57
59{
60 return (count() > 0) ? widget(count() - 1) : nullptr;
61}
62
67{
68 for (auto panel : findChildren<DockPanel *>()) {
69 if (panel->isCentralWidgetArea()) {
70 return true;
71 }
72 }
73
74 return false;
75}
76
QWidget * lastWidget() const
bool hasVisibleContent() const
bool isResizingWithContainer() const
Returns true if the splitter contains central widget of dock window.
DockSplitter(QWidget *parent=nullptr)
QWidget * firstWidget() const
#define QX_INIT_PRIVATE(Class)
#define QX_DECLARE_PUBLIC(Class)
#define QX_FINI_PRIVATE()
#define QX_DOCK_END_NAMESPACE
#define QX_DOCK_BEGIN_NAMESPACE