KDDockWidgets API Documentation 2.1
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
KDDockWidgets::LayoutSaver Class Reference

LayoutSaver allows to save or restore layouts. More...

#include <LayoutSaver.h>

Inheritance diagram for KDDockWidgets::LayoutSaver:
Inheritance graph
[legend]

Public Member Functions

 LayoutSaver (RestoreOptions options=RestoreOption_None)
 Constructor. Construction on the stack is suggested.
 
 ~LayoutSaver ()
 Destructor.
 
Private * dptr () const
 
Vector< Core::DockWidget * > restoredDockWidgets () const
 returns a list of dock widgets which were restored since the last restoreLayout() or restoreFromFile()
 
bool restoreFromFile (const QString &jsonFilename)
 restores the layout from a JSON file
 
bool restoreLayout (const QByteArray &)
 restores the layout from a byte array All MainWindows and DockWidgets should have been created before calling this function.
 
bool saveToFile (const QString &jsonFilename)
 saves the layout to JSON file
 
QByteArray serializeLayout () const
 saves the layout into a byte array
 
void setAffinityNames (const Vector< QString > &affinityNames)
 Sets the list of affinity names for which restore and save will be applied on. Allows to save/restore only a subset of the windows. Empty by default, all windows are subject to save/restore. Any window with empty affinity will also be subject to save/restore, regardless of affinityNames.
 

Static Public Member Functions

static Vector< QStringopenedDockWidgetsInLayout (const QByteArray &serialized)
 
static Vector< QStringopenedDockWidgetsInLayout (const QString &jsonFilename)
 Returns the list of opened dock widgets in the specified layout.
 
static bool restoreInProgress ()
 returns whether a restore (restoreLayout) is in progress
 
static Vector< QStringsideBarDockWidgetsInLayout (const QByteArray &serialized)
 
static Vector< QStringsideBarDockWidgetsInLayout (const QString &jsonFilename)
 

Detailed Description

LayoutSaver allows to save or restore layouts.

You can save a layout to a file or to a byte array. JSON is used as the serialized format.

Example: LayoutSaver saver;

// Save to a file: saver.saveToFile(filename);

The counterpart of saveToFile() is restoreFromFile().

You can also save to a QByteArray instead, with serializeLayout(). The counterpart of serializeLayout() is restoreLayout();

Definition at line 55 of file LayoutSaver.h.

Constructor & Destructor Documentation

◆ LayoutSaver()

LayoutSaver::LayoutSaver ( RestoreOptions  options = RestoreOption_None)
explicit

Constructor. Construction on the stack is suggested.

Definition at line 374 of file LayoutSaver.cpp.

◆ ~LayoutSaver()

LayoutSaver::~LayoutSaver ( )

Destructor.

Definition at line 380 of file LayoutSaver.cpp.

Member Function Documentation

◆ dptr()

LayoutSaver::Private * LayoutSaver::dptr ( ) const

Definition at line 605 of file LayoutSaver.cpp.

Referenced by KDDockWidgets::LayoutSaverInstantiator::affinities().

◆ openedDockWidgetsInLayout() [1/2]

Vector< QString > LayoutSaver::openedDockWidgetsInLayout ( const QByteArray serialized)
static

◆ openedDockWidgetsInLayout() [2/2]

Vector< QString > LayoutSaver::openedDockWidgetsInLayout ( const QString jsonFilename)
static

Returns the list of opened dock widgets in the specified layout.

This operation does not have side-effects, no dock widget will be actually restored.

Definition at line 769 of file LayoutSaver.cpp.

References KDDockWidgets::Core::Platform::instance(), openedDockWidgetsInLayout(), and KDDockWidgets::Core::Platform::readFile().

Referenced by openedDockWidgetsInLayout().

◆ restoredDockWidgets()

Core::DockWidget::List LayoutSaver::restoredDockWidgets ( ) const

returns a list of dock widgets which were restored since the last restoreLayout() or restoreFromFile()

Useful since some dock widgets can be new, and hence not be included in the last saved layout.

Definition at line 610 of file LayoutSaver.cpp.

