VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiApplicableTargets.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2018 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
10 
11 class QComboBox;
12 class QGridLayout;
13 class QLabel;
14 class QLineEdit;
15 class QCheckBox;
16 class QToolButton;
17 class QPushButton;
18 class QHBoxLayout;
19 class QIntValidator;
20 class QVBoxLayout;
21 class QTreeWidget;
22 class DtRwEntityTypeList;
23 class QTreeWidgetItem;
27 
28 namespace makVrf
29 {
30  class DtEntityMapperKey;
31 }
32 
34 {
35  Q_OBJECT
36 
37 protected:
38  enum AddFlag
39  {
40  BeginningOfList = 0x00000001,
41  EndOfList = 0x00000002,
42  AddBefore = 0x00000004,
43  AddAfter = 0x00000008
44  };
45 
46 public:
47 
50 
52  virtual ~DtUiApplicableTargets();
53 
55 
56 protected:
57  virtual void setFromParameters(const std::vector<DtComponentSystemDefinition*>& parentRw);
58  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
59  virtual void createControls(QWidget* parent);
60  virtual void createTargetPriorities();
61 
62  virtual void addEntriesToList(const DtAmmunitionPrioritiesList&);
63  virtual void decorateElement();
64 
65  virtual DtEntityType targetTypeFrom(QTreeWidgetItem*) const;
66 
67  virtual QTreeWidgetItem* createAmmunitionItem(DtAmmunitionPrioritiesListEntry*);
68  virtual QComboBox* createComboBox(QTreeWidgetItem* lei);
69 
70  virtual void processUiEvent(const DtUiElementEvent&);
71  virtual void addAmmunition(const DtString&);
72  virtual void removeAmmunition(const DtString&);
73  virtual DtAmmunitionPrioritiesListEntry* ammunitionPriorityListEntryFrom(QTreeWidgetItem*) const;
74 
75  virtual QTreeWidgetItem* addNewTargetPriority(const DtEntityType& newType, AddFlag flag, const DtEntityType& currentType = DtEntityType());
76  virtual void removeTargetType(const DtEntityType& matchType);
77  virtual void addApplicableTargets();
78  virtual void addAllTargetPrioritiesForAmmunition(const DtString&);
79  virtual void replacePriority(const DtString& current, const DtString& replace);
80 
81 protected slots:
82  virtual void targetPrioritySelectionChanged();
83  virtual void moveTargetDown();
84  virtual void moveTargetUp();
85  virtual void removeTargetPriority();
86  virtual void editTargetPriority();
87  virtual void changeTargetPriorityType(const makVrf::DtEntityMapperKey&);
88  virtual void addTargetPriority();
89  virtual void preferredAmmunitionChanged();
90 
91 public:
102  std::map<QTreeWidgetItem*, QComboBox*> myPreferredAmmunition;
103 
104 protected:
105  std::map<DtReaderWriter*, DtTargetingControlTable*> myInteralToExternalTargetingControlTable;
106 };
std::map< DtReaderWriter *, DtTargetingControlTable * > myInteralToExternalTargetingControlTable
Definition: uiApplicableTargets.h:105
Definition: entityMapperKey.h:23
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.
QToolButton * myRemoveTargetPriorityButton
Definition: uiApplicableTargets.h:97
QVBoxLayout * myTargetPrioritiesLayout
Definition: uiApplicableTargets.h:93
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:231
QTreeWidget * myTargetPriorities
Definition: uiApplicableTargets.h:101
class DtRwEntityTypeList:
Definition: rwEntityTypeList.h:23
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:185
QWidget * myTargetPrioritiesCanvas
Definition: uiApplicableTargets.h:92
virtual void decorateElement()
Sets element decoration depending on the isModified state of the element. This version changes myLabe...
QLabel * myTargetPrioritiesLabel
Definition: uiApplicableTargets.h:95
QHBoxLayout * myTargetPriorityButtonLayout
Definition: uiApplicableTargets.h:94
QToolButton * myAddTargetPriorityButton
Definition: uiApplicableTargets.h:96
QToolButton * myMoveTargetUp
Definition: uiApplicableTargets.h:99
Definition: uiApplicableTargets.h:33
Readable-writable class holding all parameters to configure the DtTargetingControlTable.
Definition: ammunitionPrioritiesList.h:26
std::map< QTreeWidgetItem *, QComboBox * > myPreferredAmmunition
Definition: uiApplicableTargets.h:102
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
Definition: ammunitionPrioritiesListEntry.h:26
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
QToolButton * myEditTargetPriorityButton
Definition: uiApplicableTargets.h:98
Definition: targetingControlTable.h:20
#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
AddFlag
Definition: uiApplicableTargets.h:38
QToolButton * myMoveTargetDown
Definition: uiApplicableTargets.h:100

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)