v2.10-0 (21000JUN2005)

Go4GUI
Class TGo4ParaEditStatus


class TGo4ParaEditStatus
derived from TGo4Status

Author:
J.Adamczewski

Field Summary
 private vectorfbMemberVisible
          this flag defines whether the member should be displayed
 private Text_t[256]fcTextBuffer
          general textbuffer for passing strings to qt
 private Int_tfiDatatypeSize
          sizeof the current data type in byte.
 private Int_tfiMemNum
          Number of members in parameter class
 private vectorfxAddress
          This holds the complete address pointer of member i
 private vectorfxArrayIndex
          If datamember i is part of an array, this keeps the index.
 private vectorfxArrayIndey
          If datamember i is part of a 2d array, this keeps the y-index.
 private TObjArrayfxComments
          Array with comments to member field
 private Bool_t*fxDataBool
           
 private Char_t*fxDataChar
           
 private Double_t*fxDataDouble
           
 private Float_t*fxDataFloat
          Pointers to current member if matching the type.
 private Int_t*fxDataInt
           
 private Long_t*fxDataLong
           
 private TList*fxDatamembers
          reference to TClass list of datamembers
 private Short_t*fxDataShort
           
 private TString*fxDataString
           
 private UChar_t*fxDataUChar
           
 private UInt_t*fxDataUInt
           
 private ULong_t*fxDataULong
           
 private UShort_t*fxDataUShort
           
 private TGo4Fitter* *fxFitPointer
          If parameter contains fitter aggregates, this points to the last active
 private TObjArrayfxNames
          Array with strings of member names
 private TIterator*fxNextParaClass
          iterator for list of parameter classes
 private TGo4Parameter*fxPara
           
 private TClass*fxParaClass
          reference to parameter class
 private TListfxParaClassList
          list of all available subclasses of TGo4Parameter
 private TObjArrayfxTypes
          Array with strings of member types
 private TObjArrayfxVals
          Array with member values in string representation

Fields inherited from class TNamed
fName, fTitle

Constructor Summary
TGo4ParaEditStatus(const char * name, const char * title)
           

Destructor Summary
 virtual synchronized ~TGo4ParaEditStatus()
           

Method Summary
 private voidBuildParameterList()
          Setup list of all known TGo4Parameter subclasses from gROOT
 private voidEvalMembers(TClass* cl, Long_t baseoffset)
          Add member info of (base-) class cl to the list
In case of baseclass, the offset relative to thispointer
of inherited class is passed
 TGo4Fitter*GetLastFitter()
           
 Long_tGetMemberAddress(Int_t i)
          Access to the absolute address of datamember
 Int_tGetMemNumber()
           
 const const Text_t*GetParaClass()
          Deliver class of parameter object
 const const Int_tGetParaMemArrIndex(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.
 const const Int_tGetParaMemArrIndey(Int_t i)
          Index in case of 2d array
 const const Text_t*GetParaMember(Int_t i)
          Name of the parameter member at index i
 const const Text_t*GetParaMemComment(Int_t i)
          Comments for parameter class member at index i
 const const Text_t*GetParaMemType(Int_t i)
          Classname of the parameter member at index i
 const const Text_t*GetParaMemVal(Int_t i)
          String expression of the member value at index i
 TGo4Parameter*GetParameter()
          Save current parameter to root file filename.
saved parameter may have different name parname later
 const const Text_t*GetParaName()
          Deliver name of parameter object
 Bool_tIsParaMemVisible(Int_t i)
          is kTRUE if this member shall be visible to the editor
 Bool_tLoadParameter(const Text_t* filename, const Text_t* parname)
          Exchange current parameter by object parname taken
from root file filename.
 const const Text_t*NextParameterClass()
          Get next classname in TGo4Parameter subclass list.
 voidResetParameterList()
          Reset iterator of TGo4Parameter subclass list
 private voidSetCast(const Text_t* memtype, Long_t address)
          Set the correct downcasted pointer of data at address.
 voidSetFitPointerAddress(Long_t add)
          When opening fit editor, keep member address of edited fitter pointer
 voidSetParaClass(const Text_t* name)
          New mode only: create parameter of this class
 voidSetParaMemVal(Int_t i, const Text_t* val)
          Set member value at index i to the string expression val.
 voidSetParaMemVisible(Int_t i, Bool_t on)
          update the visibility state depending on gui actions
 voidSetParaName(const Text_t* name)
          New mode only: specify name of the new parameter
 private voidSetValue(const Text_t* memtype, const Text_t* expression, Long_t address)
          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.
 voidUpdateLastFitter(TGo4Fitter* source)
          If parameter contains fitter reference, we update the last
edited one
 private voidUpdateMemberLists()
          Recreate the list of datamembers, types and values
 voidUpdateParameter(TGo4Parameter* source)
           
 private const const Text_t*ValueString(const Text_t* type, Long_t address)
          Deliver string representation of data member from offset
and full address (thispointer+memberoffset)

Methods inherited from class Go4StatusBase.TGo4Status
Print, PrintBuffer, PrintIndent, PrintStatus

Methods inherited from class TNamed
operator=, Clear, Clone, Compare, Copy, FillBuffer, GetName, GetTitle, Hash, IsSortable, SetName, SetNameTitle, SetTitle, ls, Sizeof, Class, Class_Name, Class_Version, Dictionary, IsA, ShowMembers, Streamer, StreamerNVirtual, DeclFileName, ImplFileLine, ImplFileName, DeclFileLine

Field Detail

fbMemberVisible

private vector fbMemberVisible
this flag defines whether the member should be displayed

fcTextBuffer

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

fiDatatypeSize

private Int_t fiDatatypeSize
sizeof the current data type in byte. For array evaluation.

fiMemNum

private Int_t fiMemNum
Number of members in parameter class

fxAddress

private vector fxAddress
This holds the complete address pointer of member i

fxArrayIndex

private vector fxArrayIndex
If datamember i is part of an array, this keeps the index.
Is negative in case of no array

fxArrayIndey

private vector fxArrayIndey
If datamember i is part of a 2d array, this keeps the y-index.
Is negative in case of no array

fxComments

private TObjArray fxComments
Array with comments to member field

fxDataBool

private Bool_t* fxDataBool

fxDataChar

private Char_t* fxDataChar

fxDataDouble

private Double_t* fxDataDouble

fxDataFloat

private Float_t* fxDataFloat
Pointers to current member if matching the type. Otherwise zero.

fxDataInt

private Int_t* fxDataInt

fxDataLong

private Long_t* fxDataLong

fxDatamembers

private TList* fxDatamembers
reference to TClass list of datamembers

fxDataShort

private Short_t* fxDataShort

fxDataString

private TString* fxDataString

fxDataUChar

private UChar_t* fxDataUChar

fxDataUInt

private UInt_t* fxDataUInt

fxDataULong

private ULong_t* fxDataULong

fxDataUShort

private UShort_t* fxDataUShort

fxFitPointer

private TGo4Fitter* * fxFitPointer
If parameter contains fitter aggregates, this points to the last active

fxNames

private TObjArray fxNames
Array with strings of member names

fxNextParaClass

private TIterator* fxNextParaClass
iterator for list of parameter classes

fxPara

private TGo4Parameter* fxPara

fxParaClass

private TClass* fxParaClass
reference to parameter class

fxParaClassList

private TList fxParaClassList
list of all available subclasses of TGo4Parameter

fxTypes

private TObjArray fxTypes
Array with strings of member types

fxVals

private TObjArray fxVals
Array with member values in string representation
Constructor Detail

TGo4ParaEditStatus

public TGo4ParaEditStatus(const char * name, const char * title)
Method Detail

~TGo4ParaEditStatus

public virtual synchronized ~TGo4ParaEditStatus()
Method Detail

BuildParameterList

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

EvalMembers

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

GetLastFitter

public TGo4Fitter* GetLastFitter()

GetMemberAddress

public Long_t GetMemberAddress(Int_t i)
Access to the absolute address of datamember

GetMemNumber

public Int_t GetMemNumber()

GetParaClass

public const const Text_t* GetParaClass()
Deliver class of parameter object

GetParaMemArrIndex

public const 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.
Will be <0 if member is not an array. Note that this index
is different from our general bookkeeping index i of _all_ members.

GetParaMemArrIndey

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

GetParaMember

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

GetParaMemComment

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

GetParaMemType

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

GetParaMemVal

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

GetParameter

public TGo4Parameter* GetParameter()
Save current parameter to root file filename.
saved parameter may have different name parname later

GetParaName

public const const Text_t* GetParaName()
Deliver name of parameter object

IsParaMemVisible

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

LoadParameter

public Bool_t LoadParameter(const Text_t* filename, const Text_t* parname)
Exchange current parameter by object parname taken
from root file filename. Default is current parname

NextParameterClass

public const const Text_t* NextParameterClass()
Get next classname in TGo4Parameter subclass list.
Returns 0 if list is at end.

ResetParameterList

public void ResetParameterList()
Reset iterator of TGo4Parameter subclass list

SetCast

private void SetCast(const Text_t* memtype, Long_t address)
Set the correct downcasted pointer of data at address.
Pointer for type memtype is set, other pointers reset to zero

SetFitPointerAddress

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

SetParaClass

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

SetParaMemVal

public void 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

SetParaMemVisible

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

SetParaName

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

SetValue

private void SetValue(const Text_t* memtype, const Text_t* expression, Long_t address)
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.

UpdateLastFitter

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

UpdateMemberLists

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

UpdateParameter

public void UpdateParameter(TGo4Parameter* source)

ValueString

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

Association Links

to Class TGo4Parameter

to Class TClass

reference to parameter class

to Class TList

reference to TClass list of datamembers

to Class TObjArray

Array with strings of member names

to Class TObjArray

Array with strings of member types

to Class TObjArray

Array with member values in string representation

to Class TObjArray

Array with comments to member field

to Class TList

list of all available subclasses of TGo4Parameter

to Class TIterator

iterator for list of parameter classes

J.Adamczewski, M.Al-Turany, D.Bertini, H.G.Essel, S.Linev

30-06-2005