VR-Exchange 2.10 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
brokerDialog.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2016 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <widgets/dllExport.h>
13 #include <widgets/dialogPager.h>
15 #include <portal/pControlMessage.h>
16 #include <map>
17 
18 class QTreeWidgetItem;
19 
20 namespace MAKVrExchange
21 {
22 
23  class DtBroker;
24  class DtBrokerObject;
25  class DtObjectFilter;
26  class DtBrokerDialog;
27  class DtFilterDialog;
28  class DtTranslatorDialog;
29  class DtBrokerInitializer;
30  class DtObjectContextMenu;
31  class DtGeneralSettingsWidget;
32  class DtConnectionSettingsWidget;
33  class DtColumnSelectionContextMenu;
34  class DtWidgetIconStyleManager;
35 
36  typedef DtBrokerDialog* (*DtBrokerDialogCreator)( DtBroker*, DtBrokerInitializer*, QWidget* );
37 
41  {
42  Q_OBJECT;
43  Q_PROPERTY(QColor ActualIconPrimaryColor MEMBER myActualIconPrimaryColor USER true)
44  Q_PROPERTY(QColor NormalIconPrimaryColor MEMBER myNormalIconPrimaryColor USER true)
45  Q_PROPERTY(QColor DisabledIconPrimaryColor MEMBER myDisabledIconPrimaryColor USER true)
46  Q_PROPERTY(QColor SelectedIconPrimaryColor MEMBER mySelectedIconPrimaryColor USER true)
47  Q_PROPERTY(QColor ActiveIconPrimaryColor MEMBER myActiveIconPrimaryColor USER true)
48  public:
49 
50  // The columns in the Object Dialog
51  enum {
52  StatusCol = 0,
53  NameCol = 1,
54  IdCol = 2,
55  MarkingTextCol = 3
56  };
57 
58  public:
59 
62  static DtBrokerDialog* create( DtBroker* broker,
63  DtBrokerInitializer* init, QWidget* parent = 0 );
64 
65  public:
66 
68  virtual ~DtBrokerDialog();
69 
72  virtual void initialize();
73 
74  virtual void objectDiscovered( const DtBrokerObject* brokerObject );
75  virtual void objectUpdated( const DtBrokerObject* brokerObject );
76  virtual void objectRemoved( const DtBrokerObject* brokerObject );
77 
79  virtual void addTranslator( const char* name,
80  bool readStatus = true, bool writeStatus = true,bool debugging = false );
81 
83  virtual void updateTranslator( const char* name,
84  bool reflectStatus, bool publishStatus, bool debugging );
85 
87  virtual void deleteTranslator( const char* name );
88 
90  virtual void revertSettings();
91 
93  virtual void clientsUpdated();
94 
96  virtual void loadStylesheet(bool enabled);
97 
99  virtual std::vector<std::pair<QColor, QColor>> iconColorMappingsByMode(QIcon::Mode modeToGetMappingsFor) const;
100 
104  virtual void invalidateIconColorMappings();
105 
106  protected:
107 
110  QWidget* parent = 0 );
111 
114 
116  virtual void initObjectListViews();
117 
119  virtual void initObjectListViewHeaders();
120 
122  virtual void initConnectionWidget();
123 
125  virtual DtConnectionSettingsWidget* instantiateConnectionSettingsWidget();
126 
128  virtual void initSettingsWidget();
129 
131  virtual DtGeneralSettingsWidget* instantiateGeneralSettingsWidget();
132 
134  virtual void initFilterWidget();
135 
140  virtual void initTranslatorListView();
141 
143 
145  virtual void updateObjectText( const DtBrokerObject* brokerObject,
146  QTreeWidgetItem* item, const QString& status );
147 
149  virtual QTreeWidgetItem* findPublishedTranslatorGroup( const DtBrokerObject* brokerObject );
150 
152  virtual QTreeWidgetItem* findReflectedTranslatorGroup( const DtBrokerObject* brokerObject );
153 
155  virtual bool eventFilter( QObject* obj, QEvent* event );
156 
157  virtual void publishedItemRightButtonPressed( QTreeWidgetItem*, QPoint );
158  virtual void reflectedItemRightButtonPressed( QTreeWidgetItem*, QPoint );
159 
162  virtual void replaceAll(std::string& searchText,
163  const std::string& stringToFind,
164  const std::string& stringToReplace) const;
165 
168  virtual std::string resolveVars(const std::string& s);
169 
170  protected slots:
171 
175  virtual void onMenuAboutToShow();
176 
179 
182  virtual void addNameFilterAction( bool action );
183 
187  virtual void addNameFilter( const DtString& name );
188 
191  virtual void addTypeFilterAction( bool action );
192 
196  virtual void addTypeFilter( const DtString& entityType );
197 
200  virtual void addMarkingTextFilterAction( bool action );
201 
205  virtual void addMarkingTextFilter( const DtString& markingText );
206 
207 
210  virtual void removeNameFilterAction( bool action );
211 
215  virtual void removeNameFilter( const DtString& name );
216 
219  virtual void removeTypeFilterAction( bool action );
220 
224  virtual void removeTypeFilter( const DtString& entityType );
225 
228  virtual void removeMarkingTextFilterAction( bool action );
229 
233  virtual void removeMarkingTextFilter( const DtString& markingText );
234 
236 
238  virtual void onTranslatorsChanged();
239 
241  virtual void restartBrokerAction();
242 
244  virtual void escPressed();
245 
247  virtual void enterPressed();
248 
251  virtual void applied();
252 
254  virtual void queryForRestart();
255 
258  virtual void reflectedHeaderRightButtonPressedEventHandler( const QPoint& point );
259  virtual void publishedHeaderRightButtonPressedEventHandler( const QPoint& point );
260  virtual void translatorHeaderRightButtonPressedEventHandler( const QPoint& point );
261 
262  private:
263 
265  DtBrokerDialog( const DtBrokerDialog& other );
266 
268  DtBrokerDialog& operator = ( const DtBrokerDialog& other );
269 
270  protected:
271 
272  typedef std::map<QString,QWidget*> QtStringWidgetMap;
273  typedef std::map<const DtBrokerObject*,QTreeWidgetItem*> BrokerObjectToListView;
274  typedef std::map<QTreeWidgetItem*,const DtBrokerObject*> ListViewToBrokerObject;
275 
278 
282 
289 
293  QTreeWidgetItem* myCurrentRightClickItem;
295 
299 
301 
302  std::string myAppPath;
303 
309 
310  };
311 
312 }
QtStringWidgetMap myQStringWidgetMap
Definition: brokerDialog.h:279
DtConnectionSettingsWidget * myConnectionSettingsWidget
Definition: brokerDialog.h:285
std::map< QTreeWidgetItem *, const DtBrokerObject * > ListViewToBrokerObject
Definition: brokerDialog.h:274
A class to initialize DtBroker instances.
Definition: brokerInitializer.h:35
std::map< QString, QWidget * > QtStringWidgetMap
Definition: brokerDialog.h:272
Contains the DtPortalControlMessage class declarations.
QColor myDisabledIconPrimaryColor
Definition: brokerDialog.h:306
QtStringWidgetMap myPublishedTranslatorNameToItemMap
Definition: brokerDialog.h:280
Context menu for broker objects.
Definition: objectContextMenu.h:23
Provides container to hold pointers to Protocol/Portal objects.
Definition: brokerObject.h:24
DtObjectContextMenu * myActiveContextMenu
Definition: brokerDialog.h:292
DtBrokerInitializer * myBrokerInitializer
Definition: brokerDialog.h:300
DtGenericListView * myReflectedObjectsWidget
Definition: brokerDialog.h:284
QColor myNormalIconPrimaryColor
Definition: brokerDialog.h:305
QColor myActiveIconPrimaryColor
Definition: brokerDialog.h:308
Base class for connection settings widgets.
Definition: connectionSettingsWidget.h:22
DtTranslatorDialog * myTranslatorsWidget
Definition: brokerDialog.h:288
QTreeWidgetItem * myCurrentRightClickItem
Definition: brokerDialog.h:293
QColor myActualIconPrimaryColor
Definition: brokerDialog.h:304
DtObjectContextMenu * myReflectedObjectContextMenu
Definition: brokerDialog.h:291
Contains the DtGenericListView class declaration.
DtTranslatorDialog provides a dialog panel for translation options.
Definition: translatorDialog.h:39
DtColumnSelectionContextMenu * myPublishedHeaderPopupMenu
Definition: brokerDialog.h:296
The dialog pager is a dialog with a collection of pages.
Definition: dialogPager.h:35
DtGeneralSettingsWidget * myGeneralSettingsWidget
Definition: brokerDialog.h:286
Base class for all broker objects.
Definition: broker.h:58
std::string myAppPath
Definition: brokerDialog.h:302
QtStringWidgetMap myReflectedTranslatorNameToItemMap
Definition: brokerDialog.h:281
Provides an interface for configuring DIS connection settings.
Definition: generalSettingsWidget.h:23
QColor mySelectedIconPrimaryColor
Definition: brokerDialog.h:307
DtColumnSelectionContextMenu * myTranslatorHeaderPopupMenu
Definition: brokerDialog.h:298
DtFilterDialog provides a widget for editing filtering options.
Definition: filterDialog.h:29
std::map< const DtBrokerObject *, QTreeWidgetItem * > BrokerObjectToListView
Definition: brokerDialog.h:273
DtFilterDialog * myFiltersWidget
Definition: brokerDialog.h:287
ListViewToBrokerObject myListViewObjectMap
Definition: brokerDialog.h:277
Menu for configuring the columns displayed in a QTreeWidget.
Definition: columnSelectionContextMenu.h:22
#define DT_DLL_WIDGETS
Definition: include/widgets/dllExport.h:22
BrokerObjectToListView myObjectListViewMap
Definition: brokerDialog.h:276
DtColumnSelectionContextMenu * myReflectedHeaderPopupMenu
Definition: brokerDialog.h:297
Responsible for displaying all information about the broker.
Definition: brokerDialog.h:40
DtObjectContextMenu * myPublishedObjectContextMenu
Definition: brokerDialog.h:290
Contains the DtDialogPager class declaration.
DtGenericListView * myPublishedObjectsWidget
Definition: brokerDialog.h:283
A generic list view that can be used to display lists of things.
Definition: genericListView.h:23
DtBroker * myBroker
Definition: brokerDialog.h:294

Document ID: Generated on Mon May 25 18:45:12 EDT 2026 from SVN revision 289111
Copyright © 2005-2026 MAK Technologies. All Rights Reserved (www.mak.com)