VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfAttachObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #if !defined(Q_MOC_RUN)
17 #include <vrvCoreQt/DtToolbar.h>
20 #include <vrvUtil/DtUnicode.h>
21 #endif
22 
23 #include <QtWidgets/QWidget>
24 
25 class QHBoxLayout;
26 class QPushButton;
27 class QToolButton;
28 class QAction;
29 class QActionGroup;
30 class QComboBox;
31 
32 namespace makVrv
33 {
34  class DtDe;
35 }
36 
37 namespace makVrf
38 {
39  class DtVrfAttachWidgetLogic;
40 
45  {
46  public:
47 
50 
52  virtual ~DtVrfAttachObjectToolbar() override;
53 
55  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent) override;
56 
57  };
58 
61  {
62  public:
63  virtual ~DtVrfAttachWidgetInterface() override;
64 
65  virtual void setAttached(bool) override = 0;
66 
67  protected:
69  virtual void setHideAttachedModel( bool trueFalse ) {};
70  virtual void setAttachedObjects( const std::vector<makVrv::DtUnicode>& ) {};
71  virtual void enableDetach( bool enabled ) {};
72  virtual void setAttachedObjects(const std::vector<makVrv::DtUnicode>& attachedObject, bool visible) override {};
73 
74  virtual void setShowMoreInformation( bool enabled ) {};
75 
77  virtual void setHideAttachedModelEnabled(bool enabled) override {};
78 
80  virtual void setAttachableParts(const std::vector<makVrv::DtUnicode>& parts) override {};
81 
83  virtual void setAttachedPart(const makVrv::DtUnicode& partName) override {};
84 
86  virtual void setAttachModeEnabled(int, bool) override {};
87 
89  virtual void setMoreInformationShown(bool) override {};
90 
92  virtual void addAttachFilter(const makVrv::DtUnicode& filterName, int filterType) override {};
93 
95  virtual void setCurrentAttachFilter(int filterType) override {};
96  };
97 
101  {
102  Q_OBJECT
103 
104  public:
106  DtVrfAttachObjectWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
107 
109  virtual ~DtVrfAttachObjectWidget() override;
110 
111  protected:
113  virtual void setupUi();
114 
115  virtual void setAttached(bool) override;
116 
118  virtual void setAttachNextEnabled(bool enabled) override;
119 
121  virtual void setAttachPreviousEnabled(bool enabled) override;
122 
124  virtual void setAttachSelectedEnabled(bool enabled) override;
125 
127  virtual void addAttachModes(
128  const std::list<makVrv::DtUnicode>& modeNames, const std::list<int>& modeTypes) override;
129 
131  virtual void setCurrentAttachMode(int modeType) override;
132 
133  protected slots:
135  virtual void attachSelected();
136 
138  virtual void attachPrevious();
139 
141  virtual void attachNext();
142 
144  virtual void onSelectAttachMode(int);
145 
146  protected:
148 
149  public:
150  QHBoxLayout* myMainLayout;
155 
156  protected:
158  };
159 
162  {
163  public:
165 
166  virtual ~DtVrfAttachWidgetLogic() override;
167 
169  virtual void setAttachMode(int mode) override;
170 
172  virtual void detach() override;
173 
175  virtual void attachNext() override;
176 
178  virtual void attachPrevious() override;
179 
181  virtual void attachToSelected() override;
182 
183  virtual void determineAttachState();
184  virtual void determineSelectionState();
185  virtual void onSelectionChanged(const makVrv::DtSelectionManager::IdSet& selected,
186  const makVrv::DtSelectionManager::IdSet& deselected) override;
187  virtual void onVrfAttachedToChanged(makVrv::DtObserver*);
188  };
189 
191  {
192  public:
193 
195 
196  virtual ~DtVrfAttachObjectWidgetBuilder() override;
197 
198  virtual QWidget* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags) override;
199  };
200 }
201 
Definition: vrfAttachObject.h:190
virtual void setHideAttachedModelEnabled(bool enabled) override
Set the Hide Attach Model checkbox state.
Definition: vrfAttachObject.h:77
virtual void setMoreInformationShown(bool) override
Set the current attached part.
Definition: vrfAttachObject.h:89
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
Contains makVrv::DtWidgetBuilder class.
virtual void setAttachedObjects(const std::vector< makVrv::DtUnicode > &)
Definition: vrfAttachObject.h:70
virtual void setAttachedObjects(const std::vector< makVrv::DtUnicode > &attachedObject, bool visible) override
Populate the attached objects list widget.
Definition: vrfAttachObject.h:72
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
The base class for VR-Vantage toolbars.
Definition: DtToolbar.h:26
virtual void setCurrentAttachFilter(int filterType) override
set the current filter type
Definition: vrfAttachObject.h:95
QComboBox * myAttachSelections
Definition: vrfAttachObject.h:154
Contains makVrv::DtAttachWidgetInterface class.
virtual void setAttachableParts(const std::vector< makVrv::DtUnicode > &parts) override
Set the attachable parts.
Definition: vrfAttachObject.h:80
Abstract interface for the attach widget.
Definition: DtAttachWidgetInterface.h:22
QToolButton * myAttachSelectedBtn
Definition: vrfAttachObject.h:151
Definition: vrfAttachObject.h:161
A widget class for putting simulation control buttons on that are tied to existing menu items...
Definition: vrfAttachObject.h:100
makVrv::DtDe & myDe
Definition: vrfAttachObject.h:147
A facade for a DtObserverObject.
Definition: DtObserver.h:38
Definition: vrfAttachObject.h:60
virtual void setHideAttachedModel(bool trueFalse)
Unused for this class.
Definition: vrfAttachObject.h:69
DtVrfAttachWidgetLogic * myLogic
Definition: vrfAttachObject.h:157
virtual void setAttachModeEnabled(int, bool) override
Set the current attached part.
Definition: vrfAttachObject.h:86
Contains makVrv::DtAttachWidgetLogic class.
QHBoxLayout * myMainLayout
Definition: vrfAttachObject.h:150
QToolButton * myAttachPreviousBtn
Definition: vrfAttachObject.h:152
Contains makVrv::DtToolbar class declaration.
QToolButton * myAttachNextBtn
Definition: vrfAttachObject.h:153
A builder for the object attachment toolbar. The menu string is &quot;DtVrfAttachObjectToolbar&quot;.
Definition: vrfAttachObject.h:44
virtual void addAttachFilter(const makVrv::DtUnicode &filterName, int filterType) override
Add a filter type to the Attach Filter combo box.
Definition: vrfAttachObject.h:92
const char int mode
Definition: ioapi.h:38
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
The logic for driving an attach widget.
Definition: DtAttachWidgetLogic.h:30
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
virtual void setShowMoreInformation(bool enabled)
Definition: vrfAttachObject.h:74
virtual void enableDetach(bool enabled)
Definition: vrfAttachObject.h:71
virtual void setAttachedPart(const makVrv::DtUnicode &partName) override
Set the current attached part.
Definition: vrfAttachObject.h:83
This class is the generic builder base class for building a widget.
Definition: DtWidgetBuilder.h:22

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)