VR-Forces 4.6 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 
15 #include <vrfutil/rwProperties.h>
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 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)