VR-Forces 4.1.1 Class Documentation
formationEditor.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #ifndef DTFORMATIONEDITOR_H_
10 #define DTFORMATIONEDITOR_H_
11 
14 #include "tmqt/echHierarchy.h"
15 #include "tmqt/tmMapArea.h"
16 #include "tmqt/echViewOptions.h"
21 #include <vlpi/disEnums.h>
22 
23 class DtNavigationWidget;
32 class DtFormation;
33 class DtEchelonView;
34 class DtFormationTable;
35 class DtFormationEntry;
36 class QKeyEvent;
37 
39 {
40  Q_OBJECT
41 
42 public:
44 
45  virtual ~DtFormationEditor();
46 
47  virtual bool init(const DtTMFactory*, const DtString& subObjName);
48 
50  virtual void setSubordinatesList(DtVrfObjectParameters*, DtVrfSubObjectParameterList*);
51 
53  virtual void setForceId(DtForceType id);
54 
56  virtual void setFormation(const QString&);
57 
59  virtual void setFormationTable(DtFormationTable*);
60 
62  virtual void setExpanded(const DtModelKey &key, bool expand);
63 
66  virtual void expandPath(const QStringList&, bool expand);
67 
69  virtual void selectPath(const QString&);
70 
72  virtual QString selectionPath(const DtModelKey&) const;
73 
75  virtual QString selectionPath() const;
76 
77  virtual DtObjectType selectedObjectType() const;
78 
79  virtual DtFormationModelData* rootNode() const { return myRootNode; };
80  virtual DtFormationModelData* selectedModelData() const;
81 
82  virtual void markAllForUpdate();
83 
85  virtual void removeFormationEntry(DtFormationEntry*);
86 
88  virtual DtExtent extent() const;
89 
91  virtual int promotionIdAt(int) const;
92 
93  virtual void repositionInFormation(int iFrom, int iTo);
94  virtual void replaceObjectInFormation(int iPos);
95 
97  virtual void addObjectTypeAtPosition(DtVrfSubObjectParameterEntry* entry, int pos, bool addAtPos = true);
98 
100  virtual int nestingLevel() const;
101  virtual void setNestingLevel(int);
102 
104  virtual bool canExpand() const;
105  virtual void collapseAllOneLevel();
106  virtual void expandAllOneLevel();
107  virtual void toggleBoundingBoxes();
108  virtual void toggleSnapToGrid();
109 
110  bool snapToGrid() const;
111  bool showBoundingBoxes() const;
112 
113  virtual void setScaleFactor(double);
114  virtual double scaleFactor() const;
115 
116 protected:
117  virtual void showEvent(QShowEvent*);
118  virtual DtFormationSymbolFilter* createFilter(DtTMArea*);
119  virtual DtFormationHierarchy* createHierarchy();
121  virtual DtFormationSymbolMapper* createSymbolMapper();
122  virtual DtFormationSymbolUpdater* createSymbolUpdater();
123  virtual DtFormationGridLineDrawer* createGridLineDrawer();
124  virtual DtFormationRightClickMenu* createFormationRightClickMenu();
125 
126  virtual void createHierarchy(DtFormationModelData*);
127  virtual void createHierarchy(DtFormationModelData*, DtVrfSubObjectParameterEntry* subEntry);
128 
130  virtual void setupFormation();
131 
132  virtual DtFormationModelData* dataFromPath(const QStringList&) const;
133 
134  virtual void dragLeaveEvent(QDragLeaveEvent* e);
135  virtual void dragMoveEvent(QDragMoveEvent* e);
136  virtual void dragEnterEvent(QDragEnterEvent* e);
137  virtual void dropEvent(QDropEvent* e);
138  virtual bool terrainLoaded() const { return true; };
139  virtual void resizeEvent(QResizeEvent* e);
140  virtual void removeModelDataEntry(DtFormationModelData* fmd);
141 
142 signals:
143  void edit();
144  void expand();
145  void collapse();
146  void setFormation();
147  void formationModified();
148 
149 public slots:
150  virtual void zoomIn();
151  virtual void zoomOut();
152  virtual void resetToGlobalView();
153  virtual void panNorth();
154  virtual void panNortheast();
155  virtual void panEast();
156  virtual void panSoutheast();
157  virtual void panSouth();
158  virtual void panSouthwest();
159  virtual void panWest();
160  virtual void panNorthwest();
161 
162  virtual void setShowBoundingBoxes(bool);
163  virtual void setSnapToGrid(bool);
164 
165 protected slots:
166  virtual void viewportExtentsChanged();
167  virtual void mouseEvent(QMouseEvent*, const DtPoint&);
168  virtual void keyboardEvent(QKeyEvent*);
169  virtual void redoAggregateLayering();
170  virtual void drawGridLines(QPainter*);
171  virtual void postDraw(QPainter*);
172  virtual void rightMouseContext(DtSymbolList*,QPoint);
173 
174 protected:
182  DtForceType myForceId;
184  QString myFormation;
191 };
192 
193 inline bool DtFormationEditor::snapToGrid() const
194 {
195  return myDragDropHandler.snapToGrid();
196 }
197 
198 #endif
199 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)