VR-Forces 4.7 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 
15 #include <vrfGuiCore/orbatState.h>
18 
19 class QPushButton;
20 class QHBoxLayout;
21 class QLabel;
22 class QLineEdit;
23 class QMenu;
24 class QAction;
25 class QStringList;
26 class DtIfOrbatOperation;
27 class QFrame;
28 
29 namespace makVrf
30 {
31  class DtEntityCreatePalette;
32  class DtAggregateAsDialog;
33  class DtVrfOrbatTreeWidget;
34  class DtPaletteFilter;
35  class DtSelectUnitDialog;
36 
38  {
39  Q_OBJECT
40 
41  public:
42 
44  virtual ~DtVrfOrbatPage();
45 
47  virtual QIcon icon();
48 
50  virtual QString title();
51 
53  virtual const std::string& pageClassName() const;
54 
56  virtual void setOrbatActivated(bool);
57 
59  virtual void itemPositioned(DtVrfObjectListViewItem* item);
60 
63  virtual void setOrbatCreationMode(bool);
64  bool orbatCreationMode() const;
65 
67  virtual void setSignalObjectToCreate(bool);
68  bool signalObjectToCreate() const;
69 
71  virtual void setShowInOrbatOnly(bool);
72  bool showInOrbatOnly() const;
73 
75  virtual void activate();
76 
77  virtual void closeDialogs();
78 
79  virtual void validateButtons();
80 
81  boost::signal<void (DtEntityMapperKey, std::string, DtUUID)> signal_createObject;
82 
83  public slots:
84  virtual void onCreateFromOrbat();
85 
86  protected slots:
87  virtual void onAddToOrbat();
88  virtual void onAddUnitToOrbat();
89  virtual void entityPanelDestroyed();
90  virtual void selectUnitDialogDestroyed();
91  virtual void onRemoveFromOrbat();
92  virtual void onEditOrbatEntry();
93  virtual void onEditCancelled();
94  virtual void onEditComplete();
95  virtual void onOrganizeOrbat();
96  virtual void aggregateAsDestroyed();
97  virtual void onMoveUpInOrbatOrder();
98  virtual void onMoveDownInOrbatOrder();
99  virtual void onCopyOrbat();
100  virtual void onPasteOrbat();
101  virtual void onAddOrbatItem();
102 
103  protected:
104  virtual void slot_addUnitFromUnitDialog(const DtEntityMapperKey& key, const QString&);
105  virtual void slot_checkEntityCreateSelection();
106  virtual void moveSelectedBy(int);
107  virtual void onMarkingTextChanged(DtVrfObjectListViewItem*, const QString&);
108 
109  virtual void hideEvent(QHideEvent*);
110 
111  virtual void cancelCreation();
112 
113  virtual void slot_stoppedObjectCreation();
114  virtual void slot_creatingObject();
115 
116  virtual void slot_itemRemoved(makVrv::DtUniqueID);
117 
118  virtual bool isForceRootNode(DtVrfObjectListViewItem*) const;
119  virtual bool isForceRootNode(makVrv::DtUniqueID) const;
120 
121  virtual int forceForRootNode(DtVrfObjectListViewItem*) const;
122  virtual int forceForRootNode(makVrv::DtUniqueID) const;
123 
124  virtual void paletteItemsAdded();
125 
126  virtual DtVrfHierarchyPageLogic* createLogic();
127 
129  virtual void onItemSelected();
130 
131  virtual DtVrfTreeWidget* createHierarchyList();
132 
133  virtual void slot_createObjectType(const DtEntityMapperKey& x);
134 
136  virtual void slot_reparentOrbatItems(const QStringList& ids, makVrv::DtUniqueID parentID, int newOrbatPosition = -1);
137 
140  virtual void editOrbatEntry(makVrv::DtUniqueID);
141 
143  virtual void setupForEditMode(const makVrv::DtStateView<DtOrbatState>*);
144 
146  virtual void setupForCreateMode();
147 
149  virtual void createEntityPalettePanel();
150 
152  virtual DtSelectUnitDialog* createSelectUnitDialog();
153 
155  virtual void createRightClickMenu();
156 
158  virtual void onRightClickOnItem(QTreeWidgetItem*, QMouseEvent* e, int col);
159 
161  virtual void addObjectsToOrbatFromPalette(const std::vector<DtEntityMapperKey>&, const DtUUID& onTopOf, const QString& name = "", bool createSubordinates = true);
162 
164  virtual void addChildForCopyToVector(DtVrfObjectListViewItem*, QStringList& nodes, std::set<DtUUID>& processed,
165  bool consideredUnparented = false);
166 
167  protected:
168  virtual void createFromTick();
169  virtual void editFromTick();
170  virtual void setupForOrbatCreationMode();
171  virtual void setupForOrbatEditMode();
172  virtual void changeMaximumNameLength(const DtEntityMapperKey&);
173  virtual void addObjectItemsFromOrbatPalette(const QByteArray&, DtVrfObjectListViewItem*);
174  virtual void objectsDroppedFromPalette(const std::vector<DtEntityMapperKey>& keys, const DtUUID& onTopOf);
175  virtual bool eventFilter(QObject* o, QEvent* e);
176  virtual void onCreateDone();
177 
178  protected:
180  friend class DtVrfOrbatPageCreator;
181 
183  DtVrfOrbatPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
184 
185  public:
186  QHBoxLayout* myButtonLayout;
187 
188  QWidget* myButtons;
189 
195  QFrame* mySeparator;
197 
203 
207  QHBoxLayout* myPaletteButtonLayout;
211 
224 
225  protected:
232 
235 
238  };
239 
242  {
243  public:
244 
247 
249  virtual ~DtVrfOrbatPageCreator();
250 
254  virtual std::string pageClassName() const;
255 
257  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
258  };
259 
262  {
263  Q_OBJECT
264 
265  public:
266  DtOrbatPalettePage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
267 
268  virtual ~DtOrbatPalettePage();
269 
271  virtual const std::string& pageClassName() const;
272 
274  static const std::string& thePageClassName();
275 
277  virtual void clear()
278  {
279  }
280 
282  virtual void update()
283  {
284  }
285 
287  virtual void setEnabled(bool)
288  {
289  }
290 
291  virtual bool initiallyVisible() const
292  {
293  return false;
294  }
295 
296  protected:
297  virtual void activate();
298  };
299 
302 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)