VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
15 #include <vrfutil/rwProperties.h>
16 #include <QStandardItemModel>
17 
18 class QWidget;
19 class QLabel;
20 
21 namespace makVrf
22 {
23  class DtNetworkMessageInterface;
24 
25  namespace makVrfGuiObjectInformationQt
26  {
27 
29  {
30  public:
32 
34 
36  virtual void activate(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
37 
38  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
39 
40  int engagements() const
41  {
42  return myEngagements;
43  }
44 
45  int defenses() const
46  {
47  return myDefenses;
48  }
49 
50  protected:
51  virtual void slot_onStateViewUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s);
52  virtual void setupInteractions(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
53  virtual void parameterDataUpdated(makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
54  virtual bool isMe(const std::string& influencer) const;
55  virtual void slot_onStateViewAboutToBeRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>& state);
56 
57  virtual void clear(QStandardItemModel*);
58 
60  virtual void processInfluenceMessageCallback(DtNetworkMessageInterface* i);
61 
63  virtual void updateEngagement(QStandardItemModel* model,
64  const QString& enemy, const QString& attacker, const QString& type, int strength, bool isAttack);
65 
67  virtual void removeEngagement(QStandardItemModel* model,
68  const QString& enemy, const QString& attacker, const QString& type, bool isAttack);
69 
70  protected:
71 
73  {
74  std::string attackerId;
75  std::string targetId;
76  std::string attackType;
77 
78  bool operator<(const AttackIdentifier& rhs) const
79  {
80  return (attackerId < rhs.attackerId ||
81  (attackerId == rhs.attackerId && targetId < rhs.targetId) ||
82  (attackerId == rhs.attackerId && targetId == rhs.targetId && attackType < rhs.attackType));
83  }
84  };
85  typedef std::map<AttackIdentifier, double> AttackExpirations;
86 
89 
90  public:
96 
97  protected:
100 
101  std::set<QString> myTypes;
102 
103  typedef std::map<QString, bool> EngagementsMap;
105  };
106 
108  {
109  public:
111  : DtInfoIconItem(de)
112  , myOwnsLogic(false)
113  , myAggLogic(0)
114  {
115  myFixedItemWidth = 20;
116  }
117 
119  : DtInfoIconItem(l)
120  , myOwnsLogic(false)
121  {
122  myAggLogic = dynamic_cast<DtAggregateEngagementsPageLogic*>(l);
123  myFixedItemWidth = 20;
124  }
125 
127 
128  static std::string creatorName();
129  virtual bool shouldBeHidden() const;
130 
131  virtual bool needsPageLogicForWidgetRepresentation() const;
132 
133  virtual QWidget* widgetRepresentation(QWidget* parent, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
134 
135  virtual void setLogic(DtInformationDialogPageLogic* l);
136 
137  protected:
138  virtual QVariant value(int col, int role, const QTreeWidgetItem*,
140  virtual bool eventFilter(QObject*, QEvent*);
141  virtual bool valueNeedsUpdate(int col, makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
142 
143  protected:
146  };
148  }
149 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)