VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aggregateEngagementsPageLogic.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
16 #include <QStandardItemModel>
18 
19 class QWidget;
20 class QLabel;
21 
22 namespace makVrf
23 {
24  class DtNetworkMessageInterface;
25 
26  namespace makVrfGuiObjectInformationQt
27  {
28 
30  {
31  public:
33 
35 
37  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
38 
39  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
40 
41  int engagements() const
42  {
43  return myEngagements;
44  }
45 
46  int defenses() const
47  {
48  return myDefenses;
49  }
50 
51  protected:
52  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
53  virtual void setupInteractions(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
54  virtual void parameterDataUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
55  virtual bool isMe(const DtUUID& influencer) const;
56  virtual void slot_onStateViewAboutToBeRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& state);
57  virtual void nameChanged(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
58 
59  virtual void clear(QStandardItemModel*);
60  virtual QList<QStandardItem*> findMatchingItems(QStandardItemModel*, const DtUUID&, int column) const;
61  virtual void renameMatchingItems(QStandardItemModel*, const DtUUID&, int column) const;
62 
64  virtual void processInfluenceMessageCallback(DtNetworkMessageInterface* i);
65 
67  virtual void updateEngagement(QStandardItemModel* model,
68  const DtUUID& enemy, const DtUUID& attacker, const QString& type, int strength, bool isAttack);
69 
71  virtual void removeEngagement(QStandardItemModel* model,
72  const DtUUID& enemy, const DtUUID& attacker, const QString& type, bool isAttack);
73 
74  protected:
75 
77  {
80  std::string attackType;
81 
82  bool operator<(const AttackIdentifier& rhs) const
83  {
84  return (attackerId < rhs.attackerId ||
85  (attackerId == rhs.attackerId && targetId < rhs.targetId) ||
86  (attackerId == rhs.attackerId && targetId == rhs.targetId && attackType < rhs.attackType));
87  }
88  };
89  typedef std::map<AttackIdentifier, double> AttackExpirations;
90 
93 
94  public:
100 
101  protected:
105 
106  std::set<QString> myTypes;
107 
108  typedef std::map<QString, bool> EngagementsMap;
110  };
111 
113  {
114  public:
116  : DtInfoIconItem(de)
117  , myOwnsLogic(false)
118  , myAggLogic(0)
119  {
120  myFixedItemWidth = 20;
121  }
122 
124  : DtInfoIconItem(l)
125  , myOwnsLogic(false)
126  {
127  myAggLogic = dynamic_cast<DtAggregateEngagementsPageLogic*>(l);
128  myFixedItemWidth = 20;
129  }
130 
132 
133  static std::string creatorName();
134  virtual bool shouldBeHidden() const;
135 
136  virtual bool needsPageLogicForWidgetRepresentation() const;
137 
138  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
139 
140  virtual void setLogic(DtInformationDialogPageLogic* l);
141 
142  protected:
143  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
145  virtual bool eventFilter(QObject*, QEvent*);
146  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
147 
148  protected:
151  };
153  }
154 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
std::map< QString, bool > EngagementsMap
Definition: aggregateEngagementsPageLogic.h:108
std::string attackType
Definition: aggregateEngagementsPageLogic.h:80
bool myOwnsLogic
Definition: aggregateEngagementsPageLogic.h:149
Definition: networkMessageInterface.h:28
int defenses() const
Definition: aggregateEngagementsPageLogic.h:46
std::set< QString > myTypes
Definition: aggregateEngagementsPageLogic.h:106
int myEngagements
Definition: aggregateEngagementsPageLogic.h:102
AttackExpirations myAttackExpirations
Definition: aggregateEngagementsPageLogic.h:91
Contains makVrv::DtAggregateInformationPageLogic class.
makVrv::DtSignalConnectionManager myConnectionManager
Definition: aggregateEngagementsPageLogic.h:104
DtShadedWidget * myDefendingCanvas
Definition: aggregateEngagementsPageLogic.h:98
DtItemUpdateFunctionCreator< DtAggregateEngagementsPageItem > DtAggregateEngagementsPageItemCreator
Definition: aggregateEngagementsPageLogic.h:152
DtAggregateEngagementsPageLogic * myAggLogic
Definition: aggregateEngagementsPageLogic.h:150
bool operator<(const AttackIdentifier &rhs) const
Definition: aggregateEngagementsPageLogic.h:82
Definition: informationDialogPage.h:203
bool myNeedsAttritionUpdate
Definition: aggregateEngagementsPageLogic.h:92
QLabel * myAttacking
Definition: aggregateEngagementsPageLogic.h:97
Definition: aggregateEngagementsPageLogic.h:29
Contains makVrv::DtAggregateInformationPageItems class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtAggregateEngagementsPageItem(DtInformationDialogPageLogic *l)
Definition: aggregateEngagementsPageLogic.h:123
DtAggregateEngagementsPageItem(makVrv::DtDe &de)
Definition: aggregateEngagementsPageLogic.h:115
DtShadedWidget * myAttackingCanvas
Definition: aggregateEngagementsPageLogic.h:96
std::map< AttackIdentifier, double > AttackExpirations
Definition: aggregateEngagementsPageLogic.h:89
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:25
Definition: aggregateEngagementsPageLogic.h:112
int engagements() const
Definition: aggregateEngagementsPageLogic.h:41
QLabel * myDefending
Definition: aggregateEngagementsPageLogic.h:99
Definition: translator.h:58
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
EngagementsMap myEngagementsMap
Definition: aggregateEngagementsPageLogic.h:109
QWidget * myWidgetRepresentation
Definition: aggregateEngagementsPageLogic.h:95
Items added DtAggregateInfoAggregateId DtAggregateInfoGlobalAggregateId DtAggregateInfoAggregateType ...
Definition: aggregateInformationPageLogic.h:39
Definition: informationDialogPage.h:68
int myDefenses
Definition: aggregateEngagementsPageLogic.h:103

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)