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

TGo4ParaEditStatus Class Reference

#include <TGo4ParaEditStatus.h>

Inheritance diagram for TGo4ParaEditStatus:

TGo4Status List of all members.

Public Methods

 TGo4ParaEditStatus (const char *name, const char *title)
virtual ~TGo4ParaEditStatus ()
void UpdateParameter (TGo4Parameter *source)
Bool_t LoadParameter (const Text_t *filename, const Text_t *parname=0)
 Exchange current parameter by object parname taken from root file filename. More...

TGo4ParameterGetParameter ()
 Save current parameter to root file filename. More...

Int_t GetMemNumber ()
Long_t GetMemberAddress (Int_t i)
 Access to the absolute address of datamember. More...

void SetParaName (const Text_t *name)
 New mode only: specify name of the new parameter. More...

void SetParaClass (const Text_t *name)
 New mode only: create parameter of this class. More...

const Text_t * GetParaName ()
 Deliver name of parameter object. More...

const Text_t * GetParaClass ()
 Deliver class of parameter object. More...

const Text_t * GetParaMember (Int_t i)
 Name of the parameter member at index i. More...

const Text_t * GetParaMemType (Int_t i)
 Classname of the parameter member at index i. More...

const Text_t * GetParaMemVal (Int_t i)
 String expression of the member value at index i. More...

const Text_t * GetParaMemComment (Int_t i)
 Comments for parameter class member at index i. More...

void SetParaMemVal (Int_t i, const Text_t *val)
 Set member value at index i to the string expression val. More...

void SetFitPointerAddress (Long_t add)
 When opening fit editor, keep member address of edited fitter pointer. More...

TGo4FitterGetLastFitter ()
void UpdateLastFitter (TGo4Fitter *source)
 If parameter contains fitter reference, we update the last edited one. More...

const Int_t GetParaMemArrIndex (Int_t i)
 If member is an array, this delivers the index of the array entry which is at position i in our member list. More...

const Int_t GetParaMemArrIndey (Int_t i)
 Index in case of 2d array. More...

Bool_t IsParaMemVisible (Int_t i)
 is kTRUE if this member shall be visible to the editor. More...

void SetParaMemVisible (Int_t i, Bool_t on)
 update the visibility state depending on gui actions. More...

void ResetParameterList ()
 Reset iterator of TGo4Parameter subclass list. More...

const Text_t * NextParameterClass ()
 Get next classname in TGo4Parameter subclass list. More...


Private Methods

void UpdateMemberLists ()
 Recreate the list of datamembers, types and values. More...

void EvalMembers (TClass *cl, Long_t baseoffset=0)
 Add member info of (base-) class cl to the list In case of baseclass, the offset relative to thispointer of inherited class is passed. More...

const Text_t * ValueString (const Text_t *type, Long_t address)
 Deliver string representation of data member from offset and full address (thispointer+memberoffset). More...

void SetCast (const Text_t *memtype, Long_t address)
 Set the correct downcasted pointer of data at address. More...

void SetValue (const Text_t *memtype, const Text_t *expression, Long_t address)
 Set value from string expression to a certain memory address. More...

void BuildParameterList ()
 Setup list of all known TGo4Parameter subclasses from gROOT. More...


Private Attributes

TGo4ParameterfxPara
TClass * fxParaClass
 reference to parameter class. More...

TList * fxDatamembers
 reference to TClass list of datamembers. More...

Int_t fiMemNum
 Number of members in parameter class. More...

TObjArray fxNames
 Array with strings of member names. More...

TObjArray fxTypes
 Array with strings of member types. More...

TObjArray fxVals
 Array with member values in string representation. More...

TObjArray fxComments
 Array with comments to member field. More...

vector< Long_t > fxAddress
 This holds the complete address pointer of member i. More...

vector< Int_t > fxArrayIndex
 If datamember i is part of an array, this keeps the index. More...

vector< Int_t > fxArrayIndey
 If datamember i is part of a 2d array, this keeps the y-index. More...

