VR-Exchange 2.4 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
pInteractionViewComponent.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portalApp/dllExport.h>
13 
14 #include <portal/pFireInter.h>
16 #include <portal/pGenericInter.h>
18 #include <portal/pCollisionInter.h>
19 #include <portal/pCommentInter.h>
21 #include <portal/pStartInter.h>
22 #include <portal/pStopInter.h>
24 #include <portal/pDataInter.h>
25 #include <portal/pDataQueryInter.h>
26 #include <portal/pSetDataInter.h>
33 
34 #include <QtGui/QTreeWidget>
35 #include <QtGui/QGroupBox>
36 #include <QtCore/QObject>
37 #include <QtCore/QPoint>
38 
39 #include <vlutil/vlTime.h>
40 
41 #include <vector>
42 #include <list>
43 #include <map>
44 
45 class QTimer;
46 class QMenu;
47 class QHeaderView;
48 
49 namespace MAKVrExchange
50 {
51 
52  class DtPortalAppGui;
53  class DtColumnSelectionContextMenu;
54 
60  { Q_OBJECT;
61  public:
62 
64  enum
65  {
66  TranslatorField = 0,
67  PublisherField = 1,
68  TimeReceivedField = 2,
69  DescriptionField = 3
70  };
71 
72  protected:
73 
74  typedef std::list<QTreeWidgetItem *> QTreeWidgetItemList;
75  typedef std::map<DtPortalMessageKind, DtU32> MessageKindToIntegerMap;
76  typedef std::map<DtPortalMessageKind, QTreeWidgetItem*> MessageKindToListViewItemMap;
77  typedef std::map<DtPortalMessageKind, QTreeWidgetItemList*> MessageKindToListViewItemListMap;
78 
79  public:
80 
82  static DtInteractionViewComponent* create( DtPortalConnection* pConn,
83  QWidget* parent );
84 
87 
89  virtual ~DtInteractionViewComponent();
90 
92  virtual void clearInteractionList();
93 
95  virtual void resetStatistics();
96 
99  virtual void setMaxInteractionsToDisplay( int val );
100 
102  virtual void processInteraction( const DtPortalInteraction& inter,
103  const DtString& description );
104 
106  virtual void toggleShowInteractions( bool show );
107 
110  virtual const QTreeWidget* treeWidget() const;
111 
114  virtual QTreeWidget* treeWidget();
115 
116  protected slots:
117 
120  virtual void displayStatistics();
121 
122  protected:
123 
127  virtual void resizeEvent( QResizeEvent* event );
128 
139  bool eventFilter( QObject* target, QEvent* event );
140 
142  virtual void interactionHeaderRightButtonPressedCallback( const QPoint& point );
143 
145  virtual void interactionRightButtonPressedCallback( const QPoint& point );
146 
149  virtual void truncateList( QTreeWidgetItemList *lst );
150 
152  virtual QTreeWidgetItem* findQtGroupItem(const DtPortalInteraction &inter);
153  virtual QTreeWidgetItemList* findQtGroupList(const DtPortalInteraction &inter);
154 
156  virtual QString headerLabel( const QHeaderView* header, int section );
157 
158  protected:
159 
160  static void fireCb(const DtPortalFireInteraction &inter, void *userData);
161  static void genericCb(const DtPortalGenericInteraction &inter, void *userData);
162  static void detonationCb(const DtPortalDetonationInteraction &inter, void *userData);
163  static void acknowledgeCallback( const DtPortalAcknowledgeInteraction &interaction, void *userData );
164  static void collisionCallback( const DtPortalCollisionInteraction &interaction, void *userData );
165  static void commentCallback( const DtPortalCommentInteraction &interaction, void *userData );
166  static void eventReportCallback( const DtPortalEventReportInteraction &interaction, void *userData );
167  static void startCallback( const DtPortalStartInteraction &interaction, void *userData );
168  static void stopCallback( const DtPortalStopInteraction &interaction, void *userData );
169  static void radioSignalCallback( const DtPortalRadioSignalInteraction& interaction, void* userData );
170  static void dataCallback( const DtPortalDataInteraction& interaction, void* userData );
171  static void dataQueryCallback( const DtPortalDataQueryInteraction& interaction, void* userData );
172  static void setDataCallback( const DtPortalSetDataInteraction& interaction, void* userData );
173  static void createEntityCallback( const DtPortalCreateEntityInteraction& interaction, void* userData );
174  static void removeEntityCallback( const DtPortalRemoveEntityInteraction& interaction, void* userData );
175  static void actionRequestCallback( const DtPortalActionRequestInteraction& interaction, void* userData );
176  static void actionResponseCallback( const DtPortalActionResponseInteraction& interaction, void* userData );
177  static void viewControlCallback( const DtPortalViewControlInteraction& interaction, void* userData );
178  static void damageAssessmentCb(const DtPortalDamageAssessmentInteraction &inter, void *userData);
179 
180  private:
181 
184 
186  DtInteractionViewComponent& operator = ( const DtInteractionViewComponent& orig );
187 
188  protected:
189 
190  enum
191  {
192  ClearInteractions = 1
193  } InteractionPopupMenuPosition;
194 
195  protected:
196 
200 
202 
212  std::vector<int> myListViewColumnSize;
213 
214  };
215 
216 }

Document ID: Generated on Thu Jul 23 10:25:22 EDT 2015 from SVN revision 155065
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)