VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
quickAddHitTableEntry.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
15 #endif
16 
17 #include <QtWidgets/QDialog>
18 
19 class QHBoxLayout;
20 class QVBoxLayout;
21 class QPushButton;
23 class QLabel;
24 class QGridLayout;
25 class QLineEdit;
26 class QRadioButton;
27 class QListWidget;
30 
31 namespace makVrf
32 {
33  class DtEnumerationSelectionWidget;
34 }
35 
37 {
38  Q_OBJECT
39 
40 public:
41  DtQuickAddHitTableEntry(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
42  virtual ~DtQuickAddHitTableEntry();
43 
44  virtual void setHitTableOptional(bool);
45 
46  virtual void setHitTableEntryAllowed(bool);
47  virtual bool addToHitTable() const;
48 
49  virtual void setCreatableAmmunitionOnly(bool);
50  virtual void setSupportsController(const QString&);
51  const QString& supportsController() const
52  {
53  return mySupportsController;
54  }
55 
56  virtual void setSystem(DtComponentSystemDefinition*);
57  virtual bool hasAmmunition(const DtAmmunitionParamsEntry*) const;
58 
59  virtual DtObjectType targetType() const;
60 
62  {
63  return myCreatableOnly;
64  }
65 
68  virtual DtString selectedAmmunition() const;
69 
71  virtual double maximumRange() const;
72 
74  virtual double hitChanceAtMaximumRange() const;
75 
76  virtual bool hasSelectedAmmunition() const;
77  virtual bool selectedAmmunitionCanTarget() const;
78 
79 protected:
80  void setupHitSection();
81  void setupAmmoSection();
82  void setupRangeSection();
83  void addFiredAmmunition();
84 
85  virtual void updateAmmunition();
86  virtual void addCreatableFromExisting();
87  virtual void addAmmunitionFromExisting();
88 
89 protected slots:
90  virtual void targetTypeChanged(const DtObjectType&);
91  virtual void selectSpecificType();
92  virtual void updateOKButton();
93  virtual void hitTableChoiceChanged();
94  virtual void acceptIfValid();
95  virtual void onAddNewFromExisting();
96 
97 public:
99  QVBoxLayout* myHitSectionLayout;
102 
103  QVBoxLayout* myRangeSectionLayout;
107 
108  QGridLayout* myRangeLayout;
111 
114 
115  QHBoxLayout* myButtonLayout;
116  QVBoxLayout* myMainLayout;
120 
121  QVBoxLayout* myAmmoSectionLayout;
123  QListWidget* myFiredAmmunition;
125 
126 protected:
132 };
133 
136 {
137 public:
140 
143 
145  static DtQuickAddHitTableEntryCreator& instance(makVrv::DtDe&);
146 
148  static void registerInstance(makVrv::DtDe&, DtQuickAddHitTableEntryCreator*);
149 
151  virtual DtQuickAddHitTableEntry* create(QWidget* parent);
152 
153 protected:
155 };
QGridLayout * myRangeLayout
Definition: quickAddHitTableEntry.h:108
QRadioButton * myUseSimulatedMissileGuidance
Definition: quickAddHitTableEntry.h:105
Virtual base class.
Definition: DtVirtualBaseClass.h:19
QLineEdit * myMaximumRange
Definition: quickAddHitTableEntry.h:110
QPushButton * myAddExistingButton
Definition: quickAddHitTableEntry.h:118
QRadioButton * myUseHitProbabilityTable
Definition: quickAddHitTableEntry.h:106
Definition: quickAddHitTableEntry.h:36
QLabel * myHitChanceLabel
Definition: quickAddHitTableEntry.h:112
QPushButton * mySelectSpecificType
Definition: quickAddHitTableEntry.h:101
QHBoxLayout * myButtonLayout
Definition: quickAddHitTableEntry.h:115
std::map< const DtComponentSystemDefinition *, std::pair< const DtTargetingControlTable *, const DtRangeProbabilityTable * > > TargetingControlAndRangeTables
Returns the targeting control and range tables.
Definition: simulationModelSetLoader.h:901
QPushButton * myCancelButton
Definition: quickAddHitTableEntry.h:119
Definition: objectType.h:27
bool onlyCreatableAmmunition() const
Definition: quickAddHitTableEntry.h:61
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
QPushButton * myOKButton
Definition: quickAddHitTableEntry.h:117
Contains makVrv::DtVirtualBaseClass class.
QLineEdit * myHitChance
Definition: quickAddHitTableEntry.h:113
DtSimulationObjectEditorList * myCreatableAmmunition
Definition: quickAddHitTableEntry.h:124
QVBoxLayout * myMainLayout
Definition: quickAddHitTableEntry.h:116
QVBoxLayout * myAmmoSectionLayout
Definition: quickAddHitTableEntry.h:121
QLabel * myMaximumRangeLabel
Definition: quickAddHitTableEntry.h:109
QString mySupportsController
Definition: quickAddHitTableEntry.h:131
Creator for the dialog.
Definition: quickAddHitTableEntry.h:135
DtAmmunitionParamsEntry; descriptor that represents members of a DtAmmunitionParams.
Definition: ammunitionParamsEntry.h:20
bool myCreatableOnly
Definition: quickAddHitTableEntry.h:127
const QString & supportsController() const
Definition: quickAddHitTableEntry.h:51
QListWidget * myFiredAmmunition
Definition: quickAddHitTableEntry.h:123
QLabel * myHitSectionHeader
Definition: quickAddHitTableEntry.h:98
makVrv::DtDe & myDe
Definition: quickAddHitTableEntry.h:154
DtComponentSystemDefinition * mySystem
Definition: quickAddHitTableEntry.h:129
QLabel * myRangeSectionHeader
Definition: quickAddHitTableEntry.h:104
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QVBoxLayout * myHitSectionLayout
Definition: quickAddHitTableEntry.h:99
makVrf::DtEnumerationSelectionWidget * mySelectionWidget
Definition: quickAddHitTableEntry.h:100
Definition: simulationObjectEditorList.h:157
QLabel * myAmmoSelectionHeader
Definition: quickAddHitTableEntry.h:122
QVBoxLayout * myRangeSectionLayout
Definition: quickAddHitTableEntry.h:103
#define DT_DLL_simulationObjectEditorimpl
This file is used to determine how to build.
Definition: simulationObjectEditorImplDefines.h:32
DtSimulationModelSetLoader::TargetingControlAndRangeTables myTables
Definition: quickAddHitTableEntry.h:130
makVrv::DtDe & myDe
Definition: quickAddHitTableEntry.h:128
Widget that will allow the user to select enumerations from pulldowns.
Definition: enumerationSelectionWidget.h:67

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)