vector< Bool_t > fbMemberVisible
 this flag defines whether the member should be displayed. More...

Float_t * fxDataFloat
 Pointers to current member if matching the type. More...

Double_t * fxDataDouble
Int_t * fxDataInt
UInt_t * fxDataUInt
Short_t * fxDataShort
Char_t * fxDataChar
Long_t * fxDataLong
Bool_t * fxDataBool
UShort_t * fxDataUShort
UChar_t * fxDataUChar
ULong_t * fxDataULong
TString * fxDataString
TGo4Fitter ** fxFitPointer
 If parameter contains fitter aggregates, this points to the last active. More...

Int_t fiDatatypeSize
 sizeof the current data type in byte. More...

Text_t fcTextBuffer [256]
 general textbuffer for passing strings to qt. More...

TList fxParaClassList
 list of all available subclasses of TGo4Parameter. More...

TIterator * fxNextParaClass
 iterator for list of parameter classes. More...


Detailed Description

Author:
J.Adamczewski

Definition at line 32 of file TGo4ParaEditStatus.h.


Constructor & Destructor Documentation

TGo4ParaEditStatus::TGo4ParaEditStatus const char *    name,
const char *    title
 

Definition at line 31 of file TGo4ParaEditStatus.cxx.

References BuildParameterList(), fxPara, and UpdateMemberLists().

TGo4ParaEditStatus::~TGo4ParaEditStatus   [virtual]
 

Definition at line 43 of file TGo4ParaEditStatus.cxx.

References fxNextParaClass, and fxPara.


Member Function Documentation

void TGo4ParaEditStatus::UpdateParameter TGo4Parameter   source
 

Definition at line 50 of file TGo4ParaEditStatus.cxx.

References fxPara, and UpdateMemberLists().

Referenced by TGo4ParaEditSlots::AddObject(), and LoadParameter().

Bool_t TGo4ParaEditStatus::LoadParameter const Text_t *    filename,
const Text_t *    parname = 0
 

Exchange current parameter by object parname taken from root file filename.

Default is current parname

Definition at line 531 of file TGo4ParaEditStatus.cxx.

References fxPara, and UpdateParameter().

TGo4Parameter* TGo4ParaEditStatus::GetParameter   [inline]
 

Save current parameter to root file filename.

saved parameter may have different name parname later

Definition at line 49 of file TGo4ParaEditStatus.h.

References fxPara.

Referenced by TGo4ParaEditSlots::SendApplyCommand(), and TGo4ParaEditSlots::SendRefreshCommand().

Int_t TGo4ParaEditStatus::GetMemNumber   [inline]
 

Definition at line 51 of file TGo4ParaEditStatus.h.

References fiMemNum.

Long_t TGo4ParaEditStatus::GetMemberAddress Int_t    i
 

Access to the absolute address of datamember.

Definition at line 218 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxAddress, and i.

void TGo4ParaEditStatus::SetParaName const Text_t *    name
 

New mode only: specify name of the new parameter.

Definition at line 73 of file TGo4ParaEditStatus.cxx.

References fxPara.

void TGo4ParaEditStatus::SetParaClass const Text_t *    name
 

New mode only: create parameter of this class.

Definition at line 83 of file TGo4ParaEditStatus.cxx.

References fcTextBuffer, fxPara, and UpdateMemberLists().

const Text_t * TGo4ParaEditStatus::GetParaName  
 

Deliver name of parameter object.

Definition at line 104 of file TGo4ParaEditStatus.cxx.

References fxPara.

const Text_t * TGo4ParaEditStatus::GetParaClass  
 

Deliver class of parameter object.

Definition at line 110 of file TGo4ParaEditStatus.cxx.

References fxParaClass.

const Text_t * TGo4ParaEditStatus::GetParaMember Int_t    i
 

Name of the parameter member at index i.

Definition at line 116 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxNames, and i.

