VR-Exchange 2.9 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
portalAppGui.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2015 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
16 #include <portalApp/ui_portalAppGui.h>
17 #include <portalApp/aboutBox.h>
18 
19 #include <portal/pControlMessage.h>
20 
21 #include <QDialogButtonBox>
22 #include <QMainWindow>
23 
24 #include <vlutil/vlTime.h>
25 
26 #include <map>
27 
28 class QTimer;
29 class QLabel;
30 class QHeader;
31 class QProcess;
32 class DtPrinter;
33 class QTreeWidgetItem;
34 class QAssistantClient;
35 
36 namespace MAKVrExchange
37 {
38 
39  class DtQueueManager;
40  class DtQueueInfoDlg;
41  class DtMarkingSymbols;
42  class DtPortalConnection;
43  class DtStatisticsViewComponent;
44  class DtBrokerErrorMessage;
45  class DtPortalAppInitializer;
46  class DtAboutBox;
47 
52  { Q_OBJECT;
53  public:
54 
55  typedef DtObjectViewComponent* (*DtObjectViewComponentCreator)
56  ( DtPortalConnection* pconn, QWidget* parent );
57 
58  typedef DtInteractionViewComponent* (*DtInteractionViewComponentCreator)
59  ( DtPortalConnection* pconn, QWidget* parent );
60 
61  protected:
62 
63  typedef enum
64  {
65  checkForUpdates = 0
66  } WebSiteId;
67 
68  public:
69 
72  DtQueueManager* qManager, QWidget* parent = 0 );
73 
75  virtual ~DtPortalAppGui();
76 
78  virtual DtQueueManager* queueManager() const;
79 
81  virtual const DtAppBrokerManager* brokerManager() const;
82 
84  virtual DtPortalConnection* portalConnection() const;
85 
87  virtual void loadGuiConfiguration();
88 
90  virtual void saveGuiConfiguration();
91 
93  virtual void loadStylesheet(bool enabled);
94 
96  virtual bool darkModeEnabled() const;
97 
100  virtual void replaceAll(std::string& searchText,
101  const std::string& stringToFind,
102  const std::string& stringToReplace) const;
103 
106  virtual std::string resolveVars(const std::string& s);
107 
108  public slots:
109 
110  virtual void show();
111  virtual void toggleShowObjects( bool state );
112  virtual void toggleShowInteractions( bool state );
113  virtual void toggleShowUpdates( bool state );
114  virtual void onFindObjectsAction();
115  virtual void toggleShowBrokers( bool state );
116  virtual void toggleShowStatisticsView( bool state );
117  virtual void onLegendVisibilityChanged( bool state );
118  virtual void toggleShowStatisticsViewLegend( bool state );
119  virtual void showQueueInfoDlg();
120  virtual void tick();
121  virtual void editConfiguration();
122  virtual void setDarkModeEnabled( bool state );
123 
124  public:
125 
127  static void setObjectViewComponentCreator(
128  DtObjectViewComponentCreator func );
129 
131  static void setInteractionViewComponentCreator(
132  DtInteractionViewComponentCreator func );
133 
134  protected:
135 
137  void initTimers();
138 
140  void initMenu();
141 
143  void initStatusBar();
144 
145  virtual QDockWidget* createDockWidget( QString name );
146 
147  virtual void closeEvent( QCloseEvent* e );
148 
149  protected:
150 
152  static void brokerErrorMessageCb( const DtBrokerErrorMessage& msg, void* usrData );
153 
155  static void brokerConnectedMessageCb( const DtBrokerStartedMessage& msg, void* usrData );
156  virtual void processBrokerConnect(const DtBrokerStartedMessage& msg);
157 
159  static void brokerConnectedReponseCb( const DtBrokerConnectingMessage& msg, void* usrData );
160  virtual void processBrokerConnectReponse(const DtBrokerConnectingMessage& msg);
161 
163  static void brokerShutdownCb( const DtBrokerExitingMessage& msg, void* usr );
164  virtual void brokerShutdownCb( DtU32 brokerId );
165 
166  protected slots:
167 
168  virtual void quitMe();
169  virtual void showAboutDialog();
170 
172  virtual void showHelp();
173  virtual void processHelpDialogClose();
174 
175  virtual void dockVisibilityChanged( bool state );
176  virtual void updateTimeLabel();
177  virtual void clearInteractions();
178  virtual void resetInteractionStatistics();
179 
180  virtual void launchCheckForUpdatesWebSite();
181  virtual const DtString& webSite( WebSiteId webSite ) const;
182 
183  virtual void brokerSelectedRunning( bool );
184 
185  virtual void updateBrokerTranslationSettings();
186 
187  private:
188 
190  DtPortalAppGui( const DtPortalAppGui& orig );
191 
193  DtPortalAppGui& operator = ( const DtPortalAppGui& orig );
194 
195  protected:
196 
197  static DtObjectViewComponentCreator theObjectViewComponentCreator;
198  static DtInteractionViewComponentCreator theInteractionViewComponentCreator;
199 
200  Ui::DtPortalAppGui myUi;
201 
209  QTimer* myDrainTimer;
213  QLabel* myTimeLabel;
217 
219  QProcess* myHelpAssistant;
220 
222 
225  QDialogButtonBox* myButtonBox;
226 
227  QDockWidget* myObjectDockWidget;
230  QDockWidget* myBrokerDockWidget;
231 
232  typedef std::map<WebSiteId,DtString> WebSites;
234 
236  std::string myAppPath;
237  };
238 
239 
241  {
242  return myQueueManager;
243  }
244 
245 } //end namespace MAKVrExchange
Contains the DtPortalControlMessage class declarations.
DtAboutBox * myAboutBox
Definition: portalAppGui.h:211
std::map< WebSiteId, DtString > WebSites
Definition: portalAppGui.h:232
The &#39;about&#39; box widget.
Definition: aboutBox.h:46
static DtObjectViewComponentCreator theObjectViewComponentCreator
Definition: portalAppGui.h:197
QTimer * myTimeStatusTimer
Definition: portalAppGui.h:210
Contains the DtPortalSettingsWidget class declaration.
static DtInteractionViewComponentCreator theInteractionViewComponentCreator
Definition: portalAppGui.h:198
std::string myAppPath
Definition: portalAppGui.h:236
int myMaxObjectMessagesPerTick
Definition: portalAppGui.h:216
QDialogButtonBox * myButtonBox
Definition: portalAppGui.h:225
A view component which plots broker statistics.
Definition: pStatisticsViewComponent.h:34
QDockWidget * myStatisticsViewDockWidget
Definition: portalAppGui.h:229
DtPortalConnection * myPConn
Order of member variables is important.
Definition: portalAppGui.h:203
bool myDarkModeEnabled
Definition: portalAppGui.h:235
QProcess * myHelpAssistant
Help application.
Definition: portalAppGui.h:219
virtual DtQueueManager * queueManager() const
Returns a pointer to the Queue Manager.
Definition: portalAppGui.h:240
Responsible for the display of Interactions received from the Portal on the VR-Exchange GUI...
Definition: pInteractionViewComponent.h:128
DtAppBrokerManager * myBrokerManager
Definition: portalAppGui.h:207
Contains the DtAppBrokerManager class definition.
A simple wrapper class around QtAboutBox.
Definition: queueInfoDlg.h:26
DtPortalAppInitializer instances are used to parse the mtl file/command line arguments, and store the parameters.
Definition: portalAppInitializer.h:31
PortalControlMessageTemplate is used to create new DtPortalControlMessage types.
Definition: pControlMessage.h:71
DtPortalAppGui - This is the main class for the GUI version of the portal.
Definition: portalAppGui.h:51
DtObjectViewComponent * myObjectViewComponent
Definition: portalAppGui.h:205
QDockWidget * myObjectDockWidget
Definition: portalAppGui.h:227
Contains the DtObjectViewComponent class declaration.
#define DT_DLL_LIBPORTALAPP
Definition: include/portalApp/dllExport.h:20
Responsible for the display of an object&#39;s discovery, update, and removal recevied from the portal on...
Definition: pObjectViewComponent.h:51
int myMaxInteractionMessagesPerTick
Definition: portalAppGui.h:215
QTimer * myDrainTimer
Definition: portalAppGui.h:209
DtQueueInfoDlg * myQueueInfoDlg
Definition: portalAppGui.h:212
DtPortalSettingsWidget provides an interface for getting Portal connection settings.
Definition: portalSettingsWidget.h:29
Manages the connection list on the main portal window.
Definition: appBrokerManager.h:38
DtQueueManager * myQueueManager
Definition: portalAppGui.h:204
QDockWidget * myBrokerDockWidget
Definition: portalAppGui.h:230
Ui::DtPortalAppGui myUi
Definition: portalAppGui.h:200
QDockWidget * myInteractionDockWidget
Definition: portalAppGui.h:228
DtPortalAppInitializer * myInitializer
Definition: portalAppGui.h:221
DtInteractionViewComponent * myInteractionViewComponent
Definition: portalAppGui.h:206
Message sent from brokers to the portal to print out an error message in the gui. ...
Definition: brokerErrorMessage.h:22
DtPortalSettingsWidget * mySettingsWidget
Definition: portalAppGui.h:223
QLabel * myTimeLabel
Definition: portalAppGui.h:213
Connects a broker to the Portal Data Exchange.
Definition: pConnection.h:49
int myMaxControlMessagesPerTick
Definition: portalAppGui.h:214
Contains the DtInteractionViewComponent class definition.
WebSites myWebSites
Definition: portalAppGui.h:233
QDialog * mySettingsDialog
Definition: portalAppGui.h:224
A DtQueueManager is responsible for creating and deleting all Shared memory Queues used by the portal...
Definition: queueManager.h:40
Contains the DtAboutBox class declaration.
DtStatisticsViewComponent * myStatisticsViewComponent
Definition: portalAppGui.h:208

Document ID: Generated on Tue Jun 25 16:45:35 EDT 2024 from SVN revision 267383
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)