KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
KDDWBindingsCore/MainWindow_c.cpp
Go to the documentation of this file.
1/*
2 This file is part of KDDockWidgets.
3
4 SPDX-FileCopyrightText: 2019 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#include "MainWindow_c.h"
12
13
14#include <iostream>
15
16#include <cassert>
17
18
19namespace Dartagnan {
20
21typedef int (*CleanupCallback)(void *thisPtr);
23
24template<typename T>
25struct ValueWrapper
26{
27 T value;
28};
29
30}
32namespace KDDWBindingsCore {
34 : ::KDDockWidgets::Core::MainWindow(view, uniqueName, options)
35{
36}
46{
47 return ::KDDockWidgets::Core::MainWindow::anySideBarIsVisible();
48}
49KDDockWidgets::Margins MainWindow_wrapper::centerWidgetMargins() const
50{
51 return ::KDDockWidgets::Core::MainWindow::centerWidgetMargins();
52}
53KDDockWidgets::Rect MainWindow_wrapper::centralAreaGeometry() const
54{
55 return ::KDDockWidgets::Core::MainWindow::centralAreaGeometry();
56}
62{
63 return ::KDDockWidgets::Core::MainWindow::closeDockWidgets(force);
64}
66{
67 return ::KDDockWidgets::Core::MainWindow::dropArea();
68}
74{
75 return ::KDDockWidgets::Core::MainWindow::isMDI();
76}
78{
79 return ::KDDockWidgets::Core::MainWindow::layout();
80}
94{
95 return ::KDDockWidgets::Core::MainWindow::multiSplitter();
96}
98{
99 return ::KDDockWidgets::Core::MainWindow::options();
100}
102{
103 return ::KDDockWidgets::Core::MainWindow::overlayMargin();
104}
110{
111 return ::KDDockWidgets::Core::MainWindow::overlayedDockWidget();
112}
126{
128 const void *thisPtr = this;
129 m_setParentView_implCallback(const_cast<void *>(thisPtr), parent);
130 } else {
132 }
133}
143{
144 return ::KDDockWidgets::Core::MainWindow::sideBarForDockWidget(dw);
145}
151{
152 return ::KDDockWidgets::Core::MainWindow::uniqueName();
153}
157
158}
159}
161{
162 return reinterpret_cast<KDDockWidgets::Core::MainWindow *>(ptr);
163}
168extern "C" {
173void *c_KDDockWidgets__Core__MainWindow__constructor_View_QString_MainWindowOptions(void *view_, const char *uniqueName_, int options_)
174{
175 auto view = reinterpret_cast<KDDockWidgets::Core::View *>(view_);
176 const auto uniqueName = QString::fromUtf8(uniqueName_);
177 auto options = static_cast<QFlags<KDDockWidgets::MainWindowOption>>(options_);
178 auto ptr = new KDDockWidgetsBindings_wrappersNS::KDDWBindingsCore::MainWindow_wrapper(view, uniqueName, options);
179 return reinterpret_cast<void *>(ptr);
180}
181// addDockWidget(KDDockWidgets::Core::DockWidget * dockWidget, KDDockWidgets::Location location, KDDockWidgets::Core::DockWidget * relativeTo, KDDockWidgets::InitialOption initialOption)
182void c_KDDockWidgets__Core__MainWindow__addDockWidget_DockWidget_Location_DockWidget_InitialOption(void *thisObj, void *dockWidget_, int location, void *relativeTo_, void *initialOption_)
183{
184 auto dockWidget = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dockWidget_);
185 auto relativeTo = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(relativeTo_);
186 assert(initialOption_);
187 auto &initialOption = *reinterpret_cast<KDDockWidgets::InitialOption *>(initialOption_);
188 fromPtr(thisObj)->addDockWidget(dockWidget, static_cast<KDDockWidgets::Location>(location), relativeTo, initialOption);
189}
190// addDockWidgetAsTab(KDDockWidgets::Core::DockWidget * dockwidget)
192{
193 auto dockwidget = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dockwidget_);
194 fromPtr(thisObj)->addDockWidgetAsTab(dockwidget);
195}
196// anySideBarIsVisible() const
198{
199 const auto &result = fromPtr(thisObj)->anySideBarIsVisible();
200 return result;
201}
202// centerWidgetMargins() const
204{
205 const auto &result = new Dartagnan::ValueWrapper<KDDockWidgets::Margins> { fromPtr(thisObj)->centerWidgetMargins() };
206 return result;
207}
208// centralAreaGeometry() const
210{
211 const auto &result = new Dartagnan::ValueWrapper<KDDockWidgets::Rect> { fromWrapperPtr(thisObj)->centralAreaGeometry() };
212 return result;
213}
214// clearSideBarOverlay(bool deleteFrame)
216{
217 fromPtr(thisObj)->clearSideBarOverlay(deleteFrame);
218}
219// closeDockWidgets(bool force)
221{
222 const auto &result = fromPtr(thisObj)->closeDockWidgets(force);
223 return result;
224}
225// dropArea() const
227{
228 const auto &result = fromPtr(thisObj)->dropArea();
229 return result;
230}
231// init(const QString & name)
232void c_KDDockWidgets__Core__MainWindow__init_QString(void *thisObj, const char *name_)
233{
234 const auto name = QString::fromUtf8(name_);
235 fromPtr(thisObj)->init(name);
236 free(( char * )name_);
237}
238// isMDI() const
240{
241 const auto &result = fromPtr(thisObj)->isMDI();
242 return result;
243}
244// layout() const
246{
247 const auto &result = fromPtr(thisObj)->layout();
248 return result;
249}
250// layoutEqually()
252{
253 fromPtr(thisObj)->layoutEqually();
254}
255// layoutParentContainerEqually(KDDockWidgets::Core::DockWidget * dockWidget)
257{
258 auto dockWidget = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dockWidget_);
259 fromPtr(thisObj)->layoutParentContainerEqually(dockWidget);
260}
261// moveToSideBar(KDDockWidgets::Core::DockWidget * dw)
263{
264 auto dw = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dw_);
265 fromPtr(thisObj)->moveToSideBar(dw);
266}
267// multiSplitter() const
269{
270 const auto &result = fromPtr(thisObj)->multiSplitter();
271 return result;
272}
273// options() const
275{
276 const auto &result = fromPtr(thisObj)->options();
277 return result;
278}
279// overlayMargin() const
281{
282 const auto &result = fromPtr(thisObj)->overlayMargin();
283 return result;
284}
285// overlayOnSideBar(KDDockWidgets::Core::DockWidget * dw)
287{
288 auto dw = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dw_);
289 fromPtr(thisObj)->overlayOnSideBar(dw);
290}
291// overlayedDockWidget() const
293{
294 const auto &result = fromPtr(thisObj)->overlayedDockWidget();
295 return result;
296}
297// restoreFromSideBar(KDDockWidgets::Core::DockWidget * dw)
299{
300 auto dw = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dw_);
301 fromPtr(thisObj)->restoreFromSideBar(dw);
302}
303// setContentsMargins(int l, int t, int r, int b)
305{
306 fromPtr(thisObj)->setContentsMargins(l, t, r, b);
307}
308// setOverlayMargin(int margin)
310{
311 fromPtr(thisObj)->setOverlayMargin(margin);
312}
313// setParentView_impl(KDDockWidgets::Core::View * parent)
315{
316 auto parent = reinterpret_cast<KDDockWidgets::Core::View *>(parent_);
318}
319// setUniqueName(const QString & uniqueName)
320void c_KDDockWidgets__Core__MainWindow__setUniqueName_QString(void *thisObj, const char *uniqueName_)
321{
322 const auto uniqueName = QString::fromUtf8(uniqueName_);
323 fromWrapperPtr(thisObj)->setUniqueName(uniqueName);
324 free(( char * )uniqueName_);
325}
326// sideBarForDockWidget(const KDDockWidgets::Core::DockWidget * dw) const
328{
329 auto dw = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dw_);
330 const auto &result = fromPtr(thisObj)->sideBarForDockWidget(dw);
331 return result;
332}
333// toggleOverlayOnSideBar(KDDockWidgets::Core::DockWidget * dw)
335{
336 auto dw = reinterpret_cast<KDDockWidgets::Core::DockWidget *>(dw_);
337 fromPtr(thisObj)->toggleOverlayOnSideBar(dw);
338}
339// uniqueName() const
341{
342 const auto &result = new Dartagnan::ValueWrapper<QString> { fromPtr(thisObj)->uniqueName() };
343 return result;
344}
346{
347 delete fromPtr(thisObj);
348}
349void c_KDDockWidgets__Core__MainWindow__registerVirtualMethodCallback(void *ptr, void *callback, int methodId)
350{
351 auto wrapper = fromWrapperPtr(ptr);
352 switch (methodId) {
353 case 331:
354 wrapper->m_setParentView_implCallback = reinterpret_cast<KDDockWidgetsBindings_wrappersNS::KDDWBindingsCore::MainWindow_wrapper::Callback_setParentView_impl>(callback);
355 break;
356 }
357}
358}
void c_KDDockWidgets__Core__MainWindow__moveToSideBar_DockWidget(void *thisObj, void *dw_)
void c_KDDockWidgets__Core__MainWindow__layoutParentContainerEqually_DockWidget(void *thisObj, void *dockWidget_)
int c_KDDockWidgets__Core__MainWindow__options(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__setOverlayMargin_int(void *thisObj, int margin)
void c_KDDockWidgets__Core__MainWindow__registerVirtualMethodCallback(void *ptr, void *callback, int methodId)
void c_KDDockWidgets__Core__MainWindow__destructor(void *thisObj)
bool c_KDDockWidgets__Core__MainWindow__anySideBarIsVisible(void *thisObj)
static KDDockWidgetsBindings_wrappersNS::KDDWBindingsCore::MainWindow_wrapper * fromWrapperPtr(void *ptr)
void * c_KDDockWidgets__Core__MainWindow__overlayedDockWidget(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__overlayOnSideBar_DockWidget(void *thisObj, void *dw_)
void * c_KDDockWidgets__Core__MainWindow__sideBarForDockWidget_DockWidget(void *thisObj, void *dw_)
void c_KDDockWidgets__Core__MainWindow__clearSideBarOverlay_bool(void *thisObj, bool deleteFrame)
void * c_KDDockWidgets__Core__MainWindow__centralAreaGeometry(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__setContentsMargins_int_int_int_int(void *thisObj, int l, int t, int r, int b)
static KDDockWidgets::Core::MainWindow * fromPtr(void *ptr)
bool c_KDDockWidgets__Core__MainWindow__isMDI(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__layoutEqually(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__toggleOverlayOnSideBar_DockWidget(void *thisObj, void *dw_)
void * c_KDDockWidgets__Core__MainWindow__layout(void *thisObj)
void * c_KDDockWidgets__Core__MainWindow__multiSplitter(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__restoreFromSideBar_DockWidget(void *thisObj, void *dw_)
void * c_KDDockWidgets__Core__MainWindow__dropArea(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__setParentView_impl_View(void *thisObj, void *parent_)
bool c_KDDockWidgets__Core__MainWindow__closeDockWidgets_bool(void *thisObj, bool force)
void * c_KDDockWidgets__Core__MainWindow__uniqueName(void *thisObj)
void * c_KDDockWidgets__Core__MainWindow__constructor_View_QString_MainWindowOptions(void *view_, const char *uniqueName_, int options_)
void * c_KDDockWidgets__Core__MainWindow__centerWidgetMargins(void *thisObj)
void c_KDDockWidgets__Core__MainWindow_Finalizer(void *cppObj)
int c_KDDockWidgets__Core__MainWindow__overlayMargin(void *thisObj)
void c_KDDockWidgets__Core__MainWindow__init_QString(void *thisObj, const char *name_)
void c_KDDockWidgets__Core__MainWindow__addDockWidgetAsTab_DockWidget(void *thisObj, void *dockwidget_)
void c_KDDockWidgets__Core__MainWindow__setUniqueName_QString(void *thisObj, const char *uniqueName_)
void c_KDDockWidgets__Core__MainWindow__addDockWidget_DockWidget_Location_DockWidget_InitialOption(void *thisObj, void *dockWidget_, int location, void *relativeTo_, void *initialOption_)
void(* Callback_setParentView_impl)(void *, KDDockWidgets::Core::View *parent)
KDDockWidgets::Core::SideBar * sideBarForDockWidget(const KDDockWidgets::Core::DockWidget *dw) const
void addDockWidget(KDDockWidgets::Core::DockWidget *dockWidget, KDDockWidgets::Location location, KDDockWidgets::Core::DockWidget *relativeTo=nullptr, KDDockWidgets::InitialOption initialOption={})
MainWindow_wrapper(KDDockWidgets::Core::View *view, const QString &uniqueName, QFlags< KDDockWidgets::MainWindowOption > options)
virtual void setParentView_impl(View *parent)
The DockWidget base-class. DockWidget and Core::DockWidget are only split in two so we can share some...
The widget (QWidget or QQuickItem) which holds a layout of dock widgets.
Definition Layout.h:57
The MainWindow base-class. MainWindow and MainWindowBase are only split in two so we can share some c...
void clearSideBarOverlay(bool deleteFrame=true)
closes any overlayed dock widget. The sidebar still displays them as button.
QString uniqueName() const
Returns the unique name that was passed via constructor. Used internally by the save/restore mechanis...
void setOverlayMargin(int margin)
Sets the margin used by overlay docks. Does not modify currently overlayed docks.
void addDockWidgetAsTab(KDDockWidgets::Core::DockWidget *dockwidget)
Docks a DockWidget into the central group, tabbed.
void overlayOnSideBar(KDDockWidgets::Core::DockWidget *dw)
Shows the dock widget overlayed on top of the main window, placed next to the sidebar.
KDDockWidgets::Core::SideBar * sideBarForDockWidget(const KDDockWidgets::Core::DockWidget *dw) const
Returns the sidebar this dockwidget is in. nullptr if not in any.
void toggleOverlayOnSideBar(KDDockWidgets::Core::DockWidget *dw)
Shows or hides an overlay. It's assumed the dock widget is already in a side-bar.
void layoutParentContainerEqually(KDDockWidgets::Core::DockWidget *dockWidget)
like layoutEqually() but starts with the container that has dockWidget. While layoutEqually() starts ...
Margins centerWidgetMargins() const
bool anySideBarIsVisible() const
Returns whether any side bar is visible.
void addDockWidget(KDDockWidgets::Core::DockWidget *dockWidget, KDDockWidgets::Location location, KDDockWidgets::Core::DockWidget *relativeTo=nullptr, KDDockWidgets::InitialOption initialOption={})
Docks a DockWidget into this main window.
int overlayMargin() const
Returns the margin used by overlay docks. Default: 1.
void setContentsMargins(int l, int t, int r, int b)
Sets the content's margins.
void layoutEqually()
layouts all the widgets so they have an equal size within their parent container
DropArea * multiSplitter() const
MainWindowOptions options() const
Returns the main window options that were passed via constructor.
Core::DockWidget * overlayedDockWidget() const
returns the dock widget which is currently overlayed. nullptr if none. This is only relevant when usi...
void moveToSideBar(KDDockWidgets::Core::DockWidget *dw)
Moves the dock widget into one of the MainWindow's sidebar. Means the dock widget is removed from the...
bool closeDockWidgets(bool force=false)
Closes all dock widgets which are docked into this main window This is convenience to calling DockWid...
void init(const QString &name)
bool isMDI() const
Returns whether this main window is using an MDI layout. In other words, returns true if MainWindowOp...
void restoreFromSideBar(KDDockWidgets::Core::DockWidget *dw)
Removes the dock widget from the sidebar and docks it into the main window again.
void setUniqueName(const QString &uniqueName)
int(* CleanupCallback)(void *thisPtr)
Definition Config_c.cpp:21
static CleanupCallback s_cleanupCallback
Definition Config_c.cpp:22
Class to abstract QAction, so code still works with QtQuick and Flutter.
QString fromUtf8(const char *str, int size)
Struct describing the preferred dock widget size and visibility when adding it to a layout.

© 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