OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
Widget.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
9#include "OTCore/OTObject.h"
11#include "OTGui/GuiTypes.h"
13
14namespace ot {
15
19 public:
20 Widget();
21 virtual ~Widget();
22
23 // ###########################################################################################################################################################################################################################################################################################################################
24
25 // Setter / Getter
26
27 void setWidgetOwner(const BasicServiceInformation& _owner) { m_owner = _owner; };
28 const BasicServiceInformation& getWidgetOwner(void) const { return m_owner; };
29
30 // ###########################################################################################################################################################################################################################################################################################################################
31
32 // State management
33
34 void setWidgetEnabled(bool _enabled, int _counter = 1);
35
37 void resetWidgetDisabledCounter(void);
38
39 void lockWidget(const LockTypeFlags& _flags, int _lockCount = 1);
40
41 void unlockWidget(const LockTypeFlags& _flags, int _unlockCount = 1);
42
43 void resetWidgetLockCounter(void);
44
45 protected:
47 virtual void updateWidgetEnabledState(bool _enabled, bool _locked) = 0;
48
49 private:
50 void lockWidgetFlag(LockTypeFlag _flag, int _lockCount);
51 void unlockWidgetFlag(LockTypeFlag _flag, int _unlockCount);
52
53 void evaluateEnabledState(void);
54 int& getLockCounter(LockTypeFlag _flag);
55
57 bool m_isEnabled;
58 bool m_isUnlocked;
59 int m_disabledCounter;
60 std::map<LockTypeFlag, int> m_lockCounter;
61 };
62
63}
#define OT_DECL_NOMOVE(___class)
Removes the default move constructor and move operator.
Definition OTClassHelper.h:18
#define OT_DECL_NOCOPY(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:14
#define OT_WIDGETS_API_EXPORT
Definition OTWidgetsAPIExport.h:12
The BasicServiceInformation class is used to hold a service name and type. The BasicServiceInformatio...
Definition BasicServiceInformation.h:21
Definition OTObject.h:18
Definition QWidgetInterface.h:18
Definition Widget.h:16
virtual void updateWidgetEnabledState(bool _enabled, bool _locked)=0
This method is called whenever the enabled state should be updated (e.g. setEnabled or setReadOnly).
void setWidgetOwner(const BasicServiceInformation &_owner)
Definition Widget.h:27
const BasicServiceInformation & getWidgetOwner(void) const
Definition Widget.h:28
Definition Connector.h:8
LockTypeFlag
Describes the object type to lock in the UI.
Definition GuiTypes.h:156