VR-Exchange 2.2 API Documentation
pInteractionViewComponent.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2013 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <portal/pFireInter.h>
14 #include <portal/pGenericInter.h>
16 #include <portal/pCollisionInter.h>
17 #include <portal/pCommentInter.h>
19 #include <portal/pStartInter.h>
20 #include <portal/pStopInter.h>
22 #include <portal/pDataInter.h>
23 #include <portal/pDataQueryInter.h>
24 #include <portal/pSetDataInter.h>
31 
32 #include <QtGui/QTreeWidget>
33 #include <QtGui/QGroupBox>
34 #include <QtCore/QObject>
35 #include <QtCore/QPoint>
36 
37 #include <vlutil/vlTime.h>
38 
39 #include <vector>
40 #include <list>
41 #include <map>
42 
43 class QTimer;
44 class QMenu;
45 class QHeaderView;
46 
47 namespace MAKVrExchange
48 {
49 
50  class DtPortalAppGui;
51 
56  class DT_DLL_LIBPORTALAPP DtInteractionViewComponent : public QWidget
57  { Q_OBJECT;
58  public:
59 
61  enum
62  {
63  TranslatorField = 0,
64  PublisherField = 1,
65  TimeReceivedField = 2,
66  DescriptionField = 3
67  };
68 
69  protected:
70 
71  typedef std::list<QTreeWidgetItem *> QTreeWidgetItemList;
72  typedef std::map<DtPortalMessageKind, DtU32> MessageKindToIntegerMap;
73  typedef std::map<DtPortalMessageKind, QTreeWidgetItem*> MessageKindToListViewItemMap;
74  typedef std::map<DtPortalMessageKind, QTreeWidgetItemList*> MessageKindToListViewItemListMap;
75 
76  public:
77 
79  static DtInteractionViewComponent* create( DtPortalConnection* pConn,
80  QWidget* parent );
81 
84 
86  virtual ~DtInteractionViewComponent();
87 
89  virtual void clearInteractionList();
90 
92  virtual void resetStatistics();
93 
96  virtual void setMaxInteractionsToDisplay( int val );
97 
99  virtual void processInteraction( const DtPortalInteraction& inter,
100  const DtString& description );
101 
103  virtual void toggleShowInteractions( bool show );
104 
107  virtual const QTreeWidget* treeWidget() const;
108 
111  virtual QTreeWidget* treeWidget();
112 
113  protected slots:
114 
117  virtual void displayStatistics();
118 
122  virtual void interactionHeaderPopupMenuPressed( QAction* action );
123 
124 
125  protected:
126 
130  virtual void resizeEvent( QResizeEvent* event );
131 
142  bool eventFilter( QObject* target, QEvent* event );
143 
151  virtual void interactionHeaderRightButtonPressedEventHandler( const QPoint& point );
152 
155  virtual void truncateList( QTreeWidgetItemList *lst );
156 
158  virtual QTreeWidgetItem* findQtGroupItem(const DtPortalInteraction &inter);
159  virtual QTreeWidgetItemList* findQtGroupList(const DtPortalInteraction &inter);
160 
162  virtual QString headerLabel( const QHeaderView* header, int section );
163 
164  protected:
165 
166  static void fireCb(const DtPortalFireInteraction &inter, void *userData);
167  static void genericCb(const DtPortalGenericInteraction &inter, void *userData);
168  static void detonationCb(const DtPortalDetonationInteraction &inter, void *userData);
169  static void acknowledgeCallback( const DtPortalAcknowledgeInteraction &interaction, void *userData );
170  static void collisionCallback( const DtPortalCollisionInteraction &interaction, void *userData );
171  static void commentCallback( const DtPortalCommentInteraction &interaction, void *userData );
172  static void eventReportCallback( const DtPortalEventReportInteraction &interaction, void *userData );
173  static void startCallback( const DtPortalStartInteraction &interaction, void *userData );
174  static void stopCallback( const DtPortalStopInteraction &interaction, void *userData );
175  static void radioSignalCallback( const DtPortalRadioSignalInteraction& interaction, void* userData );
176  static void dataCallback( const DtPortalDataInteraction& interaction, void* userData );
177  static void dataQueryCallback( const DtPortalDataQueryInteraction& interaction, void* userData );
178  static void setDataCallback( const DtPortalSetDataInteraction& interaction, void* userData );
179  static void createEntityCallback( const DtPortalCreateEntityInteraction& interaction, void* userData );
180  static void removeEntityCallback( const DtPortalRemoveEntityInteraction& interaction, void* userData );
181  static void actionRequestCallback( const DtPortalActionRequestInteraction& interaction, void* userData );
182  static void actionResponseCallback( const DtPortalActionResponseInteraction& interaction, void* userData );
183  static void viewControlCallback( const DtPortalViewControlInteraction& interaction, void* userData );
184  static void damageAssessmentCb(const DtPortalDamageAssessmentInteraction &inter, void *userData);
185 
186  private:
187 
190 
193 
194  protected:
195 
196  enum
197  {
198  ClearInteractions = 1
199  } InteractionPopupMenuPosition;
200 
201  protected:
202 
206 
208 
215  std::vector<int> myListViewColumnSize;
216 
217  };
218 
219 }

Document ID: Generated on Mon Apr 15 17:15:50 EDT 2013 from SVN revision 126154
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)