KDDockWidgets API Documentation  1.4
Config.h
Go to the documentation of this file.
1 /*
2  This file is part of KDDockWidgets.
3 
4  SPDX-FileCopyrightText: 2019-2021 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 
24 #include <qglobal.h>
25 
26 QT_BEGIN_NAMESPACE
27 class QQmlEngine;
28 class QSize;
29 QT_END_NAMESPACE
30 
31 namespace KDDockWidgets {
32 
33 class DockWidgetBase;
34 class MainWindowBase;
35 class FrameworkWidgetFactory;
36 
37 typedef KDDockWidgets::DockWidgetBase *(*DockWidgetFactoryFunc)(const QString &name);
38 typedef KDDockWidgets::MainWindowBase *(*MainWindowFactoryFunc)(const QString &name);
39 
45 typedef bool (*TabbingAllowedFunc)(const QVector<DockWidgetBase *> &source,
46  const QVector<DockWidgetBase *> &target);
47 
54 class DOCKS_EXPORT Config
55 {
56 public:
58  static Config &self();
59 
61  ~Config();
62 
64  enum Flag
65  {
66  Flag_None = 0,
67  Flag_NativeTitleBar = 1,
68  Flag_AeroSnapWithClientDecos = 2,
69  Flag_AlwaysTitleBarWhenFloating = 4,
70  Flag_HideTitleBarWhenTabsVisible = 8,
71  Flag_AlwaysShowTabs = 16,
72  Flag_AllowReorderTabs = 32,
73  Flag_TabsHaveCloseButton = 64,
74  Flag_DoubleClickMaximizes = 128,
75  Flag_TitleBarHasMaximizeButton = 256,
76  Flag_TitleBarIsFocusable = 512,
77  Flag_LazyResize = 1024,
78  Flag_DontUseUtilityFloatingWindows = 0x1000,
79  Flag_TitleBarHasMinimizeButton = 0x2000 | Flag_DontUseUtilityFloatingWindows,
80  Flag_TitleBarNoFloatButton = 0x4000,
81  Flag_AutoHideSupport = 0x8000 | Flag_TitleBarNoFloatButton,
82  Flag_KeepAboveIfNotUtilityWindow = 0x10000,
84  Flag_CloseOnlyCurrentTab = 0x20000,
85  Flag_ShowButtonsOnTabBarIfTitleBarHidden = 0x40000,
86  Flag_Default = Flag_AeroSnapWithClientDecos
87  };
88  Q_DECLARE_FLAGS(Flags, Flag)
89 
90 
92  {
93  CustomizableWidget_None = 0,
100  CustomizableWidget_Separator
101  };
102  Q_DECLARE_FLAGS(CustomizableWidgets, CustomizableWidget)
103 
104 
105  enum InternalFlag
108  {
109  InternalFlag_None = 0,
110  InternalFlag_NoAeroSnap = 1,
111  InternalFlag_DontUseParentForFloatingWindows = 2,
112  InternalFlag_DontUseQtToolWindowsForFloatingWindows = 4,
113  InternalFlag_DontShowWhenUnfloatingHiddenWindow = 8,
114  InternalFlag_UseTransparentFloatingWindow = 16,
115  InternalFlag_DisableTranslucency = 32
116  };
118  Q_DECLARE_FLAGS(InternalFlags, InternalFlag)
119 
120 
121  Flags flags() const;
122 
127  void setFlags(Flags flags);
128 
142  void setDockWidgetFactoryFunc(DockWidgetFactoryFunc);
143 
146  DockWidgetFactoryFunc dockWidgetFactoryFunc() const;
147 
151  void setMainWindowFactoryFunc(MainWindowFactoryFunc);
152 
155  MainWindowFactoryFunc mainWindowFactoryFunc() const;
156 
167  void setFrameworkWidgetFactory(FrameworkWidgetFactory *);
168 
170  FrameworkWidgetFactory *frameworkWidgetFactory() const;
171 
177  int separatorThickness() const;
178 
181  void setSeparatorThickness(int value);
182 
185  void setDraggedWindowOpacity(qreal opacity);
186 
189  qreal draggedWindowOpacity() const;
190 
194  void setDropIndicatorsInhibited(bool inhibit) const;
195 
198  bool dropIndicatorsInhibited() const;
199 
220  void setTabbingAllowedFunc(TabbingAllowedFunc func);
221 
225  TabbingAllowedFunc tabbingAllowedFunc() const;
226 
230  void setAbsoluteWidgetMinSize(QSize size);
231  QSize absoluteWidgetMinSize() const;
232 
236  void setAbsoluteWidgetMaxSize(QSize size);
237  QSize absoluteWidgetMaxSize() const;
238 
242  // via CSS stylesheets.
243  void setDisabledPaintEvents(CustomizableWidgets);
244  Config::CustomizableWidgets disabledPaintEvents() const;
245 
249  InternalFlags internalFlags() const;
250 
254  void setInternalFlags(InternalFlags flags);
255 
259  void setMDIPopupThreshold(int);
260  int mdiPopupThreshold() const;
261 
262 #ifdef KDDOCKWIDGETS_QTQUICK
263  void setQmlEngine(QQmlEngine *);
265  QQmlEngine *qmlEngine() const;
266 #endif
267 
268 private:
269  Q_DISABLE_COPY(Config)
270  Config();
271  class Private;
272  Private *const d;
273 };
274 
275 }
276 
277 Q_DECLARE_OPERATORS_FOR_FLAGS(KDDockWidgets::Config::Flags)
278 
279 #endif
KDDockWidgets::Config::CustomizableWidget_DockWidget
@ CustomizableWidget_DockWidget
The dock widget.
Definition: Config.h:95
KDDockWidgets::Config::CustomizableWidget_TabBar
@ CustomizableWidget_TabBar
The tab bar, child of Frame, which contains 1 or more dock widgets.
Definition: Config.h:97
KDDockWidgets::MainWindowFactoryFunc
KDDockWidgets::MainWindowBase *(* MainWindowFactoryFunc)(const QString &name)
Definition: Config.h:38
KDDockWidgets::DockWidgetFactoryFunc
KDDockWidgets::DockWidgetBase *(* DockWidgetFactoryFunc)(const QString &name)
Definition: Config.h:37
KDDockWidgets::Config::CustomizableWidget_FloatingWindow
@ CustomizableWidget_FloatingWindow
A top-level window. The container for 1 or more Frame nested side by side.
Definition: Config.h:99
QSize
KDDockWidgets::Config::CustomizableWidget_TitleBar
@ CustomizableWidget_TitleBar
The title bar.
Definition: Config.h:94
KDDockWidgets::Config::CustomizableWidget_TabWidget
@ CustomizableWidget_TabWidget
The tab widget which relates to the tab bar.
Definition: Config.h:98
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:45
QString
KDDockWidgets::Config
Singleton to allow to choose certain behaviours of the framework.
Definition: Config.h:55
KDDockWidgets::Config::Flag
Flag
Flag enum to tune certain behaviours, the defaults are Flag_Default.
Definition: Config.h:65
KDDockWidgets::Config::CustomizableWidget_Frame
@ CustomizableWidget_Frame
The container for a group of 1 or more dockwidgets which are tabbed together.
Definition: Config.h:96
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:92
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:36
KDDockWidgets::MainWindowBase
The MainWindow base-class. MainWindow and MainWindowBase are only split in two so we can share some c...
Definition: MainWindowBase.h:56
QVector< DockWidgetBase * >

© 2019-2021 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 Mon Nov 15 2021 00:17:17 for KDDockWidgets API Documentation by doxygen 1.8.20