MAK RTIspy API Documentation for HLA Evolved
ridWidget.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2006 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: ridWidget.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *********************************************************************/
00008 
00009 #ifndef RidWidget_H_
00010 #define RidWidget_H_
00011 
00012 #include <QtGui/QWidget>
00013 #include "genericConfigWidget.h"
00014 #include <set>
00015 #include <map>
00016 #include <vlutil/vlString.h>
00017 #include <RIDparams.h>
00018 
00019 
00020 class Ui_RidWidgetUi;
00021 class QSignalMapper;
00022 
00025    class DT_DLL_ASSISTANTAPP DtRidWidget : public DtGenericConfigWidget
00026    {
00027       Q_OBJECT
00028 
00029       const QString myShowAllText;
00030 
00031    public:
00032 
00034       DtRidWidget(bool viewOnly, QWidget* parent = 0);
00035 
00037       ~DtRidWidget();
00038 
00040       void setRidParams(const DtRIDParameters* ridParams, 
00041          const MAKRti::DtString& filename = MAKRti::DtString::nullString());
00042       void clearRidParams();
00043 
00044       bool addSpecificProperty(MAKRti::DtString name, const DtRIDParameters::DtStringRidParameter& stringRid );
00045       bool addSpecificProperty(MAKRti::DtString name, const DtRIDParameters::DtIntRidParameter& intRid );
00046       bool addSpecificProperty(MAKRti::DtString name, const DtRIDParameters::DtFloatRidParameter& floatRid );
00047 
00048       void addPropertyGrouping( MAKRti::DtString buttonText, const std::set<MAKRti::DtString>& propertyNames );
00049 
00050       bool knownProperty( const QString& propertyName ) const;
00051       int getSpecificIntProperty( const QString& propertyName  ) const;
00052       QString getSpecificStringProperty( const QString& propertyName  ) const;
00053       float getSpecificFloatProperty( const QString& propertyName  ) const;
00054 
00055       bool knownProperty( const MAKRti::DtString& propertyName ) const;
00056       int getSpecificIntProperty( const MAKRti::DtString& propertyName  ) const;
00057       MAKRti::DtString getSpecificStringProperty( const MAKRti::DtString& propertyName  ) const;
00058       float getSpecificFloatProperty( const MAKRti::DtString& propertyName  ) const;
00059 
00060       bool changeSpecificProperty( const QString& propertyName , int newValue );
00061       bool changeSpecificProperty( const QString& propertyName , 
00062                                    const QString& newValue );
00063       bool changeSpecificProperty( const QString& propertyName , float newValue );
00064 
00065       bool changeSpecificProperty( const MAKRti::DtString propertyName , int newValue );
00066       bool changeSpecificProperty( const MAKRti::DtString propertyName , 
00067          const MAKRti::DtString& newValue );
00068       bool changeSpecificProperty( const MAKRti::DtString propertyName , float newValue );
00069 
00070       void refreshValues();
00071   
00072       void showWidget();
00073 
00074       void enableSettings();
00075       void disableSettings();
00076 
00077       void saveToFile(const QString& fileName ) const;
00078       void loadFromFile(const QString& fileName );
00079       void displayAllProperties();                                
00080       void destroyAllRidParameters();
00081       void destroyRidParameter( MAKRti::DtString name );
00082 
00083       QString ridFileName() const { return myRidFilename; }
00084       void setRidFileName(const QString& myRidFileName);
00085 
00086       virtual void processAccept();
00087       virtual void processReject();
00088 
00089       virtual void setLoadingState( bool loading );
00090 
00091       QString myRidFilename;
00092 
00093 protected slots:
00094       void displaySubsetOnly( const QString& nameOnButton );
00095       // These are mutually exclusive...Basically do we show the parent group or not.
00096       void displayFlatProperties();
00097       void displayParentGroups();
00098       void propHeaderClicked(int);
00099    protected:
00100       
00102       void init();
00103 
00104       void addButton( const QString& buttonText );
00105       std::set<QPushButton*> myDynamicButtons;
00106 
00107       std::map<MAKRti::DtString, DtRIDParameters::DtFloatRidParameter> myFloatRidParameters;
00108       std::map<MAKRti::DtString, DtRIDParameters::DtIntRidParameter> myIntRidParameters;
00109       std::map<MAKRti::DtString, DtRIDParameters::DtStringRidParameter> myStringRidParameters;
00110 
00111       std::set<MAKRti::DtString> myAllKnownRidParameters;
00112       std::map<MAKRti::DtString, std::set<MAKRti::DtString> > myDisplayGroups;
00113       std::map<MAKRti::DtString, int> myCompliantGroup;
00114 
00115       QSignalMapper* myQtSignalMapper;
00116       const DtRIDParameters* myParams;
00117       bool myShowingParentGroup;
00118 
00119       static QString theCompliantText;
00120 
00121 
00122    };
00123 
00124 #endif
00125 
00126 

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)