References KDDockWidgets::DockRegistry::dockwidgets(), KDToolBox::StlContainerAdaptor::StdVectorAdaptor< T, Args >::reserve(), KDDockWidgets::DockRegistry::self(), and KDToolBox::StlContainerAdaptor::StdVectorAdaptor< T, Args >::size().

◆ restoreFromFile()

bool LayoutSaver::restoreFromFile ( const QString jsonFilename)

restores the layout from a JSON file

Parameters
jsonFilenamethe filename containing a saved layout
Returns
true on success

Definition at line 401 of file LayoutSaver.cpp.

References KDDockWidgets::Core::Platform::instance(), KDDockWidgets::Core::Platform::readFile(), and restoreLayout().

Referenced by KDDockWidgets::Debug::DebugWindow::DebugWindow(), c_KDDockWidgets__LayoutSaver__restoreFromFile_QString(), lint(), and KDDockWidgets::LayoutSaverInstantiator::restoreFromFile().

◆ restoreInProgress()

bool LayoutSaver::restoreInProgress ( )
static

returns whether a restore (restoreLayout) is in progress

Definition at line 739 of file LayoutSaver.cpp.

Referenced by KDDockWidgets::Core::Layout::setLayoutSize().

◆ restoreLayout()

bool LayoutSaver::restoreLayout ( const QByteArray data)

restores the layout from a byte array All MainWindows and DockWidgets should have been created before calling this function.

If not all DockWidgets can be created beforehand then make sure to set a DockWidget factory via Config::setDockWidgetFactoryFunc()

See also
Config::setDockWidgetFactoryFunc()
Returns
true on success

Definition at line 463 of file LayoutSaver.cpp.

References KDDockWidgets::DockRegistry::ConsultRemapping, KDDockWidgets::Core::DockWidget::deserialize(), QByteArray::isEmpty(), KDDockWidgets::Config::mainWindowFactoryFunc(), KDDockWidgets::DockRegistry::mainwindows(), KDDockWidgets::Maximized, KDDockWidgets::Minimized, KDDockWidgets::None, KDDockWidgets::Config::self(), KDDockWidgets::DockRegistry::self(), and KDDockWidgets::StartsMinimized.

Referenced by restoreFromFile().

◆ saveToFile()

bool LayoutSaver::saveToFile ( const QString jsonFilename)

saves the layout to JSON file

Parameters
jsonFilenamethe filename where the layout will be saved to
Returns
true on success

Definition at line 386 of file LayoutSaver.cpp.

References QByteArray::constData(), serializeLayout(), QByteArray::size(), and QString::toStdString().

Referenced by KDDockWidgets::Debug::DebugWindow::DebugWindow(), c_KDDockWidgets__LayoutSaver__saveToFile_QString(), and KDDockWidgets::LayoutSaverInstantiator::saveToFile().

◆ serializeLayout()

QByteArray LayoutSaver::serializeLayout ( ) const

saves the layout into a byte array

Definition at line 412 of file LayoutSaver.cpp.

References KDToolBox::StlContainerAdaptor::StdVectorAdaptor< T, Args >::size().

Referenced by main(), and saveToFile().

◆ setAffinityNames()

void LayoutSaver::setAffinityNames ( const Vector< QString > &  affinityNames)

Sets the list of affinity names for which restore and save will be applied on. Allows to save/restore only a subset of the windows. Empty by default, all windows are subject to save/restore. Any window with empty affinity will also be subject to save/restore, regardless of affinityNames.

Definition at line 596 of file LayoutSaver.cpp.

References KDToolBox::StlContainerAdaptor::StdVectorAdaptor< T, Args >::contains().

Referenced by KDDockWidgets::LayoutSaverInstantiator::setAffinities().

◆ sideBarDockWidgetsInLayout() [1/2]

Vector< QString > LayoutSaver::sideBarDockWidgetsInLayout ( const QByteArray serialized)
static

◆ sideBarDockWidgetsInLayout() [2/2]

Vector< QString > LayoutSaver::sideBarDockWidgetsInLayout ( const QString jsonFilename)
static

The documentation for this class was generated from the following files:

© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/
Generated by doxygen 1.9.8