ROOT logo
ROOT » GUI » RECORDER » TRecorderRecording

class TRecorderRecording: public TRecorderState

 Represents state of TRecorder when recording events

Function Members (Methods)

public:
TRecorderRecording(const TRecorderRecording&)
static TClass*Class()
voidFilterEventPave()
virtual TRecorder::ERecorderStateGetState() const
virtual TClass*IsA() const
virtual voidTRecorderState::ListCmd(const char*)
virtual voidTRecorderState::ListGui(const char*)
TRecorderRecording&operator=(const TRecorderRecording&)
virtual voidTRecorderState::Pause(TRecorder*)
virtual voidTRecorderState::PrevCanvases(const char*, Option_t*)
voidRecordCmdEvent(const char* line)
voidRecordExtraEvent(TString line, ULong_t ExtTime)
voidRecordGuiBldEvent(Event_t* e)
voidRecordGuiCNEvent(Event_t* e)
voidRecordGuiEvent(Event_t* e, Window_t wid)
voidRecordMousePosition()
voidRecordPave(const TObject* obj)
voidRecordText(const TObject* obj)
voidRegisterWindow(Window_t w)
virtual Bool_tTRecorderState::Replay(TRecorder*, const char*, Bool_t, TRecorder::EReplayModes)
virtual voidTRecorderState::ReplayStop(TRecorder*)
virtual voidTRecorderState::Resume(TRecorder*)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidTRecorderState::Start(TRecorder*, const char*, Option_t*, Window_t*, Int_t)
voidStartEditing()
virtual voidStop(TRecorder* r, Bool_t guiCommand)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
protected:
TRecorderRecording(TRecorder* r, const char* filename, Option_t* option, Window_t* w, Int_t winCount)
voidTRecorderState::ChangeState(TRecorder* r, TRecorderState* s, Bool_t deletePreviousState)
Bool_tStartRecording()
private:
(unknown)()
voidCopyEvent(Event_t* e, Window_t wid)
Bool_tIsFiltered(Window_t id)
voidSetTypeOfConfigureNotify(Event_t* e)

Data Members

private:
ULong_tfBeginPaveTLatex/TPaveLabel edition starting time
TRecCmdEvent*fCmdEventThe newest commandline event to be stored in TTree
Bool_tfCmdEventPendingIndication if there is a still pending commandline event that should be stored.
TTree*fCmdTreeTTree with recorded commandline events
TRecExtraEvent*fExtraEventThe newest extra event to be stored in TTree
TTree*fExtraTreeTTree with recorded extra events (PaveLabels and Texts)
TFile*fFileROOT file to store recorded events in
Bool_tfFilterEventPaveSpecial flag to filter events during the pave recording
Window_t*fFilteredIdsOnly when GUI for recorer is used: IDs of windows that creates that GUI.
Int_tfFilteredIdsCountOnly when GUI for recorder is used: Count of windows in GUI recorder
TRecGuiEvent*fGuiEventThe newest GUI event to be stored in TTree
TTree*fGuiTreeTTree with recorded GUI events
TTimer*fMouseTimerTimer used for recording mouse position
TRecorder*fRecorderReference to recorder (owner of this state) is kept in order to switch
Int_tfRegWinCounterCounter of registered ROOT windows.
TTimer*fTimerTimer used for recording
ULong64_tfWinThe newest registered window to be stored in TTree
TTree*fWinTreeTTree with registered windows

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TRecorderRecording(TRecorder* r, const char* filename, Option_t* option, Window_t* w, Int_t winCount)
 Initializes TRecorderRecording for recording
 What is allocated here is deleted in destructor
Bool_t StartRecording()
 Connects appropriate signals and slots in order to gain all registered
 windows and processed events in ROOT and then starts recording
void Stop(TRecorder* r, Bool_t guiCommand)
 Disconnects all slots and stopps recording.
void RegisterWindow(Window_t w)
 This method is called when RegisteredWindow(Window_t) is emitted from
 TGClient.
void RecordCmdEvent(const char* line)
 Records commandline event (text and time) ans saves the previous
 commandline event
 This 1 event delay in saving ensures that the last commandline events
 'TRecorder::Stop' will be not stored
void RecordGuiEvent(Event_t* e, Window_t wid)
 Records GUI Event_t *e different from kConfigureNotify (they are
 recorded in TRecorderRecording::RecordGuiCNEvent)

 It is called via signal-slot when an event is processed in
 TGClient::HandleEvent(Event_t *event)
 or in TGClient::HandleMaskEvent(Event_t *event, Window_t wid)

 If signal is emitted from TGClient::HandleEvent(Event_t *event),
 then wid = 0
void RecordGuiBldEvent(Event_t* e)
 Special case for the gui builder, having a timer handling some of the
 events.
void RecordMousePosition()
 Try to record all mouse moves...
void RecordGuiCNEvent(Event_t* e)
 Records GUI Event_t *e of type kConfigureNotify.
 It is called via signal-slot when an kConfigureNotify event is processed
 in TGFrame::HandleEvent
void RecordPave(const TObject* obj)
 Records TPaveLabel object created in TCreatePrimitives::Pave()
void RecordText(const TObject* obj)
 Records TLatex object created in TCreatePrimitives::Text()
void FilterEventPave()
 Change the state of the flag to kTRUE when you are recording a pavelabel.
void StartEditing()
 Memorize the starting time of editinga TLatex or a TPaveLabel
void RecordExtraEvent(TString line, ULong_t ExtTime)
 Records TLatex or TPaveLabel object created in TCreatePrimitives,
 ExtTime is needed for the correct replay of these events.
void CopyEvent(Event_t* e, Window_t wid)
 Copies all items of given event to fGuiEvent
Bool_t IsFiltered(Window_t id)
 Returns kTRUE if passed id belongs to window IDs of recorder GUI itself
void SetTypeOfConfigureNotify(Event_t* e)
 Sets type of kConfigureNotify event to one of EConfigureNotify

 On Linux paremeters of GUI event kConfigureNotify are different
 than parameters of the same event executed on Windows.
 Therefore we need to distinguish [on Linux], if the event is movement
 or resize event.
 On Windows, we do not need to distinguish them.
TRecorder::ERecorderState GetState() const
 Gets current state of recorder
TRecorderRecording(TRecorder* r, const char* filename, Option_t* option, Window_t* w, Int_t winCount)