16#include <adtf_utils.h>
17#include <adtfucom3/adtf_ucom3.h>
18#include <adtfstreaming3/graph_element_editors.h>
19#include <adtffiltersdk/filter.h>
20#include <adtffiltersdk/dynamic_filter.h>
33template<
typename FILTERBASECLASS>
37 adtf::ucom::object_ptr<adtf::ui::ant::IQtXSystem> m_pXSystem;
44 m_strTitle.SetDescription(
"Window title which will be used at runtime within Qt5 ADTF XSystem UI Service.");
45 FILTERBASECLASS::RegisterPropertyVariable(
"title",
m_strTitle);
56 tResult
Init(
typename FILTERBASECLASS::tInitStage eStage)
override
58 RETURN_IF_FAILED(FILTERBASECLASS::Init(eStage));
59 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
61 RETURN_IF_FAILED(_runtime->GetObject(m_pXSystem));
63 if (strTitle.IsEmpty())
65 m_strTitle = ::adtf::streaming::get_named_graph_object_full_name(*
this);
67 RETURN_IF_FAILED(m_pXSystem->CreateWindow(*
this));
77 tResult
Shutdown(
typename FILTERBASECLASS::tInitStage eStage)
override
79 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
83 m_pXSystem->DestroyWindow(*
this);
86 return (FILTERBASECLASS::Shutdown(eStage));
129template<
typename FILTERBASECLASS>
137 m_strTitle.SetDescription(
"Window title which will be used at runtime within Qt5 ADTF XSystem UI Service.");
138 FILTERBASECLASS::RegisterPropertyVariable(
"title",
m_strTitle);
148 tResult
Init(
typename FILTERBASECLASS::tInitStage eStage)
override
150 RETURN_IF_FAILED(FILTERBASECLASS::Init(eStage));
151 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
153 RETURN_IF_FAILED(_runtime->GetObject(m_pXSystem));
155 if (strTitle.IsEmpty())
157 m_strTitle = ::adtf::streaming::get_named_graph_object_full_name(*
this);
161 RETURN_IF_FAILED(m_pXSystem->CreateWindow(*
this, ui32Flags));
168 tResult
Shutdown(
typename FILTERBASECLASS::tInitStage eStage)
override
170 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
174 m_pXSystem->DestroyWindow(*
this);
177 return (FILTERBASECLASS::Shutdown(eStage));
189 return ::adtf::streaming::get_named_graph_object_full_name(*
this,
"/").GetPtr();
195 void OnLoadState([[maybe_unused]]
const QString& strStateFolder)
override
203 void OnSaveState([[maybe_unused]]
const QString& strStateFolder)
const override
216 m_bWindowStateEnabled =
true;
221 adtf::ucom::object_ptr<adtf::ui::riddler::IQtXSystem> m_pXSystem;
223 bool m_bWindowStateEnabled =
false;
263template<
typename FILTERBASECLASS,
typename QTWINDOWBASECLASS = sp
ider::cQtWindow>
271 QTWINDOWBASECLASS::m_strTitle.SetDescription(
272 "Window title which will be used at runtime within Qt5 ADTF XSystem UI Service.");
273 FILTERBASECLASS::RegisterPropertyVariable(
"title", QTWINDOWBASECLASS::m_strTitle);
283 tResult
Init(
typename FILTERBASECLASS::tInitStage eStage)
override
285 RETURN_IF_FAILED(FILTERBASECLASS::Init(eStage));
286 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
288 RETURN_IF_FAILED(_runtime->GetObject(m_pXSystem));
289 if ((*QTWINDOWBASECLASS::m_strTitle).IsEmpty())
291 QTWINDOWBASECLASS::m_strTitle = ::adtf::streaming::get_named_graph_object_full_name(*
this);
293 uint32_t ui32CreationFlags = 0;
294 if constexpr (std::is_base_of_v<adtf::ui::v0::cQtWindow, QTWINDOWBASECLASS>)
296 ui32CreationFlags = QTWINDOWBASECLASS::IsWindowStateEnabled() ?
302 ui32CreationFlags = QTWINDOWBASECLASS::GetWindowCreationFlags();
304 RETURN_IF_FAILED(m_pXSystem->CreateWindow(*
this, ui32CreationFlags));
311 tResult
Shutdown(
typename FILTERBASECLASS::tInitStage eStage)
override
313 if (eStage == FILTERBASECLASS::tInitStage::StagePostConnect)
317 m_pXSystem->DestroyWindow(*
this);
320 return (FILTERBASECLASS::Shutdown(eStage));
332 return ::adtf::streaming::get_named_graph_object_full_name(*
this,
"/").GetPtr();
341 return adtf::streaming::spider::get_help_link((base::ant::IConfiguration&) *
this).c_str();
346 adtf::ucom::object_ptr<adtf::ui::spider::IQtXSystem> m_pXSystem;
Definition xsystem_qtwindow.h:40
cQtWindow()=default
default CTOR
adtf::base::property_variable< adtf::util::cString > m_strTitle
title property variable will be set while window creating
Definition xsystem_qtwindow.h:94
Definition qt_ui_filter.h:35
tResult Shutdown(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:77
~qt_ui_filter()=default
DTOR.
tResult Init(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:56
qt_ui_filter()
Definition qt_ui_filter.h:42
@ WCF_None
no flag set.
Definition qtxsystem_intf.h:176
@ WCF_HasWindowState
Enable the window state calls for IQtXSystem::IWindowState.
Definition qtxsystem_intf.h:185
qt_ui_filter()
Definition qt_ui_filter.h:269
Definition qtxsystem_intf.h:252
Definition qt_ui_filter.h:131
void OnSaveState(const QString &strStateFolder) const override
Definition qt_ui_filter.h:203
QString GetStateIdentifier() const override
Get the State Identifier for the Window State callbacks "OnLoadState" and "OnSaveState".
Definition qt_ui_filter.h:187
~qt_ui_filter()=default
DTOR.
void EnableWindowState()
Enables the Window state callbacks. We recommend to use this only within your filters CTOR.
Definition qt_ui_filter.h:214
qt_ui_filter()
Definition qt_ui_filter.h:135
tResult Shutdown(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:168
tResult Init(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:148
void OnLoadState(const QString &strStateFolder) override
Definition qt_ui_filter.h:195
Definition qt_ui_filter.h:265
~qt_ui_filter()=default
DTOR.
tResult Shutdown(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:311
qt_ui_filter()
Definition qt_ui_filter.h:269
tResult Init(typename FILTERBASECLASS::tInitStage eStage) override
Definition qt_ui_filter.h:283
QString GetStateIdentifier() const
Get the State Identifier for the Window State callbacks "OnLoadState" and "OnSaveState".
Definition qt_ui_filter.h:330
QString GetHelpLink() const
Definition qt_ui_filter.h:339
Legacy version namespace for all functionality of the ADTF UI SDK taken over from ADTF v3....
Definition qt_ui_filter.h:27
qt_ui_filter< adtf::filter::cFilter > cQtUIFilter
Definition qt_ui_filter.h:99
qt_ui_filter< adtf::filter::cDynamicFilter > cQtUIDynamicFilter
Definition qt_ui_filter.h:94
Legacy version namespace for all functionality of the ADTF UI SDK taken over from ADTF v3....
Definition qt_ui_filter.h:119
cQtUIFilter cQtUIDynamicFilter
Definition qt_ui_filter.h:234
riddler::qt_ui_filter< adtf::filter::cFilter > cQtUIFilter
Definition qt_ui_filter.h:229
Legacy version namespace for all functionality of the ADTF UI SDK taken over from ADTF v3....
Definition qt_ui_filter.h:239
cQtUIFilter cQtUIDynamicFilter
Definition qt_ui_filter.h:358
qt_ui_filter< adtf::filter::cFilter, cQtWindow > cQtUIFilter
Definition qt_ui_filter.h:352
Namespace for all ui classes and interfaces provided since v1.0.0.
Definition adtfui_pkg.h:13
Namespace for further developed interfaces and implementation revisions of the ADTF UI SDK.
Definition qt_ui_filter.h:376
v0::qt_ui_filter< adtf::filter::cFilter, cQtWindow > cQtUIFilter
Definition qt_ui_filter.h:382
cQtUIFilter cQtUIDynamicFilter
Definition qt_ui_filter.h:387
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
ant::qt_ui_filter< adtf::filter::cFilter > cQtUIFilter
Definition qt_ui_filter.h:109
cQtUIFilter cQtUIDynamicFilter
Definition qt_ui_filter.h:115