VR-Forces 4.6 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 bool eventFilter(QObject* o, QEvent* e);
175  virtual void onCreateDone();
176 
177  protected:
179  friend class DtVrfOrbatPageCreator;
180 
182  DtVrfOrbatPage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
183 
184  public:
185  QHBoxLayout* myButtonLayout;
186 
187  QWidget* myButtons;
188 
194  QFrame* mySeparator;
196 
202 
206  QHBoxLayout* myPaletteButtonLayout;
210 
223 
224  protected:
231 
234 
237  };
238 
241  {
242  public:
243 
246 
248  virtual ~DtVrfOrbatPageCreator();
249 
253  virtual std::string pageClassName() const;
254 
256  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
257  };
258 
261  {
262  Q_OBJECT
263 
264  public:
265  DtOrbatPalettePage( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
266 
267  virtual ~DtOrbatPalettePage();
268 
270  virtual const std::string& pageClassName() const;
271 
273  static const std::string& thePageClassName();
274 
276  virtual void clear()
277  {
278  }
279 
281  virtual void update()
282  {
283  }
284 
286  virtual void setEnabled(bool)
287  {
288  }
289 
290  virtual bool initiallyVisible() const
291  {
292  return false;
293  }
294 
295  protected:
296  virtual void activate();
297  };
298 
301 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)