VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
commandAssignmentWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
18 #endif
19 
20 #include <QtWidgets/QWidget>
21 
22 class QHBoxLayout;
23 class QVBoxLayout;
24 class QGroupBox;
25 class QCheckBox;
26 class QPushButton;
27 class QSpacerItem;
28 class QSplitter;
29 class QFrame;
30 
31 namespace makVrv
32 {
33  class DtDe;
34  class DtSimObjectEntry;
35 }
36 
37 namespace makVrf
38 {
39  class DtCommandAssignmentWidgetLogic;
40  class DtCommandDialogExtensionInterface;
41  class DtVrfFilteredListView;
42  class DtSimCommandObjectWrapper;
43 
46  : public QWidget
48  {
49  Q_OBJECT
50 
51  public:
54  Qt::WindowFlags flags = Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint, int partOfPlan = false);
55 
57  virtual ~DtCommandAssignmentWidget();
58  virtual void run(const std::vector<makVrv::DtSimEntry*>&);
59 
61  virtual void setupUi(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement* stmt = NULL);
62 
64  virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>&);
65 
70  virtual void selectionChanged(const DtUUID & selection);
71 
75  virtual bool insertMapFocusHandler(DtMapFocusHandlerInterface*, int index = -1);
76 
80  void setPartOfPlan(int b)
81  {
82  myPartOfPlan = b;
83  }
84 
85  virtual void setBroadcastTitle(const QString&);
86 
87  virtual DtCommandDialogExtensionInterface* extension();
88 
89  virtual QWidget* takeOKCancelButtonCanvas(QWidget* newParent) override;
90  virtual void giveOKCancelButtonCanvas(QWidget*) override;
91 
93  virtual bool alwaysPopOut() const;
94 
95  virtual bool okEnabled() const;
96 
97  protected:
98 
99  QWidget* widget()
100  {
101  return this;
102  }
103 
104  virtual void setAllowBroadcast(bool);
105  virtual bool broadcasting() const;
106  virtual void setBroadcasting(bool);
107  virtual void enableEntitySelectionWidget(bool);
108 
109  virtual std::vector<std::string> commandDialogFiltersFor(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* stmt,
110  int& initialSelection) const;
111 
112  virtual void addFilter(const DtVrfSelectionFilter* filter);
113  virtual void setSelectedName(const DtUUID&);
114  virtual DtUUID selectedName() const;
115  virtual void selectFilter(int);
116  virtual void selectFirstNonEmptyFilter();
117 
119  virtual void setApplyVisible(bool);
120 
121  virtual void setOKEnabled(bool);
122  virtual void setCancelEnabled(bool);
123 
124  virtual void setCancelButtonText(const QString&) override;
125 
126  virtual bool extensionValid() const;
127  virtual void initializeFromAction(DtVrfTaskSetAction*);
128 
132  virtual void commandActivated(const DtSimTask&, const std::vector<DtUUID>&, bool immediate);
133  virtual void commandActivated(const DtSimCommandObjectWrapper&, bool immediate);
134 
135  protected:
136  virtual QWidget* sizeToParent() const;
137  virtual void closeEvent(QCloseEvent*);
138  virtual void changeEvent(QEvent* event);
139  virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
140 
141  virtual void attachExtension(const std::vector<makVrv::DtSimEntry*>& data,
143  virtual void detachExtension();
144 
145  virtual void setPickMode(bool);
146 
148  virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement*);
149  virtual std::vector<DtObjectListViewItem::DtVrfObjectState> selectedObjects() const;
150 
152  virtual void setAllowObjectSelection(bool b);
153 
154  virtual bool canSelectObjects() const;
155 
159  virtual bool wantsSelectionOfObjectInCommandMode(const std::vector<makVrv::DtSimEntry*>&) const;
160 
161  virtual bool valid() const;
162 
164  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>&);
165 
167  virtual void unknownObjectSelected(const DtUUID&);
168 
170  virtual void noObjectsSelected();
171 
172  virtual void onOK();
173 
174  virtual void hideButtons(bool) {};
175 
176  virtual void showEvent(QShowEvent*);
177 
178  public slots:
180  virtual void onCancel();
181 
183  virtual void onPickOK();
184 
185  protected slots:
187  virtual void onBroadcastChanged();
188 
189  const std::vector<makVrv::DtSimEntry*>& connectedTo() const
190  {
191  return myConnectedTo;
192  }
193 
194  protected:
198  std::vector<makVrv::DtSimEntry*> myConnectedTo;
200  std::vector<DtUUID> myImmediateNames;
206 
207  public:
209  QSplitter* mySplitter;
216  QVBoxLayout* myMasterLayout;
217  QVBoxLayout* myWidgetLayout;
218  QFrame* mySeparator;
219 
221  QHBoxLayout* myButtonLayout;
222  QSpacerItem* myButtonSpacer;
225  };
226 }
QVBoxLayout * myWidgetLayout
Definition: commandAssignmentWidget.h:217
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
QVBoxLayout * myMasterLayout
Definition: commandAssignmentWidget.h:216
QSpacerItem * myButtonSpacer
Definition: commandAssignmentWidget.h:222
void setPartOfPlan(int b)
0 - Not part of plan dialog 1 - Part of plan dialog 2 - Part of command widget
Definition: commandAssignmentWidget.h:80
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:32
DtSimTask * myImmediateTask
Definition: commandAssignmentWidget.h:199
int myPartOfPlan
Definition: commandAssignmentWidget.h:197
std::vector< makVrv::DtSimEntry * > myConnectedTo
Definition: commandAssignmentWidget.h:198
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetLogic.h:39
QFrame * myEntitySelectionGroupBoxLine
Definition: commandAssignmentWidget.h:214
QWidget * widget()
Returns the widget.
Definition: commandAssignmentWidget.h:99
QCheckBox * myBroadcast
Definition: commandAssignmentWidget.h:211
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidget.h:45
virtual void hideButtons(bool)
If OK and Cancel buttons are present, hide them (or not)
Definition: commandAssignmentWidget.h:174
DtMapFocusHandler myFilteredListViewManager
Definition: commandAssignmentWidget.h:205
makVrv::DtDe & myDe
Definition: commandAssignmentWidget.h:195
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetInterface.h:30
makVrv::DtSignalConnectionManager myConnections
Definition: commandAssignmentWidget.h:204
DtVrfFilteredListView * myEntitySelectionWidget
Definition: commandAssignmentWidget.h:215
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
QFrame * mySeparator
Definition: commandAssignmentWidget.h:218
QWidget * myOriginalExtensionParent
Definition: commandAssignmentWidget.h:210
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:63
QWidget * myEntitySelectionGroupBox
Definition: commandAssignmentWidget.h:212
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QPushButton * myOKButton
Definition: commandAssignmentWidget.h:223
Definition: commandDialogExtensionInterface.h:49
QWidget * myOKCancelButtonCanvas
Definition: commandAssignmentWidget.h:220
Definition: simCommandObjectWrapper.h:42
Base class that must be implemented by items that wish to be part of a map focus handler chain...
Definition: mapFocusHandler.h:27
QString myBroadcastTitle
Definition: commandAssignmentWidget.h:203
QPushButton * myCancelButton
Definition: commandAssignmentWidget.h:224
QSplitter * mySplitter
Definition: commandAssignmentWidget.h:209
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
QLabel * myEntitySelectionGroupBoxLabel
Definition: commandAssignmentWidget.h:213
This class will manage filtered list views for the basic purpose of allowing a single list view in th...
Definition: mapFocusHandler.h:74
const std::vector< makVrv::DtSimEntry * > & connectedTo() const
Definition: commandAssignmentWidget.h:189
DtCommandDialogExtensionInterface * myInitialExtension
Definition: commandAssignmentWidget.h:202
DtCommandAssignmentWidgetLogic * myLogic
Definition: commandAssignmentWidget.h:196
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:70
std::vector< DtUUID > myImmediateNames
Definition: commandAssignmentWidget.h:200
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:106
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
DtSimCommandObjectWrapper * myCommandObjectWrapper
Definition: commandAssignmentWidget.h:201
QHBoxLayout * myButtonLayout
Definition: commandAssignmentWidget.h:221
DtCommandDialogExtensionInterface * myExtension
Definition: commandAssignmentWidget.h:208

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)