VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAttributeGroupIndicator.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 #include <vrvCore/DtMouseState.h>
17 
18 #include <vrvUtil/signalslib.h>
19 #include <vector>
20 
21 namespace makVrv
22 {
23  class DtAgentManagerInterface;
24  class DtProjectedWidgetModelAgent;
25  class DtAttributeGroupWidgetAgent;
26  class DtWidgetAgent;
27  class DtModelAgent;
28  class DtWidgetInstanceSignaler;
29  class DtUnicode;
30  enum class DtModelSetId;
31 
35  {
36  public:
37 
38  // The maximum number of points displayed in a graph
39  enum {MaxGraphPoints = 10};
40 
42  DtModelSetId modelSet,
43  const std::string& normalTheme = "AttributeGroupIndicatorTheme",
44  const std::string& pinnedTheme = "AttributeGroupPinnedTheme",
45  int height = 16, int width = 16);
46 
47  virtual ~DtAttributeGroupIndicator();
48 
50  virtual void setIndicatorActive(bool active);
51 
53  virtual void setColor(float r, float g, float b, float a = 1.);
54 
56  virtual DtProjectedWidgetModelAgent* model();
57 
59  virtual void setEventsEnabled(bool enabled);
60 
62  virtual DtWidgetEventSignals& eventSignals(DtWidgetSignaler& signaler);
63 
65  virtual void setAttributeGroupVisible(bool visible);
66 
68  virtual void setAttributeVisible(unsigned int index, bool visible);
69 
73  virtual void setVisible(bool visible);
74 
76  virtual bool isVisible();
77 
79  {
85  AttributeTypeValueBar
86  };
87 
89  virtual void setAttributeType(unsigned int index, const DtUnicode& name, AttributeType t);
90 
92  virtual void setValueImage(unsigned int index, const std::string& imageFilepath);
93 
95  virtual void setValueGraphPoint(unsigned int index, unsigned int n, float x, float y);
96 
98  virtual void setValueBarValue(unsigned int index, float val);
99 
101  virtual void setValueNumeric(unsigned int index, float val);
102 
104  virtual void setMouseIn(bool mouseIn);
105 
107  virtual void toggleLockState();
108 
109  protected:
110 
112  virtual void updateVisibility();
113 
116  DtProjectedWidgetModelAgent* myProjectedWidgetModel;
117  DtWidgetAgent* myWidgetAgent;
118  DtAttributeGroupWidgetAgent* myAttributeGroupWidgetAgent;
119  std::string myNormalTheme;
120  std::string myPinnedTheme;
123  bool myMouseIn;
125 
126  bool myVisible;
128  std::vector<bool> myAttributeVisibility;
129 
130  };
131 }
132 
std::vector< bool > myAttributeVisibility
Definition: DtAttributeGroupIndicator.h:128
Definition: DtAttributeGroupIndicator.h:81
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
A signaler class for a particular widget instance with the provided DtUniqueID.
Definition: DtWidgetSignaler.h:60
The indicator widget.
Definition: DtAttributeGroupIndicator.h:34
DtAgentManagerInterface & mySceneInterface
Definition: DtAttributeGroupIndicator.h:114
AttributeType
Definition: DtAttributeGroupIndicator.h:78
Definition: DtAttributeGroupIndicator.h:80
DtWidgetInstanceSignaler * myWidgetSignaler
Definition: DtAttributeGroupIndicator.h:115
bool mySelected
Definition: DtAttributeGroupIndicator.h:121
bool myEventsEnabled
Definition: DtAttributeGroupIndicator.h:122
std::string myNormalTheme
Definition: DtAttributeGroupIndicator.h:119
DtWidgetAgent * myWidgetAgent
Definition: DtAttributeGroupIndicator.h:117
bool myGroupVisible
Definition: DtAttributeGroupIndicator.h:127
This file contains the declaration for the class DtMouseState.
Definition: DtAttributeGroupIndicator.h:83
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtAttributeGroupIndicator.h:84
DtAttributeGroupWidgetAgent * myAttributeGroupWidgetAgent
Definition: DtAttributeGroupIndicator.h:118
Contains makVrv::DtWidgetSignaler class.
DtProjectedWidgetModelAgent * myProjectedWidgetModel
Definition: DtAttributeGroupIndicator.h:116
bool myMouseIn
Definition: DtAttributeGroupIndicator.h:123
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
bool myAttributeGroupLocked
Definition: DtAttributeGroupIndicator.h:124
A signaler class that is used to connect generated events from a DtWidget in the main thread to the a...
Definition: DtWidgetSignaler.h:86
DtModelSetId
Definition: DtModelSetEnums.h:19
A simple collection of signals that all widgets can emit.
Definition: DtWidgetSignaler.h:27
Definition: DtAttributeGroupIndicator.h:82
Contains makVrv::DtAgentManagerInterface class.
std::string myPinnedTheme
Definition: DtAttributeGroupIndicator.h:120
bool myVisible
Definition: DtAttributeGroupIndicator.h:126
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)