MAK RTIspy API Documentation for HLA 1516
federateTree.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: federateTree.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef federateTree_H_
00013 #define federateTree_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include "federationInfo.h"
00017 #include <qtreewidget.h>
00018 #include <vector>
00019 #include <map>
00020 #include <set>
00021 #include <vlutil/vlTime.h>
00022 
00023 class DT_DLL_ASSISTANTAPP DtFederateTree : public QTreeWidget
00024 {
00025    Q_OBJECT
00026 
00027 public:
00028 
00029    DtFederateTree( QWidget* parent );
00030    virtual ~DtFederateTree();
00031 
00032 private:
00033 
00035    DtFederateTree( DtFederateTree const&);
00036 
00038    DtFederateTree& operator=( DtFederateTree const& );
00039 
00040 public:
00041 
00044    virtual bool updateFederation( const DtAssistantFederationInfo& federation );
00045 
00048    virtual bool removeFederation( const QString& name );
00049 
00051    virtual void removeAllFederations();
00052 
00055    virtual bool updateFederate( const DtAssistantFederateInfo& federate, 
00056       const QString& fedexName);
00057 
00062    virtual bool removeFederate( int federateHandle, const QString& fedexName,
00063       bool clearedDefunct = false );
00064 
00066    virtual void displayLoadingIndication();
00067 
00069    virtual void removeLoadingIndication();
00070 
00072    bool isFederateValid( int federateHandle, const QString& fedexName ) const;
00073 
00075    void processInvalidList();
00076 
00079    QMenu* columnViewMenu() { return myColViewMenu; };
00080 
00083    QMenu* federateMenu() { return myFederateMenu; };
00084 
00087    QMenu* federationMenu() { return myFederationMenu; };
00088 
00091    void setFederateRemovalTime(float newTime);
00092 
00094    float getFederateRemovalTime() const;
00095 
00097    void enableDeletion( bool enable );
00098 
00100    QString getTreeFederationName( const MAKRti::DtString& federationName );
00101 
00102 protected:
00103 
00105    virtual void updateFederateItems( const DtFederateInfoByHandleMap& federates,
00106       QTreeWidgetItem* fedexItem );
00107 
00109    virtual void updateFederateItem( const DtAssistantFederateInfo& federate, 
00110       const QString& fedexName, QTreeWidgetItem* fedItem );
00111 
00113    virtual void removeAllFederateItems( QTreeWidgetItem* fedexItem );
00114 
00118    virtual void removeFederateItem( QTreeWidgetItem* fedItem,
00119       QTreeWidgetItem* fedexItem, bool clearedDefunct = false );
00120 
00122    bool isFederateValid( QTreeWidgetItem* item ) const;
00123 
00124 public:
00125 
00126    enum DtFederateTreeCol
00127    {
00128       FederationNameIndex = 0,
00129       FederateTypeAndHandleIndex = 0,   // Shares column with federation name
00130       FederateIPIndex,
00131       HlaVersionIndex,
00132       WebSpyIndex,
00133       FederateNameIndex,
00134       RegulatingStateIndex,
00135       ConstrainedStateIndex,
00136       LbtsIndex,
00137       LookAheadIndex,
00138       CurrentTimeIndex,
00139       TestStatusIndex,
00140       TestCountIndex,
00141    };
00142 
00144    static const QString theLoadingText;
00145 
00147 
00148    static const QString theFederationFederateString;
00149    static const QString theIpAddressString;
00150    static const QString theRegulatingString;
00151    static const QString theConstrainedString;
00152    static const QString theLBTSString;
00153    static const QString theLookaheadString;
00154    static const QString theCurrentTimeString;
00155    static const QString theWwwspyString;
00156    static const QString theTestCapableString;
00157    static const QString theTestStatusString;
00158    static const QString theTestCountString;
00159    static const QString theFederateNameString;
00160    static const QString theHlaVersionString;
00162 
00164 
00165    static const QString theFederationFederateToolTip;
00166    static const QString theFederationNameToolTip;
00167    static const QString theFederateTypeToolTip;
00168    static const QString theIpAddressToolTip;
00169    static const QString theRegulatingToolTip;
00170    static const QString theRegulatingEnabledToolTip;
00171    static const QString theRegulatingDisabledToolTip;
00172    static const QString theConstrainedToolTip;
00173    static const QString theConstrainedEnabledToolTip;
00174    static const QString theConstrainedDisabledToolTip;
00175    static const QString theLBTSToolTip;
00176    static const QString theLookaheadToolTip;
00177    static const QString theCurrentTimeToolTip;
00178    static const QString theWwwspyToolTip;
00179    static const QString theWwwspyEnabledToolTip;
00180    static const QString theWwwspyDisabledToolTip;
00181    static const QString theTestCapableToolTip;
00182    static const QString theTestCapableEnabledToolTip;
00183    static const QString theTestCapableDisabledToolTip;
00184    static const QString theTestStatusToolTip;
00185    static const QString theNoTestToolTip;
00186    static const QString theContinuousTestToolTip;
00187    static const QString theSingleTestToolTip;
00188    static const QString theTestCountToolTip;
00189    static const QString theFederateNameToolTip;
00190    static const QString theHlaVersionToolTip;
00192 
00193 
00194 public slots:
00195 
00197    virtual void showColumns();
00198 
00200    virtual void setAllColumns( const std::map<QString, std::pair<int, bool> >& columns );
00201    
00203    virtual void allColumns( std::map<QString, std::pair<int, bool> >& columns  );
00204 
00206    virtual void showColCustomizeDlg();
00207 
00209    virtual void deleteSelectedFed();
00210 
00213    virtual void destroySelectedFederations();
00214 
00216    virtual void updateEnableNetworkTestingForSelectedFederations();
00217 
00219    virtual void openFedWebSpy();
00220 
00222    virtual void showLatencyTest();
00223 
00225    virtual void clearAllDeadFederates();
00226 
00228    virtual bool hasValidFederates() const;
00229 
00231    virtual void clearCurrDefunctFederates();
00232 
00234    void refreshMenus();
00235 
00237    virtual void showContextMenu( const QPoint& );
00238 
00239 signals:
00240    void fedDeleteRequest( int, const QString& );
00241    void federationDeleteRequest( const QString& fedexName );
00242    void openFedWebSpyRequest( const QString&, int );
00243    void enableNetworkTestingRequest( const QString& );
00244    void disableNetworkTestingRequest( const QString& );
00245    void showFedLatencyTest( const QString&, int );
00246 
00247 protected:
00248 
00249    static const int FederateNameRole;
00250    static const int FederateHandleRole;
00251    static const int TestEnableRole;
00252 
00254    QMenu* myColViewMenu;
00255 
00257    std::vector< QAction* > myColDispActions;
00258    QAction* myColCustomizeAction;
00259 
00261    QMenu* myContextMenu;   
00262    QMenu* myFederateMenu;
00263    QMenu* myFederationMenu;
00264 
00266    QAction* myDeleteFedAction;
00267    QAction* myOpenWebSpyAction;
00268    QAction* myLatencyTestAction;
00269    QAction* myClearAllDeadFederates;
00270    QAction* myClearCurrDefunctFederate;
00271    QAction* myDeleteFederationAction;
00272    QAction* myEnableNetworkTestingAction;
00273 
00275 
00276    QIcon myCheckIcon;
00277    QIcon myNoCheckIcon;
00278    QIcon myContTestIcon;
00279    QIcon mySingleTestIcon;
00280    QIcon myYellowAttention;
00281    QIcon myRedAttention;
00282    QIcon myWorldWideWeb;
00283    QIcon myWorldWideWebDisabled;
00284    QIcon myTestIcon;
00286 
00288    std::map<QString, QString> myFederationNamesToItemNames;
00289 
00291    std::map<QString, QString> myItemNamesToFederationNames;
00292 
00298    std::map<QTreeWidgetItem*, std::pair<MAKRti::DtTime, std::pair<QString, int> > > myInvalidTreeWidgets;
00299 
00301    std::map<QTreeWidgetItem*, std::pair<QString, int> > myReconnectingFederates;
00302 
00304    std::map<QTreeWidgetItem*, std::pair<QString, int> > myReconnectedFederates;
00305 
00307    std::set< std::pair<QString, int > > myClearedDefunctFederates;
00308 
00310    std::set<QTreeWidgetItem* > myTestDisabledFederations;
00311 
00313    float myFederateRemovalTime;
00314 
00316    std::set<QTreeWidgetItem*> myListOfWebSpyEnabledFederates;
00317 
00319    QTreeWidgetItem* myLoadingIndicationItem;
00320 
00322    bool myDeletionEnabled;
00323 
00324    MAKRti::DtClock myTimer;
00325 
00328    static const int theLastColDefaultedOn;
00329 
00330 };
00331 
00332 #endif

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)