Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4GUI/TGo4ParaEditStatus.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #ifndef TGO4PARAEDITSTATUS_H
00017 #define TGO4PARAEDITSTATUS_H
00018 
00019 #include "Go4StatusBase/TGo4Status.h"
00020 #include <vector>
00021 #include "TObjArray.h"
00022 #include "TList.h"
00023 
00024 class TGo4Parameter;
00025 class TGo4Fitter;
00026 
00027 using namespace std;
00028 
00032 class TGo4ParaEditStatus : public TGo4Status {
00033   public:
00034 
00035     TGo4ParaEditStatus(const char* name, const char* title);
00036     virtual ~TGo4ParaEditStatus();
00037 
00038     void UpdateParameter(TGo4Parameter* source);
00039 
00042     Bool_t LoadParameter(const Text_t* filename, const Text_t* parname=0);
00043 
00046     //Bool_t SaveParameter(const Text_t* filename, const Text_t* parname=0);
00047 
00048 
00049     TGo4Parameter* GetParameter(){return fxPara;}
00050 
00051     Int_t GetMemNumber(){return fiMemNum;}
00052 
00054     Long_t GetMemberAddress(Int_t i);
00055 
00057     void SetParaName(const Text_t* name);
00058 
00060     void SetParaClass(const Text_t* name);
00061 
00063     const Text_t* GetParaName();
00064 
00066     const Text_t* GetParaClass();
00067 
00069     const Text_t* GetParaMember(Int_t i);
00070 
00072     const Text_t* GetParaMemType(Int_t i);
00073 
00075     const Text_t* GetParaMemVal(Int_t i);
00076 
00078     const Text_t* GetParaMemComment(Int_t i);
00079 
00083     void SetParaMemVal(Int_t i, const Text_t* val);
00084 
00086     void SetFitPointerAddress(Long_t add)
00087        {
00088           fxFitPointer= (TGo4Fitter**) add;
00089        }
00090     TGo4Fitter* GetLastFitter()
00091         {
00092              return (*fxFitPointer);
00093         }
00094 
00097     void UpdateLastFitter(TGo4Fitter* source);
00098 
00099 
00105     const Int_t GetParaMemArrIndex(Int_t i);
00106 
00108     const Int_t GetParaMemArrIndey(Int_t i);
00109 
00111     Bool_t IsParaMemVisible(Int_t i);
00112 
00114     void SetParaMemVisible(Int_t i, Bool_t on);
00115 
00117     void ResetParameterList();
00118 
00121     const Text_t* NextParameterClass();
00122 
00123 private:
00124 
00126     void UpdateMemberLists();
00127 
00131     void EvalMembers(TClass* cl, Long_t baseoffset=0);
00132 
00135     const Text_t* ValueString(const Text_t* type, Long_t address);
00136 
00139     void SetCast(const Text_t* memtype,Long_t address);
00140 
00144     void SetValue(const Text_t* memtype,
00145                     const Text_t* expression,
00146                         Long_t address);
00147 
00148 
00150     void BuildParameterList();
00151 
00152     TGo4Parameter* fxPara;     
00153 
00155     TClass* fxParaClass; 
00156 
00158     TList* fxDatamembers; 
00159 
00161     Int_t fiMemNum;
00162 
00164     TObjArray fxNames;
00165 
00167     TObjArray fxTypes;
00168 
00170     TObjArray fxVals; 
00171 
00173     TObjArray fxComments; 
00174 
00176     vector <Long_t> fxAddress; 
00177 
00180     vector <Int_t> fxArrayIndex; 
00181 
00184     vector <Int_t> fxArrayIndey; 
00185 
00187     vector <Bool_t> fbMemberVisible;
00188 
00190    Float_t* fxDataFloat;
00191    Double_t* fxDataDouble;
00192    Int_t* fxDataInt;
00193    UInt_t* fxDataUInt;
00194    Short_t* fxDataShort;
00195    Char_t* fxDataChar;
00196    Long_t* fxDataLong;
00197    Bool_t* fxDataBool;
00198    UShort_t* fxDataUShort;
00199    UChar_t* fxDataUChar;
00200    ULong_t* fxDataULong;
00201    TString* fxDataString; 
00202 
00204    TGo4Fitter** fxFitPointer; 
00205 
00207    Int_t fiDatatypeSize;
00209    Text_t fcTextBuffer[256];
00210 
00212    TList fxParaClassList; 
00213 
00215    TIterator* fxNextParaClass; 
00216 };
00217 #endif //TGO4PARAEDITSTATUS_H
00218 
00219 
00220 
00221 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:56:02 2005 for Go4-v2.10-5 by doxygen1.2.15