KDDockWidgets API Documentation  1.6
Config.h
Go to the documentation of this file.
1 /*
2  This file is part of KDDockWidgets.
3 
4  SPDX-FileCopyrightText: 2019-2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
5  Author: SĂ©rgio Martins <sergio.martins@kdab.com>
6 
7  SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
8 
9  Contact KDAB at <info@kdab.com> for commercial licensing options.
10 */
11 
19 #ifndef KD_DOCKWIDGETS_CONFIG_H
20 #define KD_DOCKWIDGETS_CONFIG_H
21 
22 #include "docks_export.h"
23 #include "KDDockWidgets.h"
24 
25 #include <qglobal.h>
26 
27 QT_BEGIN_NAMESPACE
28 class QQmlEngine;
29 class QSize;
30 QT_END_NAMESPACE
31 
32 namespace KDDockWidgets {
33 
34 class DockWidgetBase;
35 class MainWindowBase;
36 class FrameworkWidgetFactory;
37 class DropArea;
38 
39 typedef KDDockWidgets::DockWidgetBase *(*DockWidgetFactoryFunc)(const QString &name);
40 typedef KDDockWidgets::MainWindowBase *(*MainWindowFactoryFunc)(const QString &name);
41 
54 typedef bool (*DropIndicatorAllowedFunc)(DropLocation location,
55  const QVector<DockWidgetBase *> &source,
56  const QVector<DockWidgetBase *> &target,
57  DropArea *dropArea);
58 
65 typedef bool (*TabbingAllowedFunc)(const QVector<DockWidgetBase *> &source,
66  const QVector<DockWidgetBase *> &target);
67 
74 class DOCKS_EXPORT Config
75 {
76 public:
78  static Config &self();
79 
81  ~Config();
82 
87  enum Flag {
88  Flag_None = 0,
89  Flag_NativeTitleBar = 1,
90  Flag_AeroSnapWithClientDecos = 2,
91  Flag_AlwaysTitleBarWhenFloating = 4,
92  Flag_HideTitleBarWhenTabsVisible = 8,
93  Flag_AlwaysShowTabs = 16,
94  Flag_AllowReorderTabs = 32,
95  Flag_TabsHaveCloseButton = 64,
96  Flag_DoubleClickMaximizes = 128,
97  Flag_TitleBarHasMaximizeButton = 256,
98  Flag_TitleBarIsFocusable = 512,
99  Flag_LazyResize = 1024,
100  Flag_DontUseUtilityFloatingWindows = 0x1000,
101  Flag_TitleBarHasMinimizeButton = 0x2000 | Flag_DontUseUtilityFloatingWindows,
102  Flag_TitleBarNoFloatButton = 0x4000,
103  Flag_AutoHideSupport = 0x8000 | Flag_TitleBarNoFloatButton,
104  Flag_KeepAboveIfNotUtilityWindow = 0x10000,
106  Flag_CloseOnlyCurrentTab = 0x20000,
107  Flag_ShowButtonsOnTabBarIfTitleBarHidden = 0x40000,
108  Flag_AllowSwitchingTabsViaMenu = 0x80000,
109  Flag_Default = Flag_AeroSnapWithClientDecos
110  };
111  Q_DECLARE_FLAGS(Flags, Flag)
112 
113 
115  CustomizableWidget_None = 0,
122  CustomizableWidget_Separator
123  };
124  Q_DECLARE_FLAGS(CustomizableWidgets, CustomizableWidget)
125 
126 
127  enum InternalFlag {
130  InternalFlag_None = 0,
131  InternalFlag_NoAeroSnap = 1,
132  InternalFlag_DontUseParentForFloatingWindows = 2,
133  InternalFlag_DontUseQtToolWindowsForFloatingWindows = 4,
134  InternalFlag_DontShowWhenUnfloatingHiddenWindow = 8,
135  InternalFlag_UseTransparentFloatingWindow = 16,
136  InternalFlag_DisableTranslucency = 32,
137  InternalFlag_TopLevelIndicatorRubberBand = 64
139  };
140  Q_DECLARE_FLAGS(InternalFlags, InternalFlag)
141 
142 
143  Flags flags() const;
144 
149  void setFlags(Flags flags);
150 
164  void setDockWidgetFactoryFunc(DockWidgetFactoryFunc);
165 
168  DockWidgetFactoryFunc dockWidgetFactoryFunc() const;
169 
173  void setMainWindowFactoryFunc(MainWindowFactoryFunc);
174 
177  MainWindowFactoryFunc mainWindowFactoryFunc() const;
178 
189  void setFrameworkWidgetFactory(FrameworkWidgetFactory *);
190 
192  FrameworkWidgetFactory *frameworkWidgetFactory() const;
193 
199  int separatorThickness() const;
200 
203  void setSeparatorThickness(int value);
204 
207  void setDraggedWindowOpacity(qreal opacity);
208 
211  qreal draggedWindowOpacity() const;
212 
216  void setDropIndicatorsInhibited(bool inhibit) const;
217 
220  bool dropIndicatorsInhibited() const;
221 
246  void setTabbingAllowedFunc(TabbingAllowedFunc func);
247 
251  TabbingAllowedFunc tabbingAllowedFunc() const;
252 
278  void setDropIndicatorAllowedFunc(DropIndicatorAllowedFunc func);
279 
283  DropIndicatorAllowedFunc dropIndicatorAllowedFunc() const;
284 
288  void setAbsoluteWidgetMinSize(QSize size);
289  QSize absoluteWidgetMinSize() const;
290 
294  void setAbsoluteWidgetMaxSize(QSize size);
295  QSize absoluteWidgetMaxSize() const;
296 
300  // via CSS stylesheets.
301  void setDisabledPaintEvents(CustomizableWidgets);
302  Config::CustomizableWidgets disabledPaintEvents() const;
303 
307  InternalFlags internalFlags() const;
308 
312  void setInternalFlags(InternalFlags flags);
313 
317  void setMDIPopupThreshold(int);
318  int mdiPopupThreshold() const;
319 
320 #ifdef KDDOCKWIDGETS_QTQUICK
321  void setQmlEngine(QQmlEngine *);
323  QQmlEngine *qmlEngine() const;
324 #endif
325 
326 private:
327  Q_DISABLE_COPY(Config)
328  Config();
329  class Private;
330  Private *const d;
331 };
332 
333 }
334 
335 Q_DECLARE_OPERATORS_FOR_FLAGS(KDDockWidgets::Config::Flags)
336 
337 #endif
KDDockWidgets::Config::CustomizableWidget_DockWidget
@ CustomizableWidget_DockWidget
The dock widget.
Definition: Config.h:117
KDDockWidgets::Config::CustomizableWidget_TabBar
@ CustomizableWidget_TabBar
The tab bar, child of Frame, which contains 1 or more dock widgets.
Definition: Config.h:119
KDDockWidgets.h
File with KDDockWidgets namespace-level enums and methods.
KDDockWidgets::MainWindowFactoryFunc
KDDockWidgets::MainWindowBase *(* MainWindowFactoryFunc)(const QString &name)
Definition: Config.h:40
KDDockWidgets::DockWidgetFactoryFunc
KDDockWidgets::DockWidgetBase *(* DockWidgetFactoryFunc)(const QString &name)
Definition: Config.h:39
KDDockWidgets::Config::CustomizableWidget_FloatingWindow
@ CustomizableWidget_FloatingWindow
A top-level window. The container for 1 or more Frame nested side by side.
Definition: Config.h:121
KDDockWidgets::DropIndicatorAllowedFunc
bool(* DropIndicatorAllowedFunc)(DropLocation location, const QVector< DockWidgetBase * > &source, const QVector< DockWidgetBase * > &target, DropArea *dropArea)
Function to allow more granularity to disallow where widgets are dropped.
Definition: Config.h:54
QSize
KDDockWidgets::Config::CustomizableWidget_TitleBar
@ CustomizableWidget_TitleBar
The title bar.
Definition: Config.h:116
KDDockWidgets::Config::CustomizableWidget_TabWidget
@ CustomizableWidget_TabWidget
The tab widget which relates to the tab bar.
Definition: Config.h:120
KDDockWidgets::TabbingAllowedFunc
bool(* TabbingAllowedFunc)(const QVector< DockWidgetBase * > &source, const QVector< DockWidgetBase * > &target)
Function to allow the user more granularity to disallow dock widgets to tab together.
Definition: Config.h:65
QString
KDDockWidgets::Config
Singleton to allow to choose certain behaviours of the framework.
Definition: Config.h:75
KDDockWidgets::Config::Flag
Flag
Flag enum to tune certain behaviours, the defaults are Flag_Default.
Definition: Config.h:87
KDDockWidgets::Config::CustomizableWidget_Frame
@ CustomizableWidget_Frame
The container for a group of 1 or more dockwidgets which are tabbed together.
Definition: Config.h:118
KDDockWidgets::FrameworkWidgetFactory
A factory class for allowing the user to customize some internal widgets. This is optional,...
Definition: FrameworkWidgetFactory.h:68
KDDockWidgets::Config::CustomizableWidget
CustomizableWidget
List of customizable widgets.
Definition: Config.h:114
KDDockWidgets::DockWidgetBase
The DockWidget base-class. DockWidget and DockWidgetBase are only split in two so we can share some c...
Definition: DockWidgetBase.h:61
KDDockWidgets
Definition: Config.cpp:37
KDDockWidgets::MainWindowBase
The MainWindow base-class. MainWindow and MainWindowBase are only split in two so we can share some c...
Definition: MainWindowBase.h:56
KDDockWidgets::DropLocation
DropLocation
Enum describing the different drop indicator types.
Definition: KDDockWidgets.h:229
QVector< DockWidgetBase * >

© 2019-2022 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 on Thu Sep 15 2022 00:16:27 for KDDockWidgets API Documentation by doxygen 1.8.20