ImagingTools Core SDK
CDatabaseLoginSettingsEditorComp.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// ACF includes
6#include <iprm/IEnableableParam.h>
7#include <iqtgui/TDesignerGuiObserverCompBase.h>
8
9// ImtCore includes
10#include <imtbase/TModelUpdateBinder.h>
11#include <imtdb/IDatabaseServerConnectionChecker.h>
12#include <imtdb/IDatabaseLoginSettings.h>
13#include <GeneratedFiles/imtdbgui/ui_CDatabaseLoginSettingsEditorComp.h>
14
15
16namespace imtdbgui
17{
18
19
20class CDatabaseLoginSettingsEditorComp:
21 public iqtgui::TDesignerGuiObserverCompBase<
22 Ui::CDatabaseLoginSettingsEditorComp, imtdb::IDatabaseLoginSettings>
23{
24 Q_OBJECT
25public:
26 typedef iqtgui::TDesignerGuiObserverCompBase<
27 Ui::CDatabaseLoginSettingsEditorComp, imtdb::IDatabaseLoginSettings> BaseClass;
28
29 I_BEGIN_COMPONENT(CDatabaseLoginSettingsEditorComp);
30 I_ASSIGN(m_addressEditEnablerCompPtr, "AddressFieldEditEnabler", "Enable/disable host and port editors", false, "AddressFieldEditEnabler");
31 I_ASSIGN(m_databaseNameEditEnablerCompPtr, "DatabaseNameFieldEditEnabler", "Enable/disable editor for database name", false, "DatabaseNameFieldEditEnabler");
32 I_ASSIGN(m_generalEditEnablerCompPtr, "GeneralEditEnabler", "Enable/disable whole editor for database parameter", false, "GeneralEditEnabler");
33 I_ASSIGN(m_databaseConnectionCheckerCompPtr, "DatabaseConnectionChecker", "Database connection check", false, "DatabaseConnectionChecker");
34 I_END_COMPONENT;
35
36 CDatabaseLoginSettingsEditorComp();
37
38protected:
39 // reimplemented (imod::IModelEditor)
40 virtual void UpdateModel() const override;
41
42 // reimplemented (iqtgui::TGuiObserverWrap)
43 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
44
45 // reimplemented (iqtgui::CGuiComponentBase)
46 virtual void OnGuiCreated () override;
47 virtual void OnGuiDestroyed() override;
48
49private Q_SLOTS:
50 void on_HostEdit_editingFinished();
51 void on_PortEdit_editingFinished();
52 void on_DatabaseNameEdit_editingFinished();
53 void on_UserEdit_editingFinished();
54 void on_PasswordEdit_editingFinished();
55 void on_TestConnectionButton_clicked();
56 void on_UseSslCheck_stateChanged();
57
58private:
59 void OnAddressEditEnabled(const istd::IChangeable::ChangeSet& changeSet, const iprm::IEnableableParam* objectPtr);
60 void OnDatabaseNameEditEnabled(const istd::IChangeable::ChangeSet& changeSet, const iprm::IEnableableParam* objectPtr);
61 void OnGeneralEditEnabled(const istd::IChangeable::ChangeSet& changeSet, const iprm::IEnableableParam* objectPtr);
62
63private:
64 I_REF(iprm::IEnableableParam, m_addressEditEnablerCompPtr);
65 I_REF(iprm::IEnableableParam, m_databaseNameEditEnablerCompPtr);
66 I_REF(iprm::IEnableableParam, m_generalEditEnablerCompPtr);
67 I_REF(imtdb::IDatabaseServerConnectionChecker, m_databaseConnectionCheckerCompPtr);
68
72};
73
74
75} // namespace imtdbgui
76
77
Configuration interface for database connection credentials and parameters.