118 std::cout <<
GetText() << std::endl;
330 void ListCmd(
const char *filename);
333 void ListGui(
const char *filename);
573 void ListCmd(
const char *filename)
override;
574 void ListGui(
const char *filename)
override;
ULong_t Time_t
Event time.
Handle_t Window_t
Window handle.
ULongptr_t Handle_t
Generic resource handle.
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
long Long_t
Signed long integer 4 bytes (long). Size depends on architecture.
bool Bool_t
Boolean (0=false, 1=true) (bool).
long long Long64_t
Portable signed long integer 8 bytes.
unsigned long long ULong64_t
Portable unsigned long integer 8 bytes.
const char Option_t
Option string (const char).
#define ClassDef(name, id)
#define ClassDefOverride(name, id)
externTApplication * gApplication
Using a TBrowser one can browse all ROOT objects.
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
This class handles GUI labels.
TGMainFrame(const TGMainFrame &)=delete
Window_t fFilteredIds[fgWidgetsCount]
TGPictureButton * fStartStop
TGRecorder(const TGWindow *p=nullptr, UInt_t w=230, UInt_t h=150)
The GUI for the recorder.
TGCheckButton * fCursorCheckBox
void StartStop()
Handles push of the fStartStop button according to the current recorder state.
TGPictureButton * fReplay
void Update()
Called when fTimer timeouts (every 0.025 second) Updates GUI of recorder.
static const Int_t fgWidgetsCount
~TGRecorder() override
Destructor. Cleanup the GUI.
void SetDefault()
Sets GUI to the default inactive state.
void Replay()
Handles push of fReplay button according to the current recorder state.
ROOT GUI Window base class.
Mother of all ROOT objects.
TObject()
TObject constructor.
Class used for storing information about 1 commandline event.
const char * GetText() const
ERecEventType GetType() const override
void ReplayEvent(Bool_t) override
void SetText(const char *text)
Abstract class that defines interface for a class storing information about 1 ROOT event.
virtual void ReplayEvent(Bool_t showMouseCursor=kTRUE)=0
virtual void SetTime(TTime t)
virtual TTime GetTime() const
virtual ERecEventType GetType() const =0
friend class TRecorderPaused
friend class TRecorderInactive
ERecEventType GetType() const override
friend class TRecorderRecording
static Event_t * CreateEvent(TRecGuiEvent *ge)
Converts TRecGuiEvent type to Event_t type.
void ReplayEvent(Bool_t showMouseCursor=kTRUE) override
Replays stored GUI event.
friend class TRecorderReplaying
TRecWinPair(Window_t key, Window_t value)
friend class TRecorderReplaying
void ListGui(const char *filename) override
Prints out GUI events recorded in given file.
void ListCmd(const char *filename) override
Prints out commandline events recorded in given file.
void Start(TRecorder *r, const char *filename, Option_t *option, Window_t *w=nullptr, Int_t winCount=0) override
Switches from INACTIVE state to RECORDING and starts recording.
TSeqCollection * fCollect
void PrevCanvases(const char *filename, Option_t *option) override
Save previous canvases in a .root file.
static void DumpRootEvent(TRecGuiEvent *e, Int_t n)
Prints out attributes of one GUI event TRecGuiEvent *e Int_n n is number of event if called in cycle.
~TRecorderInactive() override
static long DisplayValid(Long_t n)
TRecorder::ERecorderState GetState() const override
Bool_t Replay(TRecorder *r, const char *filename, Bool_t showMouseCursor, TRecorder::EReplayModes mode) override
Switches from INACTIVE state of recorder to REPLAYING Return kTRUE if replaying has started or kFALSE...
TRecorder::ERecorderState GetState() const override
void ReplayStop(TRecorder *r) override
Replaying is cancelled.
TRecorderReplaying * fReplayingState
~TRecorderPaused() override
void Resume(TRecorder *r) override
Continues replaying.
TRecorderPaused(TRecorderReplaying *state)
Remember the recorder state that is paused.
friend class TRecorderReplaying
TRecExtraEvent * fExtraEvent
void FilterEventPave()
Change the state of the flag to kTRUE when you are recording a pavelabel.
void RecordMousePosition()
Try to record all mouse moves...
friend class TRecorderInactive
TRecorder::ERecorderState GetState() const override
~TRecorderRecording() override
Freeing of allocated memory.
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.
void RegisterWindow(Window_t w)
This method is called when RegisteredWindow(Window_t) is emitted from TGClient.
Bool_t StartRecording()
Connects appropriate signals and slots in order to gain all registered windows and processed events i...
void StartEditing()
Memorize the starting time of editinga TLatex or a TPaveLabel.
void RecordGuiBldEvent(Event_t *e)
Special case for the gui builder, having a timer handling some of the events.
void RecordPave(const TObject *obj)
Records TPaveLabel object created in TCreatePrimitives::Pave().
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.
void RecordGuiCNEvent(Event_t *e)
Records GUI Event_t *e of type kConfigureNotify.
void RecordExtraEvent(TString line, TTime extTime)
Records TLatex or TPaveLabel object created in TCreatePrimitives, ExtTime is needed for the correct r...
void RecordGuiEvent(Event_t *e, Window_t wid)
Records GUI Event_t *e different from kConfigureNotify (they are recorded in TRecorderRecording::Reco...
void RecordText(const TObject *obj)
Records TLatex object created in TCreatePrimitives::Text().
void Stop(TRecorder *r, Bool_t guiCommand) override
Disconnects all slots and stopps recording.
void CopyEvent(Event_t *e, Window_t wid)
Copies all items of given event to fGuiEvent.
void RecordCmdEvent(const char *line)
Records commandline event (text and time) ans saves the previous commandline event This 1 event delay...
Bool_t FilterEvent(TRecGuiEvent *e)
friend class TRecorderPaused
friend class TRecorderInactive
void Pause(TRecorder *r) override
Pauses replaying.
Bool_t RemapWindowReferences()
All references to the old windows (IDs) in fNextEvent are replaced by new ones according to the mappi...
TRecExtraEvent * fExtraEvent
virtual void Continue()
Continues previously paused replaying.
Bool_t CanOverlap()
ButtonPress and ButtonRelease must be sometimes replayed more times Example: pressing of a button ope...
void ReplayStop(TRecorder *r) override
Cancels replaying.
TRecorder::ERecorderState GetState() const override
~TRecorderReplaying() override
Closes all signal-slot connections Frees all memory allocated in constructor.
TRecorderReplaying(const char *filename)
Allocates all necessary data structures used for replaying What is allocated here is deleted in destr...
Bool_t PrepareNextEvent()
Finds the next event in log file to replay and sets it to fNextEvent.
Bool_t Initialize(TRecorder *r, Bool_t showMouseCursor, TRecorder::EReplayModes mode)
Initialization of data structures for replaying.
void RegisterWindow(Window_t w)
Creates mapping for the newly registered window w and adds this mapping to fWindowList.
void ReplayRealtime()
Replays the next event.
Abstract class that defines interface for a state of recorder.
virtual void PrevCanvases(const char *, Option_t *)
virtual void Resume(TRecorder *)
virtual ~TRecorderState()
virtual void Start(TRecorder *, const char *, Option_t *, Window_t *, Int_t)
virtual void ListCmd(const char *)
virtual void ReplayStop(TRecorder *)
void ChangeState(TRecorder *r, TRecorderState *s, Bool_t deletePreviousState)
virtual void Pause(TRecorder *)
virtual void ListGui(const char *)
virtual TRecorder::ERecorderState GetState() const =0
virtual Bool_t Replay(TRecorder *, const char *, Bool_t, TRecorder::EReplayModes)
virtual void Stop(TRecorder *, Bool_t)
Class provides direct recorder/replayer interface for a user.
~TRecorder() override
Destructor.
friend class TRecorderPaused
friend class TRecorderInactive
friend class TRecorderRecording
void Stop(Bool_t guiCommand=kFALSE)
Stopps recording events.
void ReplayStop()
Cancels replaying.
friend class TRecorderState
void Resume()
Resumes replaying.
TRecorderState * fRecorderState
! Current state of recorder
virtual TRecorder::ERecorderState GetState() const
Get current state of recorder.
void ListGui(const char *filename)
Prints out recorded GUI events.
void Start(const char *filename, Option_t *option="RECREATE", Window_t *w=nullptr, Int_t winCount=0)
Starts recording events.
void Pause()
Pauses replaying.
TRecorder & operator=(const TRecorder &)
TRecorder(const TRecorder &)
void Browse(TBrowser *) override
Browse the recorder from a ROOT file.
void ListCmd(const char *filename)
Prints out recorded commandline events.
friend class TRecorderReplaying
TRecorder()
Creates initial INACTIVE state for the recorder.
void PrevCanvases(const char *filename, Option_t *option)
Save previous canvases in a .root file.
void ChangeState(TRecorderState *newstate, Bool_t deletePreviousState=kTRUE)
Changes state from the current to the passed one (newstate) Deletes the old state if delPreviousState...
Sequenceable collection abstract base class.
Basic time type with millisecond precision.
Handles synchronous and a-synchronous timer events.
A TTree represents a columnar dataset.