Add a mdi-example

Don't want the main example to be too complex
This commit is contained in:
Sergio Martins
2021-02-13 11:31:21 +00:00
parent eccdee0081
commit a4d03c1514
9 changed files with 333 additions and 24 deletions

View File

@@ -29,11 +29,6 @@
#include <stdlib.h>
#include <time.h>
#if defined(DOCKS_DEVELOPER_MODE)
// Block just here for my own debugging
# include "../../src/private/MDILayoutWidget_p.h"
#endif
// clazy:excludeall=qstring-allocations,ctor-missing-parent-argument,detaching-member
static MyWidget *newMyWidget()
@@ -139,20 +134,6 @@ void MyMainWindow::createDockWidgets()
for (int i = 0; i < numDockWidgets; i++)
m_dockwidgets << newDockWidget();
#if defined(DOCKS_DEVELOPER_MODE)
// This block is just for my testing
if (isMDI()) {
auto mdiArea = qobject_cast<KDDockWidgets::MDILayoutWidget*>(layoutWidget());
QPoint pt(10, 10);
for (KDDockWidgets::DockWidgetBase *dw : qAsConst(m_dockwidgets)) {
mdiArea->addDockWidget(dw, pt);
pt += QPoint(40, 40);
}
return;
}
#endif
// MainWindow::addDockWidget() attaches a dock widget to the main window:
addDockWidget(m_dockwidgets.at(0), KDDockWidgets::Location_OnTop);

View File

@@ -126,13 +126,11 @@ int main(int argc, char **argv)
QCommandLineOption noParentForFloating("no-parent-for-floating", QCoreApplication::translate("main", "(internal) FloatingWindows won't have a parent"));
QCommandLineOption nativeTitleBar("native-title-bar", QCoreApplication::translate("main", "(internal) FloatingWindows a native title bar"));
QCommandLineOption noDropIndicators("no-drop-indicators", QCoreApplication::translate("main", "(internal) Don't use any drop indicators"));
QCommandLineOption mdiLayout("mdi-layout", QCoreApplication::translate("main", "Main Window will use an MDI layout instead")); // TODO: Expose once stable
parser.addOption(noQtTool);
parser.addOption(noParentForFloating);
parser.addOption(nativeTitleBar);
parser.addOption(noDropIndicators);
parser.addOption(mdiLayout);
# if defined(Q_OS_WIN)
QCommandLineOption noAeroSnap("no-aero-snap", QCoreApplication::translate("main", "(internal) Disable AeroSnap"));
@@ -162,9 +160,6 @@ int main(int argc, char **argv)
options = parser.isSet(centralFrame) ? MainWindowOption_HasCentralFrame
: MainWindowOption_None;
if (parser.isSet(mdiLayout))
options |= MainWindowOption_MDI; // TODO: Move outside of developer mode once stable
if (parser.isSet(noQtTool))
internalFlags |= KDDockWidgets::Config::InternalFlag_DontUseQtToolWindowsForFloatingWindows;