ADTF Qt5
Loading...
Searching...
No Matches
xsystem_qtwindow.h
Go to the documentation of this file.
1
7
8/*
9 * This file depends on Qt which is licensed under LGPLv3.
10 * See ADTF_DIR/3rdparty/qt5 and doc/license for detailed information.
11 */
12#pragma once
13#include "qtxsystem_intf.h"
14
15#include <adtfbase/configuration.h>
16
17#include <qwidget.h>
18#include <qlayout.h>
19
20namespace adtf
21{
22namespace ui
23{
24namespace ant
25{
26
27#ifdef CreateWindow
28 #undef CreateWindow
29#endif
30
40{
41protected:
45 cQtWindow() = default;
46
50 virtual ~cQtWindow() = default;
51
85 virtual QWidget* CreateView() = 0;
86
91 virtual void ReleaseView() = 0;
92
94 adtf::base::property_variable<adtf::util::cString> m_strTitle;
95
96 tResult Create(const char* strWindowID, QWidget& oParentWidget) override
97 {
98 QWidget* pView = CreateView();
99 RETURN_IF_POINTER_NULL(pView);
100 QLayout* pLayout = oParentWidget.layout();
101 if (pLayout == nullptr)
102 {
103 pLayout = new QHBoxLayout(&oParentWidget);
104 pLayout->setMargin(0);
105 }
106
107 pLayout->addWidget(pView);
108 adtf::util::cString strTitle = m_strTitle;
109 if (strTitle.IsEmpty())
110 {
111 strTitle = strWindowID;
112 }
113 QWidget* pDockedWindowParent = oParentWidget.parentWidget();
114 if (nullptr != pDockedWindowParent)
115 {
116 pDockedWindowParent->setWindowTitle(QString(strTitle));
117 }
118
119 RETURN_NOERROR;
120 }
121 tResult Destroy(QWidget& /* oParentWidget */) override
122 {
123 ReleaseView();
124 RETURN_NOERROR;
125 }
126
127 tResult OnIdle() override
128 {
129 RETURN_NOERROR;
130 }
131
132 tResult OnTimer() override
133 {
134 RETURN_NOERROR;
135 }
136};
137
138} // namespace ant
139
140namespace spider
141{
142
154{
155public:
160 QString GetStateIdentifier() const override
161 {
162 return {};
163 }
164
169 void OnLoadState([[maybe_unused]] const QString& strStateFolder) override
170 {
171 }
172
177 void OnSaveState([[maybe_unused]] const QString& strStateFolder) const override
178 {
179 }
180
184 QString GetHelpLink() const override
185 {
186 return {};
187 }
188
189protected:
197 {
198 m_bWindowStateEnabled = true;
199 }
200
206 {
207 return m_bWindowStateEnabled;
208 }
209
210private:
212 bool m_bWindowStateEnabled = false;
213};
214
215} // namespace spider
216
217namespace v1
218{
219
231{
232public:
238 QString GetStateIdentifier() const
239 {
240 return {};
241 }
242
250 virtual void OnLoadState([[maybe_unused]] const QString& strStateFolder)
251 {
252 }
253
259 virtual void OnSaveState([[maybe_unused]] const QString& strStateFolder) const
260 {
261 }
262
268 void OnLoadState(const QString& strStateFolder, [[maybe_unused]] uint32_t ui32LoadStateFlags) override
269 {
270 // call lecagy method if not implemented
271 OnLoadState(strStateFolder);
272 }
273
278 void OnSaveState(const QString& strStateFolder, [[maybe_unused]] uint32_t ui32SaveStateFlags) const override
279 {
280 // call lecagy method if not implemented
281 OnSaveState(strStateFolder);
282 }
283
287 QString GetHelpLink() const override
288 {
289 return {};
290 }
291
292protected:
303
310 void SetWindowCreationFlags(uint32_t ui32WindowCreationFlags)
311 {
312 m_ui32WindowCreationFlags = ui32WindowCreationFlags;
313 }
314
323 {
324 if (bOn)
325 {
326 m_ui32WindowCreationFlags |= eWindowCreationFlag;
327 }
328 else
329 {
330 m_ui32WindowCreationFlags &= ~eWindowCreationFlag;
331 }
332 }
333
337 uint32_t GetWindowCreationFlags() const
338 {
339 return m_ui32WindowCreationFlags;
340 }
341
342private:
344 uint32_t m_ui32WindowCreationFlags = 0;
345};
346
347} // namespace v1
348
349namespace v0
350{
351
352using spider::cQtWindow;
353
354}
355
356using v1::cQtWindow;
357
358} // namespace ui
359} // namespace adtf
Definition qtxsystem_intf.h:56
Definition xsystem_qtwindow.h:40
virtual QWidget * CreateView()=0
cQtWindow()=default
default CTOR
tResult Destroy(QWidget &) override
Callback which in called within the applications main th thread to deliver a destroy message to the w...
Definition xsystem_qtwindow.h:121
virtual void ReleaseView()=0
tResult OnTimer() override
Definition xsystem_qtwindow.h:132
tResult Create(const char *strWindowID, QWidget &oParentWidget) override
Callback which in called within the applications main th thread to create a window.
Definition xsystem_qtwindow.h:96
adtf::base::property_variable< adtf::util::cString > m_strTitle
title property variable will be set while window creating
Definition xsystem_qtwindow.h:94
virtual ~cQtWindow()=default
default DTOR
tResult OnIdle() override
Definition xsystem_qtwindow.h:127
eWindowCreationFlags
Windows creation flags used within CreateWindow.
Definition qtxsystem_intf.h:172
@ WCF_HasWindowState
Enable the window state calls for IQtXSystem::IWindowState.
Definition qtxsystem_intf.h:185
Definition qtxsystem_intf.h:252
Definition qtxsystem_intf.h:353
void OnLoadState(const QString &strStateFolder) override
Definition xsystem_qtwindow.h:169
void OnSaveState(const QString &strStateFolder) const override
Definition xsystem_qtwindow.h:177
void EnableWindowState()
Enables the Window state callbacks. We recommend to use this only within your filters CTOR.
Definition xsystem_qtwindow.h:196
bool IsWindowStateEnabled() const
Definition xsystem_qtwindow.h:205
QString GetStateIdentifier() const override
Definition xsystem_qtwindow.h:160
QString GetHelpLink() const override
Definition xsystem_qtwindow.h:184
Definition qtxsystem_intf.h:413
virtual void OnSaveState(const QString &strStateFolder) const
Definition xsystem_qtwindow.h:259
uint32_t GetWindowCreationFlags() const
Definition xsystem_qtwindow.h:337
QString GetHelpLink() const override
Definition xsystem_qtwindow.h:287
QString GetStateIdentifier() const
Definition xsystem_qtwindow.h:238
virtual void OnLoadState(const QString &strStateFolder)
Definition xsystem_qtwindow.h:250
void EnableWindowState()
Enables the Window state callbacks. We recommend to use this only within your filters CTOR.
Definition xsystem_qtwindow.h:299
void OnSaveState(const QString &strStateFolder, uint32_t ui32SaveStateFlags) const override
Definition xsystem_qtwindow.h:278
void SetWindowCreationFlags(uint32_t ui32WindowCreationFlags)
Definition xsystem_qtwindow.h:310
void SetWindowCreationFlag(v1::IQtXSystem::eWindowCreationFlags eWindowCreationFlag, bool bOn)
Definition xsystem_qtwindow.h:322
void OnLoadState(const QString &strStateFolder, uint32_t ui32LoadStateFlags) override
Definition xsystem_qtwindow.h:268
Legacy version namespace for all functionality of the ADTF UI SDK taken over from ADTF v3....
Definition qt_ui_filter.h:27
Namespace for the ADTF UI SDK.
Definition adtfui_pkg.h:13
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtfui_pkg.h:13