const Text_t * TGo4ParaEditStatus::GetParaMemType Int_t    i
 

Classname of the parameter member at index i.

Definition at line 133 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxTypes, and i.

Referenced by GetParaMemVal(), and SetParaMemVal().

const Text_t * TGo4ParaEditStatus::GetParaMemVal Int_t    i
 

String expression of the member value at index i.

Definition at line 150 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxAddress, GetParaMemType(), i, and ValueString().

const Text_t * TGo4ParaEditStatus::GetParaMemComment Int_t    i
 

Comments for parameter class member at index i.

Definition at line 161 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxComments, and i.

void TGo4ParaEditStatus::SetParaMemVal Int_t    i,
const Text_t *    val
 

Set member value at index i to the string expression val.

String will be converted into correct member type according GetParaMemType

Definition at line 177 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxAddress, GetParaMemType(), i, and SetValue().

void TGo4ParaEditStatus::SetFitPointerAddress Long_t    add [inline]
 

When opening fit editor, keep member address of edited fitter pointer.

Definition at line 86 of file TGo4ParaEditStatus.h.

References fxFitPointer.

TGo4Fitter* TGo4ParaEditStatus::GetLastFitter   [inline]
 

Definition at line 90 of file TGo4ParaEditStatus.h.

void TGo4ParaEditStatus::UpdateLastFitter TGo4Fitter   source
 

If parameter contains fitter reference, we update the last edited one.

Definition at line 61 of file TGo4ParaEditStatus.cxx.

References fxFitPointer.

const Int_t TGo4ParaEditStatus::GetParaMemArrIndex Int_t    i
 

If member is an array, this delivers the index of the array entry which is at position i in our member list.

Will be <0 if member is not an array. Note that this index is different from our general bookkeeping index i of _all_ members.

Definition at line 186 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxArrayIndex, and i.

const Int_t TGo4ParaEditStatus::GetParaMemArrIndey Int_t    i
 

Index in case of 2d array.

Definition at line 194 of file TGo4ParaEditStatus.cxx.

References fiMemNum, fxArrayIndey, and i.

Bool_t TGo4ParaEditStatus::IsParaMemVisible Int_t    i
 

is kTRUE if this member shall be visible to the editor.

Definition at line 203 of file TGo4ParaEditStatus.cxx.

References fbMemberVisible, fiMemNum, and i.

void TGo4ParaEditStatus::SetParaMemVisible Int_t    i,
Bool_t    on
 

update the visibility state depending on gui actions.

Definition at line 211 of file TGo4ParaEditStatus.cxx.

References fbMemberVisible, fiMemNum, and i.

void TGo4ParaEditStatus::ResetParameterList  
 

Reset iterator of TGo4Parameter subclass list.

Definition at line 589 of file TGo4ParaEditStatus.cxx.

References fxNextParaClass.

const Text_t * TGo4ParaEditStatus::NextParameterClass  
 

Get next classname in TGo4Parameter subclass list.

Returns 0 if list is at end.

Definition at line 599 of file TGo4ParaEditStatus.cxx.

References fxNextParaClass.

void TGo4ParaEditStatus::UpdateMemberLists   [private]
 

Recreate the list of datamembers, types and values.

Definition at line 225 of file TGo4ParaEditStatus.cxx.

References EvalMembers(), fbMemberVisible, fiMemNum, fxAddress, fxArrayIndex, fxArrayIndey, fxComments, fxNames, fxPara, fxParaClass, fxTypes, and fxVals.

Referenced by SetParaClass(), TGo4ParaEditStatus(), and UpdateParameter().

void TGo4ParaEditStatus::EvalMembers TClass *    cl,
Long_t    baseoffset = 0
[private]
 

Add member info of (base-) class cl to the list In case of baseclass, the offset relative to thispointer of inherited class is passed.

Definition at line 254 of file TGo4ParaEditStatus.cxx.

