MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
federationsViewDialog.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2017 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "rtiMsConfig.h"
13 #include "ui_federationsViewDialogUI.h"
15 #include "federationInfo.h"
16 #include "forwarderInfo.h"
17 #include "assistantEnums.h"
18 
19 #include <QTreeWidget>
20 #include <QComboBox>
21 #include <QtCore/QDir>
22 
23 #include <vlutil/vlUtil.h>
24 #include <vlutil/vlTime.h>
25 
26 #include <vector>
27 #include <list>
28 #include <map>
29 
30 class DtWidgetDialog;
31 class QSignalMapper;
32 class QProcess;
34 class QTextEdit;
35 class QSplitter;
36 class DtNetworkMapWidget;
37 class QTime;
40 class DtFederateTree;
44 class QLabel;
45 
47 { Q_OBJECT;
48 public:
49 
51  {
52  DtFederationsViewProcess = 0,
60  DtFederationsViewCommandLine
61  };
62 
64  {
70  DtNoSelectedNode
71  };
72 
73 public:
74 
76  DtFederationsViewDialog( const MAKRti::DtFilename& configDir,
77  QWidget* parent = 0, Qt::WindowFlags flags = 0 );
78 
80  virtual ~DtFederationsViewDialog();
81 
83  virtual QSize sizeHint() const;
84 
86  virtual void tick();
87 
90  virtual void setConnectionIsLocal( const MAKRti::DtString& name, bool isLocal );
91 
93  virtual void checkAndAddMainForwarder( const MAKRti::DtString& hostname, int port );
94 
96  virtual void checkAndAddLightweight( const MAKRti::DtString& hostname );
97 
99  virtual void addNetworkMapForwarderNode( const MAKRti::DtString& forwarderName, int port );
100 
102  virtual void removeNetworkMapForwarderNode( const MAKRti::DtString& forwarderName, int port );
103 
105  virtual void addNetworkMapRtiexecNode();
106 
108  virtual void removeNetworkMapRtiexecNode();
109 
111  virtual void addNetworkMapFederateNode( int fedHandle,
112  const MAKRti::DtString& federationName,
113  const MAKRti::DtString& processName, const MAKRti::DtString& fedType,
114  const MAKRti::DtString& fedName, bool notJoined = false,
115  bool isDropped = false );
116 
118  virtual void removeNetworkMapFederateNode( int fedHandle,
119  const MAKRti::DtString& federationName );
120 
122  virtual void updateNetworkMapFederateNode( int fedHandle,
123  const MAKRti::DtString& federationName, int queueStatus,
124  bool disconnected, bool reconnecting, bool inErrorState = false );
125 
127  virtual void refreshNetworkMap();
128 
130  virtual void clearData();
131 
133  virtual void setViewedConnectionDescription( const DtRtiConnectionInfo& conn );
134 
136  virtual void clearNetworkMap();
137 
139  virtual void enableCommands( bool enable );
140 
142  virtual void enableRtiExecShutdownCommand( bool enable );
143 
145  virtual void enableRtiForwarderShutdownCommand( bool enable );
146 
148  virtual void displayLoadingIndication();
149 
151  virtual void removeLoadingIndication();
152 
154  virtual void saveGuiConfiguration();
155 
156  virtual Ui::FederationsViewDialog getUiImpl() const;
157 
158  // Ported from federationsViewDialog
163  virtual int addConnection( const MAKRti::DtString& name,
164  const DtRtiConnectionInfo& conn, bool isLocal );
165 
167  virtual void removeConnection( const MAKRti::DtString& name );
168 
171  virtual void updateFederations( const DtFederationStateByNameMap* federations,
172  const DtAssistantForwarderInfo* forwarderInfo, const std::vector<DtAssistantForwarderInfo>& peerInfos);
173 
176  virtual void updateFederation( const DtAssistantFederationInfo* federation,
177  const DtAssistantForwarderInfo* forwarderInfo, const std::vector<DtAssistantForwarderInfo>& peerInfos);
178 
180  virtual void removeFederation( const MAKRti::DtString& federationName );
181 
183  virtual void removeAllFederations();
184 
187  virtual void updateFederate( const DtAssistantFederateInfo& federate,
188  const DtAssistantForwarderInfo * forwarderInfo,
189  const MAKRti::DtString& federationName, const std::vector<DtAssistantForwarderInfo>& peerInfos);
190 
193  virtual void removeFederate( int federateHandle, const MAKRti::DtString& federationName );
194 
197  virtual void setupFederateTree();
198 
200  virtual void setFederateIdentifierType( DtFederateIdentifierType fedIdType );
201 
203  virtual void selectFederate( const MAKRti::DtString& federation, int federateHandle,
204  const DtAssistantFederateInfo* fedInfo, const DtAssistantNetworkCompInfo* netCompInfo );
205 
207  virtual void selectDeadFederate( const MAKRti::DtString& federation,
208  const MAKRti::DtString& federateName, const DtAssistantNetworkCompInfo& newInfo );
209 
211  virtual void selectRtiexec( const DtAssistantNetworkCompInfo* netCompInfo );
212 
214  virtual void selectForwarder( const MAKRti::DtString& name, int port );
215 
217  virtual void selectPeerForwarder( const DtAssistantNetworkCompInfo* netCompInfo );
218 
220  virtual void selectFederation( const DtAssistantFederationInfo* info );
221 
223  virtual void selectNoConnection( const DtRtiConnectionInfo& conn );
224 
226  virtual void selectLightweight();
227 
229  virtual void initializeQtToolTips();
230 
232  virtual DtSelectedNodeType selectedNodeType() const;
233 
235  virtual void addForeignAssistant( const DtAssistantInfo& assistantHost );
236 
237  virtual void addAndUpdateRtiAssociatedConnectionData( const DtRtiConnectionInfo& connectionInfo,
238  const DtRtiAssociatedConnectionData& associatedConnectionData );
239 
240 public slots:
241 
244  void processConnectionSelection( int index, bool ignoreVisibility = false );
245 
247  void showHelpDialog();
248 
250  void processHelpDialogClose();
251 
253  void showEvent( QShowEvent* event );
254 
256  virtual void hideEvent( QHideEvent* event );
257 
259  void closeEvent( QCloseEvent* event );
260 
262  void keyPressEvent( QKeyEvent* event );
263 
265  void shutdownCurrentRtiexec();
266 
268  void shutdownCurrentRtiForwarder();
269 
271  void updateNetworkMap();
272 
274  void refreshView();
275 
277  void changeFederationColor( const QString& federationName,
278  const QColor& newColor );
279 
281  void enableFederationColors( bool enable );
282 
284  void setFederateIdentifierType( unsigned int fedIdType );
285 
287  void showSyncPointDialog();
288 
290  void showFederateStatsDialog();
291 
293  void showFomDialog();
294 
296  void enableOrDisableMenuActions( const DtRtiConnectionInfo& conn );
297 
299  void updateFederateRemovalTime( float period );
300 
302  void clearSelection();
303 
305  void updateFederateIcon();
306 
308  void showSelectedFederateRidParams();
309 
311  void showSelectedFederateLog();
312 
314  void showForiegnAssistantConnectionsDialog();
315 
317  void showConnectForwarderDialog();
318 
320  void forwarderConnectionSelected( const QString& connectionName );
321 
323  virtual void noMapNodeSelected();
324 
326  virtual void noTreeNodeSelected();
327 
329  virtual void switchToPeerForwarder( const MAKRti::DtString& hostName, int port );
330 
332  virtual void assistantFound( const DtAssistantInfo& assistant );
333 
335  virtual void assistantLost( const DtAssistantInfo& assistant );
336 
338  void processForeignConnectionAdded( const QString& hostNameIp, const QString& hostIpString,
339  const QString& localInterfaceAddr );
340 
342  void processForeignConnectionRemoved( const QString& hostNameIp, const QString& hostIpString,
343  const QString& localInterfaceAddr );
344 
345 signals:
346 
348  void viewedConnectionChanged( const DtRtiConnectionInfo& conn );
349 
351  void startupRtiexec();
352 
354  void shutdownRtiexec();
355 
357  void startupRtiForwarder();
358 
361  void connectRtiForwarder( const DtRtiConnectionInfo& connection );
362 
364  void shutdownForwarder();
365 
367  void aboutDialogRequested();
368 
370  void showPopup( const MAKRti::DtString&, const MAKRti::DtString&, const MAKRti::DtString& );
371 
373  void forceFederateResign( int, const QString& );
374 
376  void forceFederationDestroy( const QString& );
377 
379  void showRtiexecRidParams();
380 
382  void showForwarderRidParams();
383 
385  void showFederateRidParams( const MAKRti::DtString& federation, int federateHandle );
386 
388  void showRtiexecLog();
389 
391  void showForwarderLog();
392 
394  void showFederateLog( const MAKRti::DtString& federation, int federateHandle );
395 
397  void showLatencyTestDialog( const QString& fedexName, int fedHandle );
398 
400  void enableNetworkTesting( const QString& fedexName );
401 
403  void disableNetworkTesting( const QString& fedexName );
404 
407  void saveToLog();
408 
410  void showFederationsViewPreferences();
411 
413  void federateSelected( const MAKRti::DtString& federation, int federateHandle );
414 
416  void rtiexecSelected();
417 
419  void forwarderSelected( const MAKRti::DtString& name, int port );
420 
422  void peerForwarderSelected( const MAKRti::DtString& name, int port );
423 
425  void federationSelected( const MAKRti::DtString& name );
426 
428  void lightweightSelected();
429 
431  void showSyncPointDialog( const MAKRti::DtString& name );
432 
434  void showFederateStatsDialog( const MAKRti::DtString& federation, int federateHandle );
435 
437  void defunctFederateRemoved( const MAKRti::DtString& federation, int federateHandle );
438 
440  void showFomDialog( const MAKRti::DtString& federation, int federateHandle );
441 
443  void refreshFederationsView();
444 
446  void foreignConnectionAdded( const DtAssistantInfo& assistant );
447 
449  void foreignConnectionRemoved( const DtAssistantInfo& assistant );
450 
452  void makeForeignConnection( const QString& hostNameIp, const QString& hostIpString,
453  const QString& localInterfaceAddr );
454 
456  void breakForeignConnection( const QString& hostNameIp, const QString& hostIpString,
457  const QString& localInterfaceAddr );
458 
460  void assistantConnected( const DtAssistantInfo& assistant );
461 
463  void assistantDisconnected( const DtAssistantInfo& assistant );
464 
465 protected:
466 
468  virtual void showFederateInfo( const MAKRti::DtString& federation, int federateHandle,
469  const DtAssistantFederateInfo* fedInfo, const DtAssistantNetworkCompInfo* netCompInfo );
470 
472  virtual void showDeadFederateInfo( const MAKRti::DtString& federation,
473  const MAKRti::DtString& federateName, bool isDropped, const DtAssistantNetworkCompInfo& newInfo );
474 
476  virtual void showRtiexecInfo( const DtAssistantNetworkCompInfo* info );
477 
479  virtual void showForwarderInfo( const DtRtiConnectionInfo& info );
480 
482  virtual void showPeerForwarderInfo( const DtAssistantNetworkCompInfo* netCompInfo );
483 
487  virtual void showFederationInfo( const DtAssistantFederationInfo* info, bool update );
488 
490  virtual void showLightweightInfo( const DtRtiConnectionInfo& info );
491 
493  virtual MAKRti::DtString selectedFederateId() const;
494 
498 
499  virtual void setupUI();
500 
502  virtual void setupMenus();
503 
505  virtual void connectSignals();
506 
508 
510  virtual void loadGuiConfiguration();
511 
512  virtual QAction* createMenuAction( QString itemText, QIcon icon, bool enabled = true );
513 
514 protected:
515 
516  Ui::FederationsViewDialog myUiImpl;
517 
519 
521  QProcess* myHelpAssistant;
522 
525 
530  QToolBar* myToolBar;
532 
535 
538 
540  QMenu* myFileMenu;
541  QAction* myCloseAction;
542  QAction* mySaveAction;
543 
545  QMenu* myViewMenu;
549 
552 
560 
571 
581 
587 
589  QMenu* myToolsMenu;
590  QAction* myOptionsAction;
592 
594  QMenu* myHelpMenu;
595  QAction* myHelpAction;
596  QAction* myAboutAction;
597 
600 
602 
605 
608 
613 
616 
618  QDockWidget* myNetworkMapDock;
619  QDockWidget* mySelectedItemDock;
620 
623 
626 
629 
632 
635 
637  MAKRti::DtFilename myConfigDir;
638 
641 
642  // Ported from federationsViewDialog
643 
645  std::map<QString,DtRtiConnectionInfo> myConnsByName;
646 
648  std::map<MAKRti::DtString,QString> myConnNamesByHostPort;
649 
651  std::multiset<DtAssistantInfo> myPendingAssistants;
652 
654  std::set<DtAssistantInfo> myAssistants;
655 
658 
661 
663  QDockWidget* myFederationsViewDock;
664 
667 
670 
672  MAKRti::DtString mySelectedFederation;
673 
676 
678  MAKRti::DtString mySelectedFederateType;
679 
681  MAKRti::DtString mySelectedFederateName;
682 
684  MAKRti::DtFilename mySelectedFederateProcess;
685 
688 
690  static const MAKRti::DtFilename theConfigFilename;
691 
695 
700 
702 
706 
709 
710 };

Document ID: Generated on Mon Jul 9 10:30:41 EDT 2018 from SVN revision 190224
Copyright © 2005-2018 VT MÄK Inc. All Rights Reserved (www.mak.com)