VR-Forces 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 class QToolButton;
31 
32 namespace makVrv
33 {
34  class DtDe;
35  class DtSimObjectEntry;
36 }
37 
38 namespace makVrf
39 {
40  class DtCommandAssignmentWidgetLogic;
41  class DtCommandDialogExtensionInterface;
42  class DtVrfFilteredListView;
43  class DtSimCommandObjectWrapper;
44 
47  : public QWidget
49  {
50  Q_OBJECT
51 
52  public:
55  Qt::WindowFlags flags = Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint, int partOfPlan = false);
56 
58  virtual ~DtCommandAssignmentWidget();
59  virtual void run(const std::vector<makVrv::DtSimEntry*>&);
60 
62  virtual void setupUi(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement* stmt = NULL);
63 
65  virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>&);
66 
71  virtual void selectionChanged(const DtUUID & selection);
72 
76  virtual bool insertMapFocusHandler(DtMapFocusHandlerInterface*, int index = -1);
77 
81  void setPartOfPlan(int b)
82  {
83  myPartOfPlan = b;
84  }
85 
86  virtual void setBroadcastTitle(const QString&);
87 
88  virtual DtCommandDialogExtensionInterface* extension();
89 
90  virtual QWidget* takeOKCancelButtonCanvas(QWidget* newParent) override;
91  virtual void giveOKCancelButtonCanvas(QWidget*) override;
92 
94  virtual bool alwaysPopOut() const;
95 
96  virtual bool okEnabled() const;
97 
98  virtual void setReadOnlyMode(bool b) override;
99 
100  signals:
101  void unlockPlan();
102 
103  protected:
104 
105  QWidget* widget()
106  {
107  return this;
108  }
109 
110  virtual void setAllowBroadcast(bool);
111  virtual bool broadcasting() const;
112  virtual void setBroadcasting(bool);
113  virtual void enableEntitySelectionWidget(bool);
114 
115  virtual std::vector<std::string> commandDialogFiltersFor(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* stmt,
116  int& initialSelection) const;
117 
118  virtual void addFilter(const DtVrfSelectionFilter* filter);
119  virtual void setSelectedName(const DtUUID&);
120  virtual DtUUID selectedName() const;
121  virtual void selectFilter(int);
122  virtual void selectFirstNonEmptyFilter();
123 
125  virtual void setApplyVisible(bool);
126 
127  virtual void setOKEnabled(bool);
128  virtual void setCancelEnabled(bool);
129 
130  virtual void setCancelButtonText(const QString&) override;
131 
132  virtual bool extensionValid() const;
133  virtual void initializeFromAction(DtVrfTaskSetAction*);
134 
138  virtual void commandActivated(const DtSimTask&, const std::vector<DtUUID>&, bool immediate);
139  virtual void commandActivated(const DtSimCommandObjectWrapper&, bool immediate);
140 
141  protected:
142  virtual QWidget* sizeToParent() const;
143  virtual void closeEvent(QCloseEvent*);
144  virtual void changeEvent(QEvent* event);
145  virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
146 
147  virtual void attachExtension(const std::vector<makVrv::DtSimEntry*>& data,
149  virtual void detachExtension();
150 
151  virtual void setPickMode(bool);
152 
154  virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement*);
155  virtual std::vector<DtObjectListViewItem::DtVrfObjectState> selectedObjects() const;
156 
158  virtual void setAllowObjectSelection(bool b);
159 
160  virtual bool canSelectObjects() const;
161 
165  virtual bool wantsSelectionOfObjectInCommandMode(const std::vector<makVrv::DtSimEntry*>&) const;
166 
167  virtual bool valid() const;
168 
170  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>&);
171 
173  virtual void unknownObjectSelected(const DtUUID&);
174 
176  virtual void noObjectsSelected();
177 
178  virtual void onOK();
179 
180  virtual void hideButtons(bool) {};
181 
182  virtual void showEvent(QShowEvent*);
183 
184  public slots:
186  virtual void onCancel();
187 
189  virtual void onPickOK();
190 
191  protected slots:
193  virtual void onBroadcastChanged();
194 
195  const std::vector<makVrv::DtSimEntry*>& connectedTo() const
196  {
197  return myConnectedTo;
198  }
199 
200  protected:
204  std::vector<makVrv::DtSimEntry*> myConnectedTo;
206  std::vector<DtUUID> myImmediateNames;
212  bool myReadOnlyMode = false;
213  bool myOKEnabled = false;
214 
215  public:
217  QSplitter* mySplitter;
224  QVBoxLayout* myMasterLayout;
225  QVBoxLayout* myWidgetLayout;
227 
229  QHBoxLayout* myButtonLayout;
230  QSpacerItem* myButtonSpacer;
234  };
235 }
QVBoxLayout * myWidgetLayout
Definition: commandAssignmentWidget.h:225
UUID is a unique ID wrapper class.
Definition: uuid.h:59
QVBoxLayout * myMasterLayout
Definition: commandAssignmentWidget.h:224
QSpacerItem * myButtonSpacer
Definition: commandAssignmentWidget.h:230
void setPartOfPlan(int b)
0 - Not part of plan dialog 1 - Part of plan dialog 2 - Part of command widget
Definition: commandAssignmentWidget.h:81
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:32
DtSimTask * myImmediateTask
Definition: commandAssignmentWidget.h:205
int myPartOfPlan
Definition: commandAssignmentWidget.h:203
std::vector< makVrv::DtSimEntry * > myConnectedTo
Definition: commandAssignmentWidget.h:204
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetLogic.h:39
QFrame * myEntitySelectionGroupBoxLine
Definition: commandAssignmentWidget.h:222
QWidget * widget()
Returns the widget.
Definition: commandAssignmentWidget.h:105
QCheckBox * myBroadcast
Definition: commandAssignmentWidget.h:219
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidget.h:46
virtual void hideButtons(bool)
If OK and Cancel buttons are present, hide them (or not)
Definition: commandAssignmentWidget.h:180
DtMapFocusHandler myFilteredListViewManager
Definition: commandAssignmentWidget.h:211
makVrv::DtDe & myDe
Definition: commandAssignmentWidget.h:201
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetInterface.h:30
QToolButton * myLockButton
Definition: commandAssignmentWidget.h:232
makVrv::DtSignalConnectionManager myConnections
Definition: commandAssignmentWidget.h:210
DtVrfFilteredListView * myEntitySelectionWidget
Definition: commandAssignmentWidget.h:223
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
QFrame * mySeparator
Definition: commandAssignmentWidget.h:226
QWidget * myOriginalExtensionParent
Definition: commandAssignmentWidget.h:218
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:64
QWidget * myEntitySelectionGroupBox
Definition: commandAssignmentWidget.h:220
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QPushButton * myOKButton
Definition: commandAssignmentWidget.h:231
Definition: commandDialogExtensionInterface.h:49
QWidget * myOKCancelButtonCanvas
Definition: commandAssignmentWidget.h:228
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:209
QPushButton * myCancelButton
Definition: commandAssignmentWidget.h:233
QSplitter * mySplitter
Definition: commandAssignmentWidget.h:217
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:221
This class will manage filtered list views for the basic purpose of allowing a single list view in th...
Definition: mapFocusHandler.h:77
const std::vector< makVrv::DtSimEntry * > & connectedTo() const
Definition: commandAssignmentWidget.h:195
DtCommandDialogExtensionInterface * myInitialExtension
Definition: commandAssignmentWidget.h:208
DtCommandAssignmentWidgetLogic * myLogic
Definition: commandAssignmentWidget.h:202
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:72
std::vector< DtUUID > myImmediateNames
Definition: commandAssignmentWidget.h:206
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:207
QHBoxLayout * myButtonLayout
Definition: commandAssignmentWidget.h:229
DtCommandDialogExtensionInterface * myExtension
Definition: commandAssignmentWidget.h:216

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)