Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:11:48

0001 // @(#)root/gui:$Id$
0002 // Author: Bertrand Bellenot   26/09/2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2021, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TGCommandPlugin
0013 #define ROOT_TGCommandPlugin
0014 
0015 
0016 #include "TGFrame.h"
0017 
0018 class TGLabel;
0019 class TGComboBox;
0020 class TGTextEntry;
0021 class TGTextBuffer;
0022 class TGTextView;
0023 class TTimer;
0024 
0025 class TGCommandPlugin : public TGMainFrame {
0026 
0027 protected:
0028    Bool_t             fHistAdd;           ///< flag to add commands to history
0029    Int_t              fPid;               ///< current process id
0030    Int_t              fPos;               ///< current history position
0031    TGHorizontalFrame *fHf;                ///< horizontal frame
0032    TGLabel           *fLabel;             ///< "command :" label
0033    TGComboBox        *fComboCmd;          ///< commands combobox
0034    TGTextEntry       *fCommand;           ///< command text entry widget
0035    TGTextBuffer      *fCommandBuf;        ///< command text buffer
0036    TGTextView        *fStatus;            ///< output capture view
0037    TTimer            *fTimer;             ///< for local/remote update
0038    TString           fTempString;         ///< temporary command string
0039 
0040 public:
0041 
0042    TGCommandPlugin(const TGWindow *p, UInt_t w, UInt_t h);
0043    ~TGCommandPlugin() override;
0044 
0045    void           CheckRemote(const char * /*str*/);
0046    void           HandleArrows(Int_t keysym);
0047    void           HandleCommand();
0048    void           HandleTab();
0049    void           HandleTextChanged(const char *);
0050    Bool_t         GetHistAdd() { return fHistAdd; }
0051    void           SetHistAdd(Bool_t add = kTRUE);
0052 
0053    Bool_t         HandleTimer(TTimer *t) override;
0054    void           ToggleTimer(Bool_t on);
0055 
0056    ClassDefOverride(TGCommandPlugin, 0) // Command (I/O redirection) plugin for the new ROOT Browser
0057 };
0058 
0059 #endif