VR-Forces 4.10 Class Documentation
 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 protected slots:
86  virtual void formationChanged();
87  virtual void edit();
88  virtual void formationModified();
89  virtual void addFormation();
90  virtual void renameFormation();
91  virtual void setAsDefault();
92  virtual void autoLayout();
93  virtual void setSubordinateFormation();
94  virtual void collapseAllOneLevel();
95  virtual void expandAllOneLevel();
96  virtual void toggleBoundingBoxes();
97  virtual void toggleSnapToGrid();
98  virtual void copyFormations();
99  virtual void changeAutoLayoutCheckBox();
100  virtual void removeSelectedFormation();
101  virtual void gridLineSpacingChanged();
103 
104 protected:
105  virtual void decorateElement();
106  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
107  virtual void elementChanged();
108 
109  virtual bool isFormationModified(const DtString&) const;
110 
111  virtual DtNewFormationDialog* createNewFormationDialog() const;
112 
114  virtual void processUiEvent(const DtUiElementEvent& e);
115  virtual void sendEvent(DtUiElementEvent::DtUiElementEventTypes type, const QString& path);
116 
117  virtual DtFormationEditor* createFormationEditor(QWidget*);
118 
121  virtual void reworkFormationFileName(DtFormationTableEntry* entry);
122  virtual bool fileInUse(DtFormationTableEntry*) const;
123  virtual QVector<DtFormationTableEntry*> entriesThatUseFormationFile(const DtFormationTable*,
124  DtFormationTableEntry*) const;
125  virtual void formationFileNames(const DtFilename& oldUnsub, const DtFilename& oldFile,
126  const DtFilename& newFormationFile, QString& newFile, QString& newUnsubName) const;
127 
129  virtual void removeFromHierarchy(int);
130  virtual void removeFormationEntry(DtFormation* formation, int iPosition, int maxId);
131  virtual QVector<DtFormationEntry*> allFormationEntriesForLeader(DtFormation* form, int promId) const;
132 
133  virtual void repositionInFormation(int iFrom, int iTo);
134  virtual void replaceObjectInFormation(int iPos);
135 
137  virtual void addObjectTypeAtPosition(DtVrfSubObjectParameterEntry* entry, int pos);
138 
139  virtual void validateExpandCollapse();
140  virtual QString addFormationToFormationList(QString entryRwName, const QString& basedOnFormation = "");
141  virtual void addNewFormation(QString entryRwName, const QString& basedOnFormation = "");
142 
143 protected:
144  virtual bool isModified() const;
145 
146  virtual void autoLayoutAll();
147 
148 public:
165  QVBoxLayout* myButtonLayout;
166 
168 
169 protected:
172 };
DtFormationEntry; readable/writeable entry in a DtFormation.
Definition: formationEntry.h:28
QPushButton * myCollapse
Definition: uiAggregateFormationEditor.h:157
QPushButton * myCopyFormations
Definition: uiAggregateFormationEditor.h:158
QPushButton * myRenameFormation
Definition: uiAggregateFormationEditor.h:153
Definition: formationEditor.h:112
QLabel * pMyPromotionIdLabel
Definition: uiAggregateFormationEditor.h:55
QLabel * pMyObjectTypeLabel
Definition: uiAggregateFormationEditor.h:56
static DtFormationAutoLayoutFactory theFormationAutoLayoutFactory
Definition: uiAggregateFormationEditor.h:171
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:164
DtFormationAutoLayoutFactory * formationAutoLayoutFactory()
Definition: uiAggregateFormationEditor.h:77
DtUiElementEventTypes
Definition: uiElement.h:98
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:223
QPushButton * myAddFormation
Definition: uiAggregateFormationEditor.h:151
Contains makVrv:DtSelectionManager class.
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:177
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:26
DtFormationEditor * myFormationEditor
Definition: uiAggregateFormationEditor.h:149
virtual void elementChanged()
Definition: formationAutoLayoutFactory.h:76
QPushButton * mySetDefaultFormation
Definition: uiAggregateFormationEditor.h:154
virtual void decorateElement()
Sets element decoration depending on the isModified state of the element.
QPushButton * myExpand
Definition: uiAggregateFormationEditor.h:156
QLabel * pMyPanelLabel
Definition: uiAggregateFormationEditor.h:54
QComboBox * myViewModes
Definition: uiAggregateFormationEditor.h:161
QPushButton * myRemoveFormation
Definition: uiAggregateFormationEditor.h:152
QCheckBox * myBoundingBoxes
Definition: uiAggregateFormationEditor.h:159
QSpinBox * myGridLineSpacing
Definition: uiAggregateFormationEditor.h:163
QFrame * pMyLineSeparator
Definition: uiAggregateFormationEditor.h:53
DtFormationTabBar * myFormations
Definition: uiAggregateFormationEditor.h:150
DtFormationTable.
Definition: formationTable.h:23
DtFormationTable myFormationTable
Definition: uiAggregateFormationEditor.h:170
virtual bool isModified() const
Definition: uiAggregateFormationEditor.h:62
Definition: uiAggregateFormationEditor.h:42
QLabel * pMySubordinateFunctionLabel
Definition: uiAggregateFormationEditor.h:58
DtUiSelectedPositionInfo * mySelectedInfo
Definition: uiAggregateFormationEditor.h:167
The DtUiElement class is the base for which all UI elements are defined.
Definition: uiElement.h:95
QPushButton * myAutoLayout
Definition: uiAggregateFormationEditor.h:155
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtFormationTableEntry.
Definition: formationTableEntry.h:23
QLabel * myGridLineSpacingLabel
Definition: uiAggregateFormationEditor.h:162
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:160
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
Base class of the ui element class chain.
Definition: uiElement.h:172
QVBoxLayout * myButtonLayout
Definition: uiAggregateFormationEditor.h:165

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)