VR-Exchange 2.2 API Documentation
tenaBroker/libTenaBroker/brokerDialog.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2012 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #ifdef _WIN32
13 // The TENA Middleware requires an expanded FD_SETSIZE; let ACE #define it
14 // before <WinSock2.h> is #included as a side effect of one of the MFC headers
15 #include <ACE/config.h>
16 #include <WinSock2.h>
17 #endif
18 
19 #include <broker/dialogPager.h>
20 #include <broker/ui_genericListView.h>
21 
22 #include "tenaBrokerInitializer.h"
23 
24 #include <portal/pControlMessage.h>
25 
26 #include <map>
27 
28 class QHBoxLayout;
29 class QListBoxItem;
30 class QTreeWidgetItem;
31 
32 namespace MAKVrExchange
33 {
34 
35  class DtDialogPage;
36  class DtFilterDialog;
37  class DtObjectFilter;
38  class DtTranslatorDialog;
39  class DtObjectContextMenu;
40 
41  namespace DtTenaBroker
42  {
43 
44  class DtTenaBroker;
45  class DtTranslator;
46  class DtBrokerObject;
47  class DtTenaBrokerInitializer;
48  class DtGeneralSettingsWidgetTena;
49  class DtConnectionSettingsWidgetTena;
50 
53  class DT_DLL_TENABROKER DtQtBrokerDialog
54  : public DtDialogPager
55  { Q_OBJECT;
56  public:
57 
60  QWidget* parent = 0, size_t tickCollectionSize = 10 );
61 
63  virtual ~DtQtBrokerDialog();
64 
65  public:
66 
67  virtual void objectDiscovered( const DtBrokerObject* brokerObject );
68  virtual void objectUpdated( const DtBrokerObject* brokerObject );
69  virtual void objectRemoved( const DtBrokerObject* brokerObject );
70 
72  virtual void addTranslator( const char* name,
73  bool status = true, bool debugging = false );
74 
76  virtual void deleteTranslator( const char* name );
77 
79  virtual void updateTranslator( const char* name,
80  bool status, bool debugging );
81 
84  static void filterObjectCallback( const DtFilterObjectMessage& msg, void* userData );
85 
89  virtual void filterObjectCallback( const DtFilterObjectMessage& msg );
90 
95  virtual void addFilterToInitializer( const DtObjectFilter& filter );
96 
101  virtual void removeFilterFromInitializer( const DtObjectFilter& filter );
102 
103  virtual const DtTenaBroker* broker() const;
104 
105  protected slots:
106 
110  virtual void onMenuAboutToShow();
111 
114 
117  virtual void addNameFilterAction( bool action );
118 
121  virtual void addTypeFilterAction( bool action );
122 
125  virtual void addMarkingTextFilterAction( bool action );
126 
129  virtual void removeNameFilterAction( bool action );
130 
133  virtual void removeTypeFilterAction( bool action );
134 
137  virtual void removeMarkingTextFilterAction( bool action );
138 
140 
142  virtual void restartBrokerAction();
143 
145  virtual void filterAction();
146 
148  virtual void escPressed();
149 
151  virtual void enterPressed();
152 
155  virtual void applied();
156 
158  virtual void queryForRestart();
159 
161  void refreshTranslatorListFromInit();
163  void refreshInitFromTranslatorList();
164 
171  virtual void reflectedHeaderRightButtonPressedEventHandler( const QPoint& point );
172  virtual void publishedHeaderRightButtonPressedEventHandler( const QPoint& point );
173  virtual void translatorHeaderRightButtonPressedEventHandler( const QPoint& point );
174 
175  protected:
176 
179  void initObjectListViews();
180 
183  void initConnectionWidget();
184 
187  void initSettingsWidget();
188 
191  void initFilterWidget();
192 
198  void initTranslatorListView();
199 
201  virtual QTreeWidgetItem* findPublishedTranslatorGroup( const DtBrokerObject* brokerObject );
202 
204  virtual QTreeWidgetItem* findReflectedTranslatorGroup( const DtBrokerObject* brokerObject );
205 
206  virtual DtTime trackObjectTickTime( const DtBrokerObject* brokerObject, DtTime time );
207 
209  virtual bool eventFilter( QObject* obj, QEvent* event );
210 
212  virtual void closeEvent( QCloseEvent *event );
213 
214  virtual void reflectedItemRightButtonPressed( QTreeWidgetItem*, QPoint );
215 
216  private:
217 
219  DtQtBrokerDialog( const DtQtBrokerDialog& other );
220 
222  DtQtBrokerDialog& operator = ( const DtQtBrokerDialog& other );
223 
224  protected:
225 
226  typedef std::pair< size_t, DtTime* > TimeSamples;
227  typedef std::map< const DtBrokerObject*, TimeSamples > BrokerObjectTimeContainer;
228 
229  typedef std::map<QString,QWidget*> QtStringWidgetMap;
230  typedef std::map<const DtBrokerObject*,QTreeWidgetItem*> BrokerObjectToListView;
231  typedef std::map<QTreeWidgetItem*,const DtBrokerObject*> ListViewToBrokerObject;
232  typedef std::map<const DtString,QTreeWidgetItem*> TranslatorListViewItemContainer;
233 
237 
241 
243 
244  const size_t mySampleSize;
245 
247  Ui::DtGenericListView* myPublishedObjectsWidget;
249  Ui::DtGenericListView* myReflectedObjectsWidget;
257  Ui::DtGenericListView* myTranslatorsWidget;
258 
262 
266 
269 
270  };
271 
272  }
273 }

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)