References fbMemberVisible, fcTextBuffer, fiDatatypeSize, fiMemNum, fxAddress, fxArrayIndex, fxArrayIndey, fxComments, fxNames, fxPara, fxTypes, fxVals, SetCast(), and ValueString().

Referenced by UpdateMemberLists().

const Text_t * TGo4ParaEditStatus::ValueString const Text_t *    type,
Long_t    address
[private]
 

Deliver string representation of data member from offset and full address (thispointer+memberoffset).

Definition at line 381 of file TGo4ParaEditStatus.cxx.

References fcTextBuffer, fxDataBool, fxDataChar, fxDataDouble, fxDataFloat, fxDataInt, fxDataLong, fxDataShort, fxDataUChar, fxDataUInt, fxDataULong, fxDataUShort, and SetCast().

Referenced by EvalMembers(), and GetParaMemVal().

void TGo4ParaEditStatus::SetCast const Text_t *    memtype,
Long_t    address
[private]
 

Set the correct downcasted pointer of data at address.

Pointer for type memtype is set, other pointers reset to zero

Definition at line 403 of file TGo4ParaEditStatus.cxx.

References fiDatatypeSize, fxDataBool, fxDataChar, fxDataDouble, fxDataFloat, fxDataInt, fxDataLong, fxDataShort, fxDataString, fxDataUChar, fxDataUInt, fxDataULong, and fxDataUShort.

Referenced by EvalMembers(), SetValue(), and ValueString().

void TGo4ParaEditStatus::SetValue const Text_t *    memtype,
const Text_t *    expression,
Long_t    address
[private]
 

Set value from string expression to a certain memory address.

expression will be converted according the memtype, and then copied to the location at address.

Definition at line 510 of file TGo4ParaEditStatus.cxx.

References fxDataBool, fxDataChar, fxDataDouble, fxDataFloat, fxDataInt, fxDataLong, fxDataShort, fxDataString, fxDataUChar, fxDataUInt, fxDataULong, fxDataUShort, and SetCast().

Referenced by SetParaMemVal().

void TGo4ParaEditStatus::BuildParameterList   [private]
 

Setup list of all known TGo4Parameter subclasses from gROOT.

Definition at line 568 of file TGo4ParaEditStatus.cxx.

References fxNextParaClass, and fxParaClassList.

Referenced by TGo4ParaEditStatus().


Member Data Documentation

TGo4Parameter* TGo4ParaEditStatus::fxPara [private]
 

Definition at line 152 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParameter(), GetParaName(), LoadParameter(), SetParaClass(), SetParaName(), TGo4ParaEditStatus(), UpdateMemberLists(), UpdateParameter(), and ~TGo4ParaEditStatus().

TClass* TGo4ParaEditStatus::fxParaClass [private]
 

reference to parameter class.

Definition at line 155 of file TGo4ParaEditStatus.h.

Referenced by GetParaClass(), and UpdateMemberLists().

TList* TGo4ParaEditStatus::fxDatamembers [private]
 

reference to TClass list of datamembers.

Definition at line 158 of file TGo4ParaEditStatus.h.

Int_t TGo4ParaEditStatus::fiMemNum [private]
 

Number of members in parameter class.

Definition at line 161 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetMemberAddress(), GetMemNumber(), GetParaMemArrIndex(), GetParaMemArrIndey(), GetParaMember(), GetParaMemComment(), GetParaMemType(), GetParaMemVal(), IsParaMemVisible(), SetParaMemVal(), SetParaMemVisible(), and UpdateMemberLists().

TObjArray TGo4ParaEditStatus::fxNames [private]
 

Array with strings of member names.

Definition at line 164 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParaMember(), and UpdateMemberLists().

TObjArray TGo4ParaEditStatus::fxTypes [private]
 

Array with strings of member types.

Definition at line 167 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParaMemType(), and UpdateMemberLists().

TObjArray TGo4ParaEditStatus::fxVals [private]
 

Array with member values in string representation.

Definition at line 170 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), and UpdateMemberLists().

TObjArray TGo4ParaEditStatus::fxComments [private]
 

Array with comments to member field.

Definition at line 173 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParaMemComment(), and UpdateMemberLists().

vector<Long_t> TGo4ParaEditStatus::fxAddress [private]
 

This holds the complete address pointer of member i.

Definition at line 176 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetMemberAddress(), GetParaMemVal(), SetParaMemVal(), and UpdateMemberLists().

vector<Int_t> TGo4ParaEditStatus::fxArrayIndex [private]
 

If datamember i is part of an array, this keeps the index.

Is negative in case of no array

Definition at line 180 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParaMemArrIndex(), and UpdateMemberLists().

vector<Int_t> TGo4ParaEditStatus::fxArrayIndey [private]
 

If datamember i is part of a 2d array, this keeps the y-index.

Is negative in case of no array

Definition at line 184 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), GetParaMemArrIndey(), and UpdateMemberLists().

vector<Bool_t> TGo4ParaEditStatus::fbMemberVisible [private]
 

this flag defines whether the member should be displayed.

Definition at line 187 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), IsParaMemVisible(), SetParaMemVisible(), and UpdateMemberLists().

Float_t* TGo4ParaEditStatus::fxDataFloat [private]
 

Pointers to current member if matching the type.

Otherwise zero.

Definition at line 190 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Double_t* TGo4ParaEditStatus::fxDataDouble [private]
 

Definition at line 191 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Int_t* TGo4ParaEditStatus::fxDataInt [private]
 

Definition at line 192 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

UInt_t* TGo4ParaEditStatus::fxDataUInt [private]
 

Definition at line 193 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Short_t* TGo4ParaEditStatus::fxDataShort [private]
 

Definition at line 194 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Char_t* TGo4ParaEditStatus::fxDataChar [private]
 

Definition at line 195 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Long_t* TGo4ParaEditStatus::fxDataLong [private]
 

Definition at line 196 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

Bool_t* TGo4ParaEditStatus::fxDataBool [private]
 

Definition at line 197 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

UShort_t* TGo4ParaEditStatus::fxDataUShort [private]
 

Definition at line 198 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

UChar_t* TGo4ParaEditStatus::fxDataUChar [private]
 

Definition at line 199 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

ULong_t* TGo4ParaEditStatus::fxDataULong [private]
 

Definition at line 200 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), SetValue(), and ValueString().

TString* TGo4ParaEditStatus::fxDataString [private]
 

Definition at line 201 of file TGo4ParaEditStatus.h.

Referenced by SetCast(), and SetValue().

TGo4Fitter** TGo4ParaEditStatus::fxFitPointer [private]
 

If parameter contains fitter aggregates, this points to the last active.

Definition at line 204 of file TGo4ParaEditStatus.h.

Referenced by SetFitPointerAddress(), and UpdateLastFitter().

Int_t TGo4ParaEditStatus::fiDatatypeSize [private]
 

sizeof the current data type in byte.

For array evaluation.

Definition at line 207 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), and SetCast().

Text_t TGo4ParaEditStatus::fcTextBuffer[256] [private]
 

general textbuffer for passing strings to qt.

Definition at line 209 of file TGo4ParaEditStatus.h.

Referenced by EvalMembers(), SetParaClass(), and ValueString().

TList TGo4ParaEditStatus::fxParaClassList [private]
 

list of all available subclasses of TGo4Parameter.

Definition at line 212 of file TGo4ParaEditStatus.h.

Referenced by BuildParameterList().

TIterator* TGo4ParaEditStatus::fxNextParaClass [private]
 

iterator for list of parameter classes.

Definition at line 215 of file TGo4ParaEditStatus.h.

Referenced by BuildParameterList(), NextParameterClass(), ResetParameterList(), and ~TGo4ParaEditStatus().


The documentation for this class was generated from the following files:
Generated on Tue Nov 8 10:56:48 2005 for Go4-v2.10-5 by doxygen1.2.15