MAK RTIspy API Documentation for HLA 1.3
federationsViewDialog.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: federationsViewDialog.h,v $ $Revision: 1.14 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 
00012 
00013 #ifndef federationsViewDialog_H_
00014 #define federationsViewDialog_H_
00015 
00016 #include "rtiMsConfig.h"
00017 #include "ui_federationsViewDialogUI.h"
00018 #include "assistantConnectionInfo.h"
00019 #include "federationInfo.h"
00020 #include <map>
00021 #include <vector>
00022 #include <list>
00023 
00024 #include <vlutil/vlUtil.h>
00025 #include <vlutil/vlTime.h>
00026 
00027 #include <qdir.h>
00028 #include <qcombobox.h>
00029 
00030 #include <RIDparams.h>
00031 
00032 #include "rtiFederationWidget.h"
00033 
00034 class DtFederateTree;
00035 class DtExecConfig;
00036 class DtWidgetDialog;
00037 class DtRidWidget;
00038 class QSignalMapper;
00039 class QProcess;
00040 
00041 
00042 class DT_DLL_ASSISTANTAPP DtFederationsViewDialog : public QMainWindow
00043 {
00044     Q_OBJECT
00045 
00046 public:
00047 
00049    DtFederationsViewDialog( const MAKRti::DtFilename& configDir,
00050       QWidget* parent = 0, Qt::WindowFlags flags = 0 );
00051 
00053    virtual ~DtFederationsViewDialog();
00054 
00056    virtual void tick();
00057 
00062    virtual int addConnection( const MAKRti::DtString& name,
00063       const DtRtiConnectionInfo& conn, bool isLocal );
00064 
00066    virtual void removeConnection( const MAKRti::DtString& name );
00067 
00069    virtual void setConnectionIsLocal( const MAKRti::DtString& name, bool isLocal );
00070 
00073    virtual void updateFederations( const DtFederationStateByNameMap& federations );
00074 
00077    virtual void updateFederation( const DtAssistantFederationInfo& federation );
00078 
00080    virtual void removeFederation( const MAKRti::DtString& federationName );
00081 
00083    virtual void removeAllFederations();
00084 
00087    virtual void updateFederate( const DtAssistantFederateInfo& federate, 
00088       const MAKRti::DtString& federationName );
00089 
00092    virtual void removeFederate( int federateHandle, const MAKRti::DtString& federationName );
00093 
00096    virtual void updateSyncPoint( const MAKRti::DtString& syncPtName,
00097       const DtPendingAchievedPair& pendAchvFeds, 
00098       const DtFederateInfoByHandleMap& federates, 
00099       const MAKRti::DtString& federationName );
00100 
00103    virtual void removeSyncPoint( const MAKRti::DtString& syncPtName,
00104       const MAKRti::DtString& federationName );
00105 
00108    virtual void updateFederateTestStatus( const DtAssistantFederateInfo& federate, 
00109       const MAKRti::DtString& federationName, bool isRunningTest, int numInitiated,
00110       int numReports );
00111 
00115    virtual bool selectedConnection( DtRtiConnectionInfo& conn ) const;
00116 
00118    virtual int selectedConnection() const;
00119 
00121    virtual void updateRidParams( const MAKRti::DtString& params,
00122       const MAKRti::DtString& hostName, const MAKRti::DtString& filename );
00123 
00126    virtual void enableCommands( bool enable );
00127 
00129    virtual void displayLoadingIndication();
00130 
00132    virtual void removeLoadingIndication();
00133 
00135    virtual void saveGuiState();
00136 
00138    virtual QMenu* createPopupMenu();
00139 
00141    virtual void clearFederationActions();
00142 
00143 public slots:
00144 
00147    virtual void processConnectionSelection( int index, bool ignoreVisibility = false );
00148 
00150    virtual void showHelpDialog();
00151 
00153    virtual void processHelpDialogClose();
00154 
00156    virtual void showRidDialog();
00157 
00159    virtual void clearRidParams();
00160 
00162    virtual void enableOrDisableRidViewing( const DtRtiConnectionInfo& conn );
00163 
00165    virtual void updateFederateRemovalTime( float period );
00166 
00168    virtual void enableWebSpy( bool enable );
00169 
00171    float getFederateRemovalTime() const;
00172 
00174    virtual void updateFedViewWidgetEnable( const QString& );
00175    virtual void updateFedViewWidgetDisable( const QString& );
00176 
00177 
00178 signals:
00179 
00181    void viewedConnectionChanged( const DtRtiConnectionInfo& conn );
00182 
00184    void forceFederateResign( int, const QString& );
00185 
00187    void forceFederationDestroy( const QString& );
00188 
00190    void showRtiexecWebSpy();
00191 
00193    void showFederateWebSpy( const QString& fedexName, int fedHandle );
00194 
00196    void requestRidParams();
00197 
00199    void showLatencyTestDialog( const QString& fedexName, int fedHandle );
00200 
00202    void aboutDialogRequested();
00203 
00205    void enableNetworkTesting( const QString& fedexName );
00206 
00208    void disableNetworkTesting( const QString& fedexName );
00209 
00212    void saveToLog();
00213   
00214 protected:
00215 
00217 
00218 
00219    void setupConnectionComboBox();
00220 
00223    void setupFederateTree();
00224 
00226    void setupMenus();
00227 
00229    void connectSignals();
00231 
00233    virtual void addFederationWidget( const DtAssistantFederationInfo& federationState );
00234 
00236    virtual void removeFederationWidget( const QString& federationName, const QString& federationMenuName );
00237 
00239    virtual void addFederationMenuAction( QAction* action );
00240 
00242    virtual void removeFederationMenuAction( const QString& name );
00243 
00245    virtual void showEvent( QShowEvent* event );
00246 
00248    virtual void closeEvent( QCloseEvent* event );
00249 
00251    virtual void keyPressEvent( QKeyEvent* event );
00252 
00253    virtual void convertToFederateTreeStrings(
00254          std::map<QString, std::pair<int, bool> >& columns) const;
00255 
00256    virtual void convertToConfigStrings(
00257       std::map<QString, std::pair<int, bool> >& columns) const;
00258 
00260    virtual void fedExNameAndFedHandleToString( const QString& fedExName,
00261       int fedHandle, QString& str );
00262 
00265    virtual void stringToFedExNameAndFedHandle( const QString& str, 
00266       QString& fedExName, int& fedHandle );
00267    
00268 protected:
00269    Ui::FederationsViewDialog myUiImpl;
00270    
00272    DtWidgetDialog* myRidDialog;
00273 
00275    DtRidWidget* myRidWidget;
00276 
00278    QProcess* myHelpAssistant;
00279 
00281    DtFederateTree* myFederateTree;
00282 
00284    QComboBox* myConnectionComboBox;
00285 
00287    DtRIDParameters* myRidParams;
00288 
00290    std::map< QString, QDockWidget* > myFederationWidgets;
00291 
00293    DtBoost::shared_ptr<DtExecConfig> myExecConfig;
00294 
00296    QIcon myCompliantIcon;
00297    QIcon myNonCompliantIcon;
00298 
00300 
00301    QSignalMapper* myLatencyTestObservingMapper;
00302    QSignalMapper* myLatencyTestRunMapper;
00303    QSignalMapper* myLatencyTestRunContinuousMapper;
00304    QSignalMapper* myLatencyTestStopMapper;
00305    QSignalMapper* myLatencyTestDismissMapper;
00307 
00309    std::map< QString, DtRtiConnectionInfo > myConnsByName;
00310 
00312 
00313 
00314 
00315    QAction* mySaveAction;
00316 
00318    QAction* myCloseAction;
00319 
00322    QAction* myOpenWebSpyAction;
00323 
00325    QMenu* myFedColumnMenu;
00326 
00328    QMenu* myViewFederationMenu;
00329 
00331    std::map< QString, QAction* > myFederationActions;
00332 
00334    QAction* myViewRidAction;
00335 
00337    QMenu* myFederateMenu;
00338 
00340    QMenu* myFederationMenu;
00341 
00343    QAction* myHelpAction;
00344    QAction* myAboutAction;
00346 
00348    QString myLastViewedConnection;
00349 
00351    static QString theNoConnectionsText;
00352 };
00353 
00354 #endif   //! federationsViewDialog_H_
00355 
00356 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)