VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
powerAndDeterminantDialog.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 
12 #include <vlutil/vlString.h>
14 
15 #include <QtWidgets/QDialog>
16 
17 class QHBoxLayout;
18 class QVBoxLayout;
19 class QGridLayout;
20 class QPushButton;
21 class QLabel;
22 class QLineEdit;
23 class QListWidget;
24 class QRadioButton;
26 class QDoubleValidator;
28 
32 {
33  Q_OBJECT
34 
35 public:
36  DtDeterminant(makVrv::DtDe&, QWidget* parent, const DtPowerRangeDeterminant* = 0);
37  virtual ~DtDeterminant();
38 
39  virtual bool isValid() const = 0;
40  virtual void setLabel(const QString&) {};
41  virtual void setup(const DtString& power) {};
42  virtual DtPowerRangeDeterminant* determinant(const DtString& power) const = 0;
43 
44 signals:
45  void revalidate();
46 
47 public:
48  QVBoxLayout* myLayout;
49 
50 protected:
52  QDoubleValidator* myRangeValidator;
53 };
54 
56 {
57  Q_OBJECT
58 
59 public:
60  DtDirectDeterminant(makVrv::DtDe&, QWidget* parent, const DtPowerRangeDeterminant* = 0);
61  virtual ~DtDirectDeterminant();
62 
63  virtual bool isValid() const;
64  virtual DtPowerRangeDeterminant* determinant(const DtString& power) const;
65 
66 public:
67  QHBoxLayout* myDataLayout;
70 };
71 
73 {
74  Q_OBJECT
75 
76 public:
77  DtRangeListDeterminant(makVrv::DtDe&, QWidget* parent, const DtPowerRangeDeterminant* = 0);
78  virtual ~DtRangeListDeterminant();
79 
80  virtual bool isValid() const;
81  virtual void setLabel(const QString&);
82  virtual void setup(const DtString& power);
83  virtual DtPowerRangeDeterminant* determinant(const DtString& power) const;
84 
85 public:
86  QGridLayout* myDataLayout;
91  QDoubleValidator* myPowerValidator;
92 };
93 
95 {
96  Q_OBJECT
97 
98 public:
101  virtual DtPowerRangeDeterminant* determinant(const DtString& power) const;
102  virtual void setup(const DtString& power);
103 };
104 
106 {
107  Q_OBJECT
108 
109 public:
110  DtEquivalentTNTDeterminant(makVrv::DtDe&, QWidget* parent, const DtPowerRangeDeterminant* = 0);
111  virtual ~DtEquivalentTNTDeterminant();
112 
113  virtual bool isValid() const;
114  virtual DtPowerRangeDeterminant* determinant(const DtString& power) const;
115 
116 public:
117  QHBoxLayout* myDataLayout;
120 };
121 
125 {
126  Q_OBJECT
127 
128 public:
129  DtPowerAndDeterminantDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = Qt::Tool);
130  virtual ~DtPowerAndDeterminantDialog();
131 
132  virtual void init(DtMunitionDetonationPowerEntry* = 0, const DtString& initialPower = "",
133  const DtString& initialDeterminant = "");
134 
135  virtual DtString selectedPower() const;
136  virtual DtString selectedDeterminant() const;
137 
139  virtual DtPowerRangeDeterminant* determinant() const;
140 
141 protected:
142  virtual void selectDeterminant(const DtString&);
143  virtual void selectDeterminantBasedOnCurrentPower();
144  virtual QString determinantsTitle(const DtString& det, const DtString& power) const;
145  virtual DtDeterminant* determinantFor(const DtString&) const;
146  virtual void createDirectDeterminant(const DtPowerRangeDeterminant* = 0);
147  virtual void createRangeListDeterminant(const DtPowerRangeDeterminant* = 0);
148  virtual void createRangeCoefficientDeterminant(const DtPowerRangeDeterminant* = 0);
149  virtual void createEquivalentTNTDeterminant(const DtPowerRangeDeterminant* = 0);
150 
151 protected slots:
152  virtual void powerTypeChanged();
153  virtual void determinantTypeChanged();
154  virtual void updateOKButton();
155 
156 public:
157  QVBoxLayout* myMainLayout;
158  QHBoxLayout* myButtonLayout;
162 
164 
166  QListWidget* myPowers;
167 
170 
173 
174  typedef std::map<DtString, QRadioButton*> DeterminantsButtons;
176 
177  typedef std::map<DtString, DtDeterminant*> Determinants;
179 
180 protected:
184  std::map<DtString, std::map<DtString, QString> > myDeterminantTitles;
185 };
186 
189 {
190 public:
193 
196 
199 
201  static void registerInstance(makVrv::DtDe&, DtPowerAndDeterminantDialogCreator*);
202 
204  virtual DtPowerAndDeterminantDialog* create(QWidget* parent);
205 
206 protected:
208 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)