15class DockSubWindowPrivate
20 DockSubWindowPrivate();
25DockSubWindowPrivate::DockSubWindowPrivate()
46 for (
auto iter = widgetsMap.begin(); iter != widgetsMap.end(); ++iter) {
47 auto widget = iter.value()->widget();
48 auto action = iter.value()->toggleViewAction();
52 auto subMenu = menu->addMenu(iter.key());
54 subMenu->addAction(action);
55 subMenu->addSeparator();
59 menu->addAction(action);
63 if (d->m_group->canCreateNewGroups()) {
70 if (d->m_group->topLevelGroup()->subWindow() !=
this)
78 for (
auto iter = widgetsMap.begin(); iter != widgetsMap.end(); ++iter) {
79 auto subMenu = menu->addMenu(iter.key());
81 for (
auto sw : moveTo) {
85 }
else if (sw ==
subWindow(iter.value())) {
96 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
98 for (
auto child : childrens)
99 child->addPerspective(
name);
104 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
106 for (
auto child : childrens)
107 child->openPerspective(
name);
112 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
114 for (
auto child : childrens)
115 child->removePerspectives(child->perspectiveNames());
120 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
122 for (
auto child : childrens) {
123 settings.beginGroup(child->getPersistGroupName());
124 child->loadPerspectives(settings);
131 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
133 for (
auto child : childrens) {
134 settings.beginGroup(child->getPersistGroupName());
135 child->savePerspectives(settings);
149 for (
auto widget : widgets) {
162 std::vector<DockSubWindow *> sws;
171 std::vector<std::pair<DockSubWindow *, DockWidget *>> widgets;
173 for (
auto widget : sw->getWidgetsInGUIOrder())
174 widgets.push_back(std::make_pair(sw, widget));
182 return d->m_group->objectName();
185#define CHILD_PREFIX QString("Child-")
188 QString
group =
"Top";
197 persistGroupName = persistGroupName.mid(
CHILD_PREFIX.size());
201 return persistGroupName;
212 QMap<QString, QStringList> result;
213 std::vector<DockSubWindow *> childrens =
allSubWindows(
true,
true);
214 for (
auto child : childrens) {
215 result[child->getPersistGroupName()] = child->dockWidgetsMap().keys();
230 std::vector<DockWidget *> result;
234 result.push_back(widget);
int dockPanelCount() const
DockPanel * dockPanel(int index) const
void setupMenu(QMenu *menu, const std::vector< DockSubWindow * > &moveTo)
DockSubWindow * subWindow() const
DockPanel manages multiple instances of DockWidgets.
QList< DockWidget * > dockWidgets() const
void openPerspectiveRec(const QString &name)
QMap< QString, QStringList > getGroupContents()
void savePerspectivesRec(QSettings &Settings) const
DockPanel * getInsertDefaultPos()
void loadPerspectivesRec(QSettings &Settings)
void childWindows(std::vector< DockSubWindow * > &subs, bool rec) const
static QString getGroupNameFromPersistGroupName(QString persistGroupName)
std::vector< DockSubWindow * > allSubWindows(bool includeThis, bool rec) const
QString getPersistGroupName()
std::vector< DockWidget * > getWidgetsInGUIOrder() const
std::vector< std::pair< DockSubWindow *, DockWidget * > > allDockWidgets(bool includeThis, bool rec) const
virtual ~DockSubWindow() override
void addPerspectiveRec(const QString &name)
void fillViewMenu(QMenu *menu, const std::vector< DockSubWindow * > &moveTo)
static DockSubWindow * subWindow(DockWidget *widget)
void fillMoveMenu(QMenu *menu, const std::vector< DockSubWindow * > &moveTo)
void removePerspectivesRec()
The central dock window that maintains the complete docking system.
QMap< QString, DockWidget * > dockWidgetsMap() const
This function returns a readable reference to the internal dock widgets map so that it is possible to...
#define QX_INIT_PRIVATE(Class)
#define QX_DECLARE_PUBLIC(Class)
#define QX_FINI_PRIVATE()
#define QX_DOCK_END_NAMESPACE
#define QX_DOCK_BEGIN_NAMESPACE