ImagingTools Core SDK
CTaskSettingsGuiComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#if QT_VERSION > 0x060000
7#include <QtGui/QRegularExpressionValidator>
8#endif
9
10// ACF includes
11#include <iqtgui/TDesignerGuiObserverCompBase.h>
12#include <iprm/IIdParam.h>
13
14// ImtCore includes
15#include <imtbase/IObjectCollection.h>
16#include <imtbase/TModelUpdateBinder.h>
17
18// Acula includes
19#include <imthype/ITaskSettings.h>
20#include <GeneratedFiles/imthypegui/ui_CTaskSettingsGuiComp.h>
21
22
23namespace imthypegui
24{
25
26
27class CTaskSettingsGuiComp: public iqtgui::TDesignerGuiObserverCompBase<Ui::CTaskSettingsGuiComp, imthype::ITaskSettings>
28{
29 Q_OBJECT
30public:
31 typedef iqtgui::TDesignerGuiObserverCompBase<Ui::CTaskSettingsGuiComp, imthype::ITaskSettings> BaseClass;
32
33 I_BEGIN_COMPONENT(CTaskSettingsGuiComp);
34 I_ASSIGN(m_taskInputManagerGuiCompPtr, "TaskInputEditor", "Editor of task inputs", false, "TaskInputEditor");
35 I_ASSIGN_TO(m_taskInputManagerObserverCompPtr, m_taskInputManagerGuiCompPtr, true);
36 I_END_COMPONENT;
37
38 CTaskSettingsGuiComp();
39
40 // reimplemented (iqtgui::TGuiObserverWrap)
41 virtual void OnGuiModelAttached() override;
42 virtual void OnGuiModelDetached() override;
43 virtual void UpdateModel() const override;
44 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
45
46 // reimplemented (iqtgui::CGuiComponentBase)
47 virtual void OnGuiCreated() override;
48 virtual void OnGuiDesignChanged() override;
49
50 // reimplemented (iqtgui::IGuiObject)
51 virtual void OnTryClose(bool* ignoredPtr = nullptr) override;
52
53private Q_SLOTS:
54 void on_TaskNameEdit_editingFinished();
55 void on_TaskDescriptionEdit_editingFinished();
56 void on_TaskUserIdEdit_editingFinished();
57 void on_InputIdEdit_editingFinished();
58 void on_InputSelector_currentTextChanged(const QString& text);
59 void on_ActiveCheck_stateChanged(int state);
60 void on_ShowAcquisitionManagerButton_clicked();
61
62private:
63 void OnInputsChanged(const istd::IChangeable::ChangeSet& /*changeset*/, const imtbase::IObjectCollection* inputsCollectionPtr);
64 void ShowInputsManager();
65
66private:
67 I_REF(iqtgui::IGuiObject, m_taskInputManagerGuiCompPtr);
68 I_REF(imod::IObserver, m_taskInputManagerObserverCompPtr);
69
70#if QT_VERSION > 0x060000
71 QRegularExpressionValidator m_taskNameValidator;
72#else
73 QRegExpValidator m_taskNameValidator;
74#endif
75 mutable QByteArray m_taskId;
76
78};
79
80
81} // namespace imthypegui
82
83