VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiDetonationParametersConfigurationWidget.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 
11 
12 #include <QtGui/QColor>
13 #include <QtCore/QPointF>
14 #include <QtCore/QVector>
15 
16 class DtPlotPicker;
17 class QwtPlot;
18 class QwtPlotCurve;
19 class QFrame;
20 class QTableWidget;
21 class QPushButton;
22 class QVBoxLayout;
23 class QHBoxLayout;
24 class DtRangeProbEntry;
25 class DtEntityType;
26 class QDoubleValidator;
27 class DtRwReal;
28 class QLabel;
29 class QComboBox;
30 class QLineEdit;
31 class QListWidget;
40 class QListWidgetItem;
41 
43 {
44  Q_OBJECT
45 public:
46 
49 
52 
54 
55  virtual void setEnabled(bool);
56 
57  static QString axisTitle(const DtString&);
58 
59 protected:
60  virtual void detonationPowerChanged();
61  virtual void createControls(QWidget* parent);
62  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
63  virtual void setupFromPowerEntry(DtMunitionDetonationPowerEntry*);
64  virtual void setupPowerDeterminant(DtPowerRangeDeterminant*);
65 
66  virtual void setupPowerDeterminant(DtPowerDirectDeterminant*);
67  virtual void setupGraphDataFor(DtPowerDirectDeterminant*);
68  virtual void updateDataFor(DtPowerDirectDeterminant*, QLineEdit*);
69 
70  virtual void setupPowerDeterminant(DtPowerRangeCoefficientsDeterminant*);
71  virtual void setupGraphDataFor(DtPowerRangeCoefficientsDeterminant*);
72  virtual void removeSelectedColumn(DtPowerRangeCoefficientsDeterminant*);
73  virtual void addRangeTo(DtPowerRangeCoefficientsDeterminant*);
74  virtual void updateDataFor(DtPowerRangeCoefficientsDeterminant*, QLineEdit*);
75 
76  virtual void setupPowerDeterminant(DtPowerRangeEquivalentTntDeterminant*);
77  virtual void setupGraphDataFor(DtPowerRangeEquivalentTntDeterminant*);
78  virtual void updateDataFor(DtPowerRangeEquivalentTntDeterminant*, QLineEdit*);
79  virtual void processUiEvent(const DtUiElementEvent& e);
80 
81  virtual void setupPowerDeterminant(DtPowerRangeListDeterminant*);
82  virtual void setupGraphDataFor(DtPowerRangeListDeterminant*);
83  virtual void removeSelectedColumn(DtPowerRangeListDeterminant*);
84  virtual void addRangeTo(DtPowerRangeListDeterminant*);
85  virtual void updateDataFor(DtPowerRangeListDeterminant*, QLineEdit*);
86  virtual QListWidgetItem* addNewDeterminant(DtPowerRangeDeterminant* prd);
87 
88  virtual void setupPowerDeterminant(DtPowerRangeDeterminantList*);
89 
90  virtual QString currentText() const;
91  virtual DtString currentPower() const;
92  virtual DtString currentDeterminant() const;
93  virtual DtPowerRangeDeterminant* currentPowerDeterminant() const;
94 
95  virtual bool eventFilter(QObject*, QEvent*);
96  virtual void cellEntered(QObject* e);
97 
98  virtual void moveRange();
99  virtual void wheelMove(double delta);
100 
101  virtual DtPowerRangeDeterminant* getPowerAndDeterminant(DtString& power, DtString& determinant) const;
102 
104  virtual double adjustPower(DtPowerRangeDeterminant* prd, double power, bool toDisplay = true) const;
105  virtual double getProbability(double range, DtPowerRangeListDeterminant* entry) const;
106  virtual int changeRangeForColumn(int column, double toRange);
107 
108 protected slots:
109  virtual void sectionDoubleClicked(int);
110  virtual void legendClicked(const QVariant&, int);
111  virtual void selectCurve(const QPointF&);
112  virtual void selectPowerLine();
113  virtual void changeCellValue();
114 
115  virtual void onAddPower();
116  virtual void onRemovePower();
117  virtual void onEditPower();
118 
119  virtual void graphDataSelectionChanged();
120 
121  virtual void addRange();
122  virtual void editRange();
123  virtual void removeRange();
124  virtual void onCopyPower();
125  virtual void onAssignAsAttacker();
126 
127  virtual void updateTabVisibility();
128 
129 public:
130  QwtPlot* myGraph;
131  QWidget* myPowerCanvas;
133  QwtPlotCurve* myPlotLine;
134  QHBoxLayout* myButtonLayout;
135  QVBoxLayout* myPowerListLayout;
141  QDoubleValidator* myRangeValidator;
142  QDoubleValidator* myCoefficientValidator;
144  QListWidget* myPowerList;
146  QHBoxLayout* mySingleLineLayout;
149  QHBoxLayout* myTableButtons;
150  QWidget* myDataCanvas;
151  QVBoxLayout* myDataLayout;
156  QWidget* myButtonLine;
157 
158  static QColor thePlotLineColor;
159 
160 protected:
165  std::vector<int> myRangeColumns;
166 };

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)