VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
uiAvailableAmmunition.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 QTableWidget;
12 class QGridLayout;
13 class QToolButton;
14 class QLabel;
15 class QLineEdit;
16 class QCheckBox;
17 class QPushButton;
18 class QHBoxLayout;
19 class QIntValidator;
20 class QVBoxLayout;
21 class QListWidget;
22 class DtRwEntityTypeList;
25 class QTreeWidget;
27 
28 namespace makVrf
29 {
30  class DtEntityMapperKey;
31 }
32 
34 {
35  Q_OBJECT
36 
37 public:
38 
41 
43  virtual ~DtUiAvailableAmmunition() override;
44 
46 
47  virtual bool hasAmmunition(const DtEntityType&) const;
48 
49 protected:
50  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw) override;
51  virtual void setFromParameters(const std::vector<DtComponentSystemDefinition*>& parentRw) override;
52  virtual void createControls(QWidget* parent) override;
53  virtual void createAmmunitionCanvas();
54 
55  virtual void addEntriesToList(const DtRwEntityTypeList&, QListWidget*);
56  virtual void processUiEvent(const DtUiElementEvent& evt) override;
57  virtual void addNewAmmunition(const DtEntityType& ammo);
58  virtual DtAmmunitionListEntry* currentlySelectedEntry() const;
59  virtual void addNewAmmunitionEntryToTable(DtAmmunitionListEntry*);
60  virtual void cellEntered(QObject* e);
61  virtual bool eventFilter(QObject*, QEvent*) override;
62  virtual bool addNonCreatableAmmunition(const DtEntityType& checkType = DtEntityType(), const DtEntityType& initiallySelect = DtEntityType());
63  virtual bool addCreatableAmmunition(const DtEntityType& checkType = DtEntityType(), const DtEntityType& initiallySelect = DtEntityType());
64  virtual void addNewAmmunition(DtAmmunitionParamsEntry* params);
65  virtual void clearAmmunitionTable();
66  virtual void setEnabled(bool b) override;
67  virtual void addAmmunition(const DtEntityType&);
68  virtual void removeAmmunition(const DtString&);
69  virtual void removeAmmunition(DtAmmunitionListEntry*);
70  virtual void decorateElement() override;
71 
72  virtual void creatableSelectionChanged(QTreeWidget*, QPushButton*);
73 
74 protected slots:
75  virtual void ammoSelected();
76  virtual void removeAmmunition();
77  virtual void defaultValueChanged();
78  virtual void editAmmunition();
79  virtual void addAmmunition();
80  virtual void replaceAmmunition();
81 
83  virtual bool addNewAmmunitionEntry();
84  virtual void ammoSelectionChanged();
85  virtual void addNewCreatableFromExisting();
86 
87 public:
90  QHBoxLayout* myButtonLayout;
97  QIntValidator* myDefaultValidator;
98 
99 protected:
102  std::map<DtReaderWriter*, DtTargetingControlTable*> myInteralToExternalTargetingControlTable;
103 };
bool mySuccessfulAdd
Definition: uiAvailableAmmunition.h:101
bool myHasNoAmmunition
Definition: uiAvailableAmmunition.h:100
Definition: ammunitionListEntry.h:21
std::map< DtReaderWriter *, DtTargetingControlTable * > myInteralToExternalTargetingControlTable
Definition: uiAvailableAmmunition.h:102
QLabel * myAmmunitionLabel
Definition: uiAvailableAmmunition.h:91
QVBoxLayout * myAmmunitionCanvasLayout
Definition: uiAvailableAmmunition.h:89
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.
virtual void processUiEvent(const DtUiElementEvent &)
Process ui event. Default does nothing.
Definition: uiElement.h:236
QToolButton * myEditAmmunitionButton
Definition: uiAvailableAmmunition.h:96
class DtRwEntityTypeList:
Definition: rwEntityTypeList.h:23
boost::function< DtUiElement *(makVrv::DtDe &)> CreatorFunction
Definition: uiElement.h:190
QIntValidator * myDefaultValidator
Definition: uiAvailableAmmunition.h:97
virtual void decorateElement()
Sets element decoration depending on the isModified state of the element. This version changes myLabe...
QToolButton * myAddAmmunitionButton
Definition: uiAvailableAmmunition.h:93
QToolButton * myReplaceAmmunitionButton
Definition: uiAvailableAmmunition.h:95
QTableWidget * myAmmunition
Definition: uiAvailableAmmunition.h:92
Definition: uiAvailableAmmunition.h:33
Definition: ammunitionParamsEntry.h:24
virtual void setEnabled(bool)
If this item is not enabled it cannot be modified.
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
QWidget * myAmmunitionCanvas
Definition: uiAvailableAmmunition.h:88
QHBoxLayout * myButtonLayout
Definition: uiAvailableAmmunition.h:90
Definition: targetingControlTable.h:19
#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
QToolButton * myRemoveAmmunitionButton
Definition: uiAvailableAmmunition.h:94

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)