![]() |
MAK RTIspy API Documentation for HLA Evolved
|
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