VR-Exchange 2.1 API Documentation
pInteractionViewComponent.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 1992-2010 VT MAK
3  *********************************************************************/
4 #pragma once
5 
9 
10 
11 #include <vlutil/vlTime.h>
12 #include <portal/pFireInter.h>
14 #include <portal/pGenericInter.h>
15 #include <portal/pAcknowledgeInter.h> //DtPortalAcknowledgeInteraction
16 #include <portal/pCollisionInter.h> //DtPortalCollisionInteraction
17 #include <portal/pCommentInter.h> //DtPortalCommentInteraction
18 #include <portal/pEventReportInter.h> //DtPortalEventReportInteraction
19 #include <portal/pStartInter.h> //DtPortalStartInteraction
20 #include <portal/pStopInter.h> //DtPortalStopInteraction
21 #include <portal/pRadioSignalInter.h> //DtPortalRadioSignalInteraction
22 #include <portal/pDataInter.h> //DtPortalDataInteraction
23 #include <portal/pDataQueryInter.h> //DtPortalDataQueryInteraction
24 #include <portal/pSetDataInter.h> //DtPortalSetDataInteraction
25 #include <portal/pCreateEntityInter.h> //DtPortalCreateEntityInteraction
26 #include <portal/pRemoveEntityInter.h> //DtPortalRemoveEntityInteraction
30 
31 
32 #include <list>
33 #include <map>
34 #include <vector>
35 
36 #include <QtCore/QObject>
37 #include <QtCore/QPoint>
38 #include <QtGui/QTreeWidget>
39 #include <QtGui/QGroupBox>
40 
41 class QTimer;
42 class QMenu;
43 class QHeaderView;
44 
45 namespace MAKVrExchange
46 {
47 
48  class DtPortalAppGui;
49 
55  {
56 
57  Q_OBJECT
58 
59  public:
60 
62  enum
63  {
64  TranslatorField = 0,
65  PublisherField = 1,
66  TimeReceivedField = 2,
67  DescriptionField = 3
68  };
69 
72 
74  virtual ~DtInteractionViewComponent();
75 
77  virtual QWidget* getGuiFrame();
78 
79  private:
82 
85 
86  public:
87 
89  virtual void clearInteractionList();
90 
92  virtual void resetStatistics();
93 
96  virtual void setMaxInteractionsToDisplay(int val);
97 
99  virtual void processInteraction(
100  const DtPortalInteraction &inter, const DtString& description);
101 
103  virtual void toggleShowInteractions(bool show);
104 
105  public:
106 
107  static DtInteractionViewComponent* create(
108  DtPortalConnection *pConn, QWidget *parent);
109 
110  protected:
111 
112  enum
113  {
114  ClearInteractions = 1
115  } InteractionPopupMenuPosition;
116 
117  typedef std::list<QTreeWidgetItem *> QTreeWidgetItemList;
118  typedef std::map<DtPortalMessageKind, DtU32> MessageKindToIntegerMap;
119  typedef std::map<DtPortalMessageKind, QTreeWidgetItem*> MessageKindToListViewItemMap;
120  typedef std::map<DtPortalMessageKind, QTreeWidgetItemList*> MessageKindToListViewItemListMap;
121 
122  protected slots:
123 
126  virtual void displayStatistics();
127 
131  virtual void interactionHeaderPopupMenuPressed( QAction* action );
132 
133 
134  protected:
135 
143  virtual void interactionHeaderRightButtonPressedEventHandler( const QPoint& point );
144 
155  bool eventFilter( QObject* target, QEvent* event );
156 
159  virtual void truncateList( QTreeWidgetItemList *lst);
160 
162  virtual QTreeWidgetItem *findQtGroupItem(const DtPortalInteraction &inter);
163  virtual QTreeWidgetItemList * findQtGroupList(const DtPortalInteraction &inter);
164 
166  virtual QString headerLabel(const QHeaderView *header, int section);
167 
168  protected:
169 
170  static void fireCb(const DtPortalFireInteraction &inter, void *userData);
171  static void genericCb(const DtPortalGenericInteraction &inter, void *userData);
172  static void detonationCb(const DtPortalDetonationInteraction &inter, void *userData);
173  static void acknowledgeCallback( const DtPortalAcknowledgeInteraction &interaction, void *userData );
174  static void collisionCallback( const DtPortalCollisionInteraction &interaction, void *userData );
175  static void commentCallback( const DtPortalCommentInteraction &interaction, void *userData );
176  static void eventReportCallback( const DtPortalEventReportInteraction &interaction, void *userData );
177  static void startCallback( const DtPortalStartInteraction &interaction, void *userData );
178  static void stopCallback( const DtPortalStopInteraction &interaction, void *userData );
179  static void radioSignalCallback( const DtPortalRadioSignalInteraction& interaction, void* userData );
180  static void dataCallback( const DtPortalDataInteraction& interaction, void* userData );
181  static void dataQueryCallback( const DtPortalDataQueryInteraction& interaction, void* userData );
182  static void setDataCallback( const DtPortalSetDataInteraction& interaction, void* userData );
183  static void createEntityCallback( const DtPortalCreateEntityInteraction& interaction, void* userData );
184  static void removeEntityCallback( const DtPortalRemoveEntityInteraction& interaction, void* userData );
185  static void actionRequestCallback( const DtPortalActionRequestInteraction& interaction, void* userData );
186  static void actionResponseCallback( const DtPortalActionResponseInteraction& interaction, void* userData );
187  static void viewControlCallback( const DtPortalViewControlInteraction& interaction, void* userData );
188 
189  protected:
190 
194 
195  QGroupBox *myGroupBox;
196  QTimer *myStatsTimer;
197 
204  std::vector<int> myListViewColumnSize;
205 
206 
207  };
208 
209 }
210 

Document ID: Generated on Tue Aug 7 22:07:13 EDT 2012 from SVN revision 117874
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)