VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiHitProbabilityConfigurationWidget.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 
12 
13 #include <QtGui/QColor>
14 #include <QtCore/QPointF>
15 #include <QtCore/QVector>
16 #include <QtWidgets/QTableWidget>
17 
19 class QFrame;
20 class QToolButton;
21 class QVBoxLayout;
22 class QHBoxLayout;
23 class DtRangeProbEntry;
24 class DtEntityType;
25 class QListWidgetItem;
26 class QDoubleValidator;
27 class DtRwReal;
28 class QLabel;
29 class QListWidget;
30 class QLineEdit;
33 class QAbstractButton;
34 class QRadioButton;
35 class QPushButton;
36 
37 namespace makVrf
38 {
39  class DtEnumerationSelectionWidget;
40 }
41 
43 {
44  Q_OBJECT
45 
46 public:
47 
50 
52  virtual ~DtUiHitProbabilityConfigurationWidget() override;
53  virtual bool hasRange(const DtEntityType&) const;
54 
56 
57 protected:
58  virtual void createControls(QWidget* parent) override;
59  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw) override;
60  virtual void createNewRangeTableForSelectedItem(double maxRange, double hitChance);
61 
62 
63 
64  virtual void addNewEntryBasedOffOf(const DtEntityType& existingType, const DtEntityType& newType);
65  virtual void addNewRangeTableEntry(const DtEntityType& newType);
66  virtual void addNewCoefficientTableEntry(const DtEntityType& newType);
67  virtual void addCommonEntityTypeEntry(const DtEntityType& et, const std::vector<DtRangeProbEntry*>& ranges, bool plotCoefficientImmediately = false);
68 
69  virtual void createRangeTableFor(const DtEntityType&);
70 
71  virtual QListWidgetItem* selectedLine() const;
72 
73  virtual void createBasicCoefficientTable(const DtEntityType&);
74  virtual void createBasicRangeTable(const DtEntityType&);
75 
76  virtual void createChoiceRadioButtons();
77 
78  virtual void setupEntriesFrom(const std::vector<DtReaderWriter*>&);
79  virtual void processUiEvent(const DtUiElementEvent& e) override;
80  virtual void hitTableChanged(const QString& reason = "");
81  virtual void addGraphDataCanvas();
82  virtual void clearEntityTypes();
83 
84  virtual void setEnabled(bool) override;
85 
86  virtual void validateHitTableType(makVrf::DtEnumerationSelectionWidget*, const DtEntityType&);
87  //These call down into the graphDataWidget
88  virtual void clearGraphData();
89  virtual void clearAllData();
90  virtual void clearPlotLines();
91  virtual void replotGraph();
92 
93 public slots:
94  virtual void onSwitchEquation();
95 
96 protected slots:
97  virtual void validateHitTableType(const DtEntityType&);
98 
99  virtual void plotLineSelected();
100  virtual void addEntityType();
101  virtual void removeEntityType();
102  virtual void editEntityType();
103  virtual void changeHitTableType(const makVrf::DtEntityMapperKey&);
104  virtual void hitTableChoiceChanged();
105  virtual void copyHitTable();
106  virtual void onAssignAsAttacker();
107  virtual void quickAddHitTableEntry();
108 
109 public:
110  QVBoxLayout* myMainLayout;
111  QHBoxLayout* myTopLineLayout;
113  QVBoxLayout* myEntityTypesLayout;
115  QHBoxLayout* myButtonLayout;
116  QVBoxLayout* myTableLayout;
117  QHBoxLayout* myTableButtons;
123  QDoubleValidator* myRangeValidator;
124  QDoubleValidator* myCoefficientValidator;
126  QListWidget* myEntityTypes;
127 
130 
132 
133  QWidget* myButtonLine;
134 
135 protected:
137 
140  QAbstractButton* myGraphDataButton;
142 };
DtRangeProbEntry is an abstract class whose deriving classes will have one of the two forms of DtPrbD...
Definition: rangeProbEntry.h:19
Definition: entityMapperKey.h:19
QLabel * myComboLabel
Definition: uiHitProbabilityConfigurationWidget.h:125
QToolButton * myEditEntityType
Definition: uiHitProbabilityConfigurationWidget.h:121
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.
QRadioButton * myUseHitProbabilityTable
Definition: uiHitProbabilityConfigurationWidget.h:129
QToolButton * myAddEntityType
Definition: uiHitProbabilityConfigurationWidget.h:120
QDoubleValidator * myCoefficientValidator
Definition: uiHitProbabilityConfigurationWidget.h:124
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:236
QListWidget * myEntityTypes
Definition: uiHitProbabilityConfigurationWidget.h:126
QToolButton * myRemoveEntityType
Definition: uiHitProbabilityConfigurationWidget.h:122
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:190
QVBoxLayout * myEntityTypesLayout
Definition: uiHitProbabilityConfigurationWidget.h:113
int mySelectedRange
Definition: uiHitProbabilityConfigurationWidget.h:139
QRadioButton * myUseSimulatedMissileGuidance
Definition: uiHitProbabilityConfigurationWidget.h:128
QAbstractButton * myGraphDataButton
Definition: uiHitProbabilityConfigurationWidget.h:140
QWidget * myEntityTypeButtons
Definition: uiHitProbabilityConfigurationWidget.h:114
QToolButton * myCopyHitTable
Definition: uiHitProbabilityConfigurationWidget.h:118
QHBoxLayout * myTableButtons
Definition: uiHitProbabilityConfigurationWidget.h:117
DtDetectionPrbRangeCalcEntry is the derived form of DtRangeProbEntry that has a DtPrbCoefficientsDete...
Definition: detectionPrbRangeCalcEntry.h:23
QVBoxLayout * myMainLayout
Definition: uiHitProbabilityConfigurationWidget.h:110
bool myHitTableOptional
Definition: uiHitProbabilityConfigurationWidget.h:141
Definition: uiHitProbabilityConfigurationWidget.h:42
QHBoxLayout * myTopLineLayout
Definition: uiHitProbabilityConfigurationWidget.h:111
Description: Readable, Writable DtReal (double)
Definition: rwReal.h:27
virtual void setEnabled(bool)
If this item is not enabled it cannot be modified.
QVBoxLayout * myTableLayout
Definition: uiHitProbabilityConfigurationWidget.h:116
DtString myCurrentlySelected
Definition: uiHitProbabilityConfigurationWidget.h:138
Base class to provide boost signal/slot management.
DtUiGraphDataWidget * myGraphDataWidget
Definition: uiHitProbabilityConfigurationWidget.h:136
QPushButton * myCreateHitTableEntry
Definition: uiHitProbabilityConfigurationWidget.h:131
QWidget * myEntityTypesCanvas
Definition: uiHitProbabilityConfigurationWidget.h:112
QToolButton * myAssignAsAttacker
Definition: uiHitProbabilityConfigurationWidget.h:119
QDoubleValidator * myRangeValidator
Definition: uiHitProbabilityConfigurationWidget.h:123
The DtUiElement class is the base for which all UI elements are defined. If you wish to create a new ...
Definition: uiElement.h:97
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:76
QHBoxLayout * myButtonLayout
Definition: uiHitProbabilityConfigurationWidget.h:115
Definition: uiGraphDataWidget.h:74
DtDetectionPrbRangeLookupEntry is the derived form of DtRangeProbEntry that has a DtPrbStepFunctionDe...
Definition: detectionPrbRangeLookupEntry.h:23
#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:185
QWidget * myButtonLine
Definition: uiHitProbabilityConfigurationWidget.h:133
Widget that will allow the user to select enumerations from pulldowns.
Definition: enumerationSelectionWidget.h:66

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)