VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfOrbatPage.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
7 
8 #pragma once
9 
10 #if !defined(Q_MOC_RUN)
16 #include <vrfGuiCore/orbatState.h>
19 #endif
20 
21 class QPushButton;
22 class QHBoxLayout;
23 class QLabel;
24 class QLineEdit;
25 class QMenu;
26 class QAction;
27 class QStringList;
28 class DtIfOrbatOperation;
29 class QFrame;
30 
31 namespace makVrf
32 {
33  class DtEntityCreatePalette;
34  class DtAggregateAsDialog;
35  class DtVrfOrbatTreeWidget;
36  class DtPaletteFilter;
37  class DtSelectUnitDialog;
38 
40  {
41  Q_OBJECT
42 
43  public:
44 
46  virtual ~DtVrfOrbatPage();
47 
49  virtual QIcon icon();
50 
52  virtual QString title();
53 
55  virtual const std::string& pageClassName() const;
56 
58  virtual void setOrbatActivated(bool);
59 
61  virtual void itemPositioned(DtObjectListViewItem* item);
62 
65  virtual void setOrbatCreationMode(bool);
66  bool orbatCreationMode() const;
67 
69  virtual void setSignalObjectToCreate(bool);
70  bool signalObjectToCreate() const;
71 
73  virtual void setShowInOrbatOnly(bool);
74  bool showInOrbatOnly() const;
75 
77  virtual void activate();
78 
79  virtual void closeDialogs();
80 
81  virtual void validateButtons();
82 
83  boost::signals2::signal<void (DtEntityMapperKey, std::string, DtUUID)> signal_createObject;
84 
85  public slots:
86  virtual void onCreateFromOrbat();
87 
88  protected slots:
89  virtual void onAddToOrbat();
90  virtual void onAddUnitToOrbat();
91  virtual void entityPanelDestroyed();
92  virtual void selectUnitDialogDestroyed();
93  virtual void onRemoveFromOrbat();
94  virtual void onEditOrbatEntry();
95  virtual void onEditCancelled();
96  virtual void onEditComplete();
97  virtual void onOrganizeOrbat();
98  virtual void aggregateAsDestroyed();
99  virtual void onMoveUpInOrbatOrder();
100  virtual void onMoveDownInOrbatOrder();
101  virtual void onCopyOrbat();
102  virtual void onPasteOrbat();
103  virtual void onAddOrbatItem();
104 
105  protected:
106  virtual void slot_addUnitFromUnitDialog(const DtEntityMapperKey& key, const QString&);
107  virtual void slot_checkEntityCreateSelection();
108  virtual void moveSelectedBy(int);
109  virtual void onMarkingTextChanged(DtObjectListViewItem*, const QString&);
110 
111  virtual void hideEvent(QHideEvent*);
112 
113  virtual void cancelCreation();
114 
115  virtual void slot_stoppedObjectCreation();
116  virtual void slot_creatingObject();
117 
118  virtual void slot_itemRemoved(makVrv::DtUniqueID);
119 
120  virtual bool isForceRootNode(DtObjectListViewItem*) const;
121  virtual bool isForceRootNode(makVrv::DtUniqueID) const;
122 
123  virtual int forceForRootNode(DtObjectListViewItem*) const;
124  virtual int forceForRootNode(makVrv::DtUniqueID) const;
125 
126  virtual void paletteItemsAdded();
127 
128  virtual DtVrfHierarchyPageLogic* createLogic();
129 
131  virtual void onItemSelected();
132 
133  virtual DtVrfTreeWidget* createHierarchyList();
134 
135  virtual void slot_createObjectType(const DtEntityMapperKey& x);
136 
138  virtual void slot_reparentOrbatItems(const QStringList& ids, makVrv::DtUniqueID parentID, int newOrbatPosition = -1);
139 
142  virtual void editOrbatEntry(makVrv::DtUniqueID);
143 
145  virtual void setupForEditMode(const makVrv::DtStateView<DtOrbatState>*);
146 
148  virtual void setupForCreateMode();
149 
151  virtual void createEntityPalettePanel();
152 
154  virtual DtSelectUnitDialog* createSelectUnitDialog();
155 
157  virtual void createRightClickMenu();
158 
160  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent* e, int col);
161 
163  virtual void addObjectsToOrbatFromPalette(const std::vector<DtEntityMapperKey>&, const DtUUID& onTopOf, const QString& name = "", bool createSubordinates = true);
164 
166  virtual void addChildForCopyToVector(DtObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
167  bool consideredUnparented = false);
168 
169  protected:
170  virtual void createFromTick();
171  virtual void editFromTick();
172  virtual void setupForOrbatCreationMode();
173  virtual void setupForOrbatEditMode();
174  virtual void changeMaximumNameLength(const DtEntityMapperKey&);
175  virtual void addObjectItemsFromOrbatPalette(const QByteArray&, DtObjectListViewItem*);
176  virtual void objectsDroppedFromPalette(const std::vector<DtEntityMapperKey>& keys, const DtUUID& onTopOf);
177  virtual bool eventFilter(QObject* o, QEvent* e);
178  virtual void onCreateDone();
179 
180  protected:
182  friend class DtVrfOrbatPageCreator;
183 
185  DtVrfOrbatPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
186 
187  public:
188  QHBoxLayout* myButtonLayout;
189 
190  QWidget* myButtons;
191 
197  QFrame* mySeparator;
199 
205 
209  QHBoxLayout* myPaletteButtonLayout;
213 
226 
227  protected:
234 
237 
240  };
241 
244  {
245  public:
246 
249 
251  virtual ~DtVrfOrbatPageCreator();
252 
256  virtual std::string pageClassName() const;
257 
259  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
260  };
261 
264  {
265  Q_OBJECT
266 
267  public:
268  DtOrbatPalettePage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
269 
270  virtual ~DtOrbatPalettePage();
271 
273  virtual const std::string& pageClassName() const;
274 
276  static const std::string& thePageClassName();
277 
279  virtual void clear()
280  {
281  }
282 
284  virtual void update()
285  {
286  }
287 
289  virtual void setEnabled(bool)
290  {
291  }
292 
293  virtual bool initiallyVisible() const
294  {
295  return false;
296  }
297 
298  protected:
299  virtual void activate();
300  };
301 
304 }
makVrv::DtPageCreatorTemplate< DtOrbatPalettePage > DtOrbatPalettePageCreator
Definition: vrfOrbatPage.h:303
QWidget * myButtons
Definition: vrfOrbatPage.h:190
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
bool myInCreationMode
Definition: vrfOrbatPage.h:229
Definition: aggregateAsDialog.h:26
QPushButton * myRemoveFromOrbat
Definition: vrfOrbatPage.h:195
This class will transmit orbat operations that will be handled by the orbat manager in the back-end...
Definition: ifOrbatOperation.h:20
QAction * myEditOrbatAction
Definition: vrfOrbatPage.h:218
Definition: entityMapperKey.h:23
QPushButton * myAddToOrbat
Definition: vrfOrbatPage.h:192
QAction * myCreateFromOrbatAction
Definition: vrfOrbatPage.h:220
Definition: vrfOrbatPage.h:39
A widget class for showing different items of supplied types to the logic tthat can be created...
Definition: entityCreatePalette.h:66
QPushButton * myAddButton
Definition: vrfOrbatPage.h:212
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QAction * myMoveDown
Definition: vrfOrbatPage.h:223
bool myCreatingObjectFromOrbat
Definition: vrfOrbatPage.h:228
QAction * myOrganizeAction
Definition: vrfOrbatPage.h:221
Definition: vrfHierarchyPageLogic.h:59
The page creator.
Definition: DtPage.h:114
QFrame * mySeparator
Definition: vrfOrbatPage.h:197
bool myOrbatCreationMode
Definition: vrfOrbatPage.h:235
DtUUID myUUIDBeingAdded
Definition: vrfOrbatPage.h:233
QAction * myAddToOrbatAction
Definition: vrfOrbatPage.h:216
DtEntityMapperKey myObjectSelected
Definition: vrfOrbatPage.h:231
bool myShowInOrbatOnly
Definition: vrfOrbatPage.h:239
QHBoxLayout * myPaletteButtonLayout
Definition: vrfOrbatPage.h:209
virtual void clear()
Clears contents of widget.
Definition: vrfOrbatPage.h:279
bool mySignalObjectToCreate
Definition: vrfOrbatPage.h:238
Contains makVrf::DtVrfEchelonHierarchyPage class.
Definition: DtPage.h:143
virtual void setEnabled(bool)
Enables/Disables Gui.
Definition: vrfOrbatPage.h:289
QPushButton * myOrganize
Definition: vrfOrbatPage.h:196
virtual void update()
Tells widget to update (redraw)
Definition: vrfOrbatPage.h:284
boost::signals2::signal< void(DtEntityMapperKey, std::string, DtUUID)> signal_createObject
Definition: vrfOrbatPage.h:83
QPushButton * myEditOrbatEntry
Definition: vrfOrbatPage.h:194
QPushButton * myAddUnitToOrbat
Definition: vrfOrbatPage.h:193
QAction * myMoveUp
Definition: vrfOrbatPage.h:222
Definition: vrfTreeWidget.h:26
This class will allow the user to select a unit type from a list.
Definition: selectUnitDialog.h:37
A DtStateView is a the interface to simulation state information.
Definition: DtStateView.h:49
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QAction * myRemoveFromOrbatAction
Definition: vrfOrbatPage.h:219
Abstract interface for the creation palettes.
Definition: genericPaletteInterface.h:28
QAction * myCopyAction
Definition: vrfOrbatPage.h:224
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:27
QLabel * myCreateHelpText
Definition: vrfOrbatPage.h:207
bool myOrbatActivated
Definition: vrfOrbatPage.h:230
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Specialized ORBAT page that will put page into creation mode.
Definition: vrfOrbatPage.h:263
QPushButton * myClose
Definition: vrfOrbatPage.h:210
QAction * myPasteAction
Definition: vrfOrbatPage.h:225
QAction * myAddUnitToOrbatAction
Definition: vrfOrbatPage.h:217
makVrv::DtUniqueID myEditing
Definition: vrfOrbatPage.h:232
QMenu * myRightClickMenu
Right click menu created when right clicking on orbat only items.
Definition: vrfOrbatPage.h:215
DtAggregateAsDialog * myAggregateAsDialog
Definition: vrfOrbatPage.h:203
Base class to provide boost signal/slot management.
QPushButton * myCreateFromOrbat
Definition: vrfOrbatPage.h:198
QLabel * myNameLabel
Definition: vrfOrbatPage.h:206
makVrv::DtSignalConnectionManager mySidcConnections
Definition: vrfOrbatPage.h:236
Definition: vrfEchelonHierarchyPage.h:18
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The creator class needed to be used to create a DtVrfOrbatPagePage.
Definition: vrfOrbatPage.h:243
DtSelectUnitDialog * mySelectUnitDialog
Definition: vrfOrbatPage.h:204
QHBoxLayout * myButtonLayout
Definition: vrfOrbatPage.h:188
Definition: objectListViewItem.h:45
DtEntityCreatePalette * myEntityPalettePanel
Part of entity create palette extension to be able to add items at a particular location and with a p...
Definition: vrfOrbatPage.h:202
QLineEdit * myNameLineEdit
Definition: vrfOrbatPage.h:208
virtual bool initiallyVisible() const
Definition: vrfOrbatPage.h:293
QPushButton * myOK
Definition: vrfOrbatPage.h:211

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)