VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiAggregateFormationEditor.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
12 #include <readerWriter/rwString.h>
16 #include "vrfutil/formationTable.h"
17 
18 #include <QtCore/QVector>
19 #include <QtWidgets/QWidget>
20 
21 class QGroupBox;
22 class QComboBox;
23 class QVBoxLayout;
24 class DtFormationEditor;
25 class DtFormationTabBar;
29 class QLabel;
30 class QCheckBox;
31 class QSpinBox;
32 class DtFormationEntry;
33 class DtFormation;
34 class QPushButton;
35 class QToolButton;
36 class DtReaderWriterFile;
38 class DtFormationTable;
39 class QSpinBox;
40 class QFrame;
41 
43 {
44 public:
45 
46  DtUiSelectedPositionInfo(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags());
47  virtual ~DtUiSelectedPositionInfo();
48 
49  //virtual void setSubordinateFunctions(const std::vector<std::string>& idVec, const std::vector<std::string>& displayVec, int nSel = -1);
50 
51  QVBoxLayout* pMyLayout;
52 
57  //QComboBox* pMySubordinateFunctionsCombo;
59 
60 };
61 
63 {
64  Q_OBJECT
65 
66 public:
67 
70 
73 
74 public:
75  virtual void createControls(QWidget*);
76 
77  DtFormationAutoLayoutFactory* formationAutoLayoutFactory() { return &theFormationAutoLayoutFactory; };
78 
79  virtual void slot_selectionChanged(const makVrv::DtSelectionManager::IdSet& selected,
80  const makVrv::DtSelectionManager::IdSet& deselected);
81 
83  const DtFormationTable& formationTable() const;
84 
85  virtual void disable();
86 
87 protected slots:
88  virtual void formationChanged();
89  virtual void edit();
90  virtual void formationModified();
91  virtual void addFormation();
92  virtual void renameFormation();
93  virtual void setAsDefault();
94  virtual void autoLayout();
95  virtual void setSubordinateFormation();
96  virtual void collapseAllOneLevel();
97  virtual void expandAllOneLevel();
98  virtual void toggleBoundingBoxes();
99  virtual void toggleSnapToGrid();
100  virtual void copyFormations();
101  virtual void changeAutoLayoutCheckBox();
102  virtual void removeSelectedFormation();
103  virtual void gridLineSpacingChanged();
105 
106 protected:
107  virtual void decorateElement();
108  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
109  virtual void elementChanged();
110 
111  virtual bool isFormationModified(const DtString&) const;
112 
113  virtual DtNewFormationDialog* createNewFormationDialog() const;
114 
116  virtual void processUiEvent(const DtUiElementEvent& e);
117  virtual void sendEvent(DtUiElementEvent::DtUiElementEventTypes type, const QString& path);
118 
119  virtual DtFormationEditor* createFormationEditor(QWidget*);
120 
123  virtual void reworkFormationFileName(DtFormationTableEntry* entry);
124  virtual bool fileInUse(DtFormationTableEntry*) const;
125  virtual QVector<DtFormationTableEntry*> entriesThatUseFormationFile(const DtFormationTable*,
126  DtFormationTableEntry*) const;
127  virtual void formationFileNames(const DtFilename& oldUnsub, const DtFilename& oldFile,
128  const DtFilename& newFormationFile, QString& newFile, QString& newUnsubName) const;
129 
131  virtual void removeFromHierarchy(int);
132  virtual void removeFormationEntry(DtFormation* formation, int iPosition, int maxId);
133  virtual QVector<DtFormationEntry*> allFormationEntriesForLeader(DtFormation* form, int promId) const;
134 
135  virtual void repositionInFormation(int iFrom, int iTo);
136  virtual void replaceObjectInFormation(int iPos);
137 
139  virtual void addObjectTypeAtPosition(DtVrfSubObjectParameterEntry* entry, int pos);
140 
141  virtual void validateExpandCollapse();
142  virtual QString addFormationToFormationList(QString entryRwName, const QString& basedOnFormation = "");
143  virtual void addNewFormation(QString entryRwName, const QString& basedOnFormation = "");
144 
145 protected:
146  virtual bool isModified() const;
147 
148  virtual void autoLayoutAll();
149 
150 public:
167  QVBoxLayout* myButtonLayout;
168 
170 
171 protected:
174 };
DtFormationEntry; readable/writeable entry in a DtFormation.
Definition: formationEntry.h:28
QPushButton * myCollapse
Definition: uiAggregateFormationEditor.h:159
QPushButton * myCopyFormations
Definition: uiAggregateFormationEditor.h:160
QPushButton * myRenameFormation
Definition: uiAggregateFormationEditor.h:155
Definition: formationEditor.h:112
QLabel * pMyPromotionIdLabel
Definition: uiAggregateFormationEditor.h:55
QLabel * pMyObjectTypeLabel
Definition: uiAggregateFormationEditor.h:56
static DtFormationAutoLayoutFactory theFormationAutoLayoutFactory
Definition: uiAggregateFormationEditor.h:173
virtual void createControls(QWidget *parent)
If additional widgets or connections need to be made do it here. The parent is the myWidget member...
virtual void setFromParameters(DtReaderWriter *parentRw)
Calls setFromParameters with std::vector of parameter.
QCheckBox * mySnapToGrid
Definition: uiAggregateFormationEditor.h:166
DtFormationAutoLayoutFactory * formationAutoLayoutFactory()
Definition: uiAggregateFormationEditor.h:77
DtUiElementEventTypes
Definition: uiElement.h:100
QVBoxLayout * pMyLayout
Definition: uiAggregateFormationEditor.h:51
DtVrfSubObjectParameterList is a readable/writable list of DtVrfSubObjectParameterEntrys.
Definition: vrfSubObjectParameterList.h:21
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:231
QPushButton * myAddFormation
Definition: uiAggregateFormationEditor.h:153
Contains makVrv:DtSelectionManager class.
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:185
DtVrfSubObjectParameterEntry.
Definition: vrfSubObjectParameterEntry.h:27
Overridden class to allow for selecting of an icon that might be on a tab without making it the curre...
Definition: formationTabBar.h:23
Instances of DtFormation are a list of DtFormationEntry objects which make up an aggregate formation...
Definition: formation.h:22
DtFormationEditor * myFormationEditor
Definition: uiAggregateFormationEditor.h:151
virtual void elementChanged()
Definition: formationAutoLayoutFactory.h:76
QPushButton * mySetDefaultFormation
Definition: uiAggregateFormationEditor.h:156
virtual void decorateElement()
Sets element decoration depending on the isModified state of the element. This version changes myLabe...
QPushButton * myExpand
Definition: uiAggregateFormationEditor.h:158
QLabel * pMyPanelLabel
Definition: uiAggregateFormationEditor.h:54
QComboBox * myViewModes
Definition: uiAggregateFormationEditor.h:163
QPushButton * myRemoveFormation
Definition: uiAggregateFormationEditor.h:154
QCheckBox * myBoundingBoxes
Definition: uiAggregateFormationEditor.h:161
QSpinBox * myGridLineSpacing
Definition: uiAggregateFormationEditor.h:165
QFrame * pMyLineSeparator
Definition: uiAggregateFormationEditor.h:53
DtFormationTabBar * myFormations
Definition: uiAggregateFormationEditor.h:152
DtFormationTable.
Definition: formationTable.h:23
DtFormationTable myFormationTable
Definition: uiAggregateFormationEditor.h:172
virtual bool isModified() const
Definition: uiAggregateFormationEditor.h:62
Definition: uiAggregateFormationEditor.h:42
QLabel * pMySubordinateFunctionLabel
Definition: uiAggregateFormationEditor.h:58
DtUiSelectedPositionInfo * mySelectedInfo
Definition: uiAggregateFormationEditor.h:169
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
QPushButton * myAutoLayout
Definition: uiAggregateFormationEditor.h:157
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:70
DtFormationTableEntry.
Definition: formationTableEntry.h:23
QLabel * myGridLineSpacingLabel
Definition: uiAggregateFormationEditor.h:164
virtual void sendEvent(const DtUiElementEvent &)
Definition: newFormationDialog.h:23
Using a DtReaderWriterFile allows a DtReaderWriter object to be read in from an MTL stream contained ...
Definition: readerWriterFile.h:35
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
QCheckBox * myAutoLayoutCheckBox
Definition: uiAggregateFormationEditor.h:162
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:33
Base class of the ui element class chain. Properties available through designer for all ui elements a...
Definition: uiElement.h:180
QVBoxLayout * myButtonLayout
Definition: uiAggregateFormationEditor.h:167

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)