83#include "RConfigure.h"
101 "ROOT files",
"*.root",
132 "TRootBrowser",
this,
133 "EventInfo(Int_t, Int_t, Int_t, TObject*)");
156 "TRootBrowser",
this,
157 "EventInfo(Int_t, Int_t, Int_t, TObject*)");
219 "HandleMenu(Int_t)");
239#if defined(R__HAS_COCOA)
265 fTabRight->
Connect(
"Selected(Int_t)",
"TRootBrowser",
this,
"DoTab(Int_t)");
266 fTabRight->
Connect(
"CloseTab(Int_t)",
"TRootBrowser",
this,
"CloseTab(Int_t)");
286 int parts[] = { 33, 10, 10, 47 };
304 if (!strcmp(
gROOT->GetDefCanvasName(),
"c1"))
305 gROOT->SetDefCanvasName(
"Canvas_1");
412 this,
"EventInfo(Int_t, Int_t, Int_t, TObject*)");
419 if (!container)
continue;
447 if (!container)
continue;
477 if (!container)
continue;
502 Emit(
"CloseWindow()");
511 this,
"EventInfo(Int_t, Int_t, Int_t, TObject*)");
532 const Int_t kTMAX=256;
533 static char atext[kTMAX];
544 snprintf(atext, kTMAX,
"%c", (
char) px);
546 snprintf(atext, kTMAX,
"%d,%d", px, py);
561 if (cmd && strlen(cmd)) {
567 else if (fname && strlen(fname)) {
570 if (t > 0) pname.
Remove(t);
576 return gROOT->ProcessLine(command.
Data());
579 retval =
gROOT->ProcessLine(command.
Data());
580 if (command.
Contains(
"new TCanvas")) {
581 pname =
gPad->GetName();
640 switch ((
EKeySym)keysym & ~0x20) {
683 static Int_t eNr = 1;
705 gROOT->ProcessLine(
Form(
"new TFile(\"%s\");",
711 gROOT->ProcessLine(
Form(
"new TFile(\"%s\");",
732 sprintf(str,
"About ROOT %s...",
gROOT->GetVersion());
751 hd =
new TRootHelpDialog(
this,
"Help on Graphics Editor...", 600, 400);
779 cmd.
Form(
"new TGTextEditor((const char *)0, gClient->GetRoot())");
785 gROOT->ProcessLine(
"new TCanvas()");
790 cmd.
Form(
"new TGHtmlBrowser(\"%s\", gClient->GetRoot())",
791 gEnv->
GetValue(
"Browser.StartUrl",
"http://root.cern.ch"));
811 strlcpy(command,
"new TGLSAViewer(gClient->GetRoot(), 0);",
814 "Enter plugin command line:",
816 if (strcmp(command,
"")) {
850 if ((opt == 0) || (!opt[0]))
855 if (strchr(opt,
'F')) {
856 cmd.
Form(
"new TGFileBrowser(gClient->GetRoot(), (TBrowser *)0x%zx, 200, 500);", (
size_t)
fBrowser);
863 Int_t i, len = strlen(opt);
864 for (i=0; i<len; ++i) {
867 cmd.
Form(
"new TGTextEditor((const char *)0, gClient->GetRoot());");
875 cmd.
Form(
"new TGHtmlBrowser(\"%s\", gClient->GetRoot());",
877 "http://root.cern.ch/root/html/ClassIndex.html"));
884 if ((opt[i] ==
'C') && !
IsWebGUI()) {
885 cmd.
Form(
"new TCanvas();");
892 cmd.
Form(
"new TGLSAViewer(gClient->GetRoot(), 0);");
899 cmd.
Form(
"new TSessionViewer();");
907 if (strchr(opt,
'I')) {
908 cmd.
Form(
"new TGCommandPlugin(gClient->GetRoot(), 700, 300);");
1146 el->
fFrame->
Connect(
"ProcessedConfigure(Event_t*)",
"TGCompositeFrame",
1182 if (embed && embed->
GetList()) {
1192 if (nw->
fFrame == menu) {
1208 if (popup->
GetEntry(
"Close Canvas")) {
1212 if (popup->
GetEntry(
"Close Viewer")) {
1216 if (popup->
GetEntry(
"Quit ROOT")) {
1253 Emit(
"Checked(TObject*,Bool_t)", args);
const Mask_t kKeyLockMask
const Mask_t kKeyMod1Mask
typically the Alt key
const Mask_t kKeyReleaseMask
const Mask_t kKeyPressMask
const Mask_t kKeyShiftMask
const Mask_t kKeyControlMask
const Mask_t kKeyMod2Mask
typically mod on numeric keys
R__EXTERN const char gHelpObjects[]
R__EXTERN const char gHelpPullDownMenus[]
R__EXTERN const char gHelpRemote[]
R__EXTERN const char gHelpAbout[]
R__EXTERN const char gHelpGraphicsEditor[]
R__EXTERN const char gHelpCanvas[]
R__EXTERN const char gHelpBrowser[]
R__EXTERN const char gHelpPostscript[]
R__EXTERN TApplication * gApplication
include TDocParser_001 C image html pict1_TDocParser_001 png width
R__EXTERN C unsigned int sleep(unsigned int seconds)
R__EXTERN void * gTQSender
static const char * gPluginFileTypes[]
static const char * gOpenFileTypes[]
char * Form(const char *fmt,...)
R__EXTERN TSystem * gSystem
virtual void Terminate(Int_t status=0)
Terminate the application by call TSystem::Exit() unless application has been told to return from Run...
ABC describing GUI independent browser implementation protocol.
virtual Option_t * GetDrawOption() const
virtual void BrowseObj(TObject *)
virtual void RecursiveRemove(TObject *)
virtual void Refresh(Bool_t=kFALSE)
virtual void Add(TObject *, const char *, Int_t)
TBrowser * fBrowser
TBrowser associated with this implementation.
Helper class used to manage plugins (command or macro to be executed).
TString fCommand
Command to be executed.
Int_t fSubTab
Tab element number.
Using a TBrowser one can browse all ROOT objects.
void SetBrowserImp(TBrowserImp *i)
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
virtual Bool_t IsEmpty() const
virtual Int_t GetSize() const
Return the capacity of the collection, i.e.
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
const TGWindow * GetRoot() const
Returns current root (i.e.
The base class for composite widgets (menu bars, list boxes, etc.).
virtual TList * GetList() const
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
virtual void Layout()
Layout the elements of the composite frame.
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
static TGLayoutHints * fgDefaultHints
virtual void HideFrame(TGFrame *f)
Hide sub frame.
System file browser, used as TRootBrowser plug-in.
void Selected(char *)
A ROOT File has been selected in TGHtmlBrowser.
This class creates a file selection dialog.
TList * fFileNamesList
list of selected file names
char * fFilename
selected file name
const char ** fFileTypes
file types used to filter selectable files
char * fIniDir
on input: initial directory, on output: new directory
Bool_t fMultipleSelection
if true, allow multiple file selection
void SetIniDir(const char *inidir)
Set directory name.
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
virtual void ReparentWindow(const TGWindow *p, Int_t x=0, Int_t y=0)
Reparent window, make p the new parent and position the window at position (x,y) in new parent.
virtual void DeleteWindow()
Delete window.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
void SetFrameElement(TGFrameElement *fe)
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame.
virtual void MapWindow()
map window
virtual void UnmapWindow()
unmap window
virtual void SetFrame(TGFrame *frame, Bool_t above)
Set frame to be resized.
A composite frame that layout their children in horizontal way.
This class describes layout hints used by the layout classes.
Defines top level windows that interact with the system Window Manager.
void SetClassHints(const char *className, const char *resourceName)
Set the windows class and resource name.
TList * fBindList
list with key bindings
virtual Bool_t BindKey(const TGWindow *w, Int_t keycode, Int_t modifier) const
Bind key to a window.
void SetIconName(const char *name)
Set window icon name. This is typically done via the window manager.
virtual Bool_t HandleKey(Event_t *event)
Handle keyboard events.
void SetWMPosition(Int_t x, Int_t y)
Give the window manager a window position hint.
void SetWMSizeHints(UInt_t wmin, UInt_t hmin, UInt_t wmax, UInt_t hmax, UInt_t winc, UInt_t hinc)
Give the window manager minimum and maximum size hints.
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
const TGPicture * SetIconPixmap(const char *iconName)
Set window icon pixmap by name.
TGClient * fClient
Connection to display server.
Provides a StatusBar widget.
virtual void SetText(TGString *text, Int_t partidx=0)
Set text in partition partidx in status bar.
virtual void SetParts(Int_t npart)
Divide the status bar in npart equal sized parts.
TGString wraps a TString and adds some graphics routines like drawing, size of string on screen depen...
Service classes of the tab widget.
void SetText(TGString *text)
Set new tab text.
const char * GetString() const
virtual void ShowClose(Bool_t on=kTRUE)
Show/hide close icon on the tab element, then apply layout to compute correct elements size.
A tab widget contains a set of composite frames each with a little tab with a name (like a set of fol...
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
Int_t GetNumberOfTabs() const
Return number of tabs.
virtual Bool_t SetTab(Int_t tabIndex, Bool_t emit=kTRUE)
Brings the composite frame with the index tabIndex to the front and generate the following event if t...
virtual void RemoveTab(Int_t tabIndex=-1, Bool_t storeRemoved=kTRUE)
Remove container and tab of tab with index tabIndex.
virtual void Selected(Int_t id)
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
virtual void SetFrame(TGFrame *frame, Bool_t left)
Set frame to be resized.
A composite frame that layout their children in vertical way.
const TGWindow * GetParent() const
virtual void Add(TObject *obj)
virtual TObject * Remove(TObject *obj)
Remove object from the list.
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
virtual TObject * Last() const
Return the last object in the list. Returns 0 when list is empty.
virtual void Delete(Option_t *option="")
Remove all objects from the list AND delete all heap based objects.
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual const char * GetName() const
Returns name of object.
Collectable string class.
const TString & GetString() const
Mother of all ROOT objects.
virtual const char * GetName() const
Returns name of object.
virtual char * GetObjectInfo(Int_t px, Int_t py) const
Returns string containing info about the object at position (px,py).
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
virtual const char * GetTitle() const
Returns title of object.
void Emit(const char *signal, const T &arg)
Activate signal with single parameter.
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot.
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
static const TString & GetBinDir()
Get the binary directory in the installation. Static utility function.
UInt_t References() const
This class creates a ROOT object browser, constituted by three main tabs.
TGPopupMenu * fMenuExecPlugin
"Exec Plugin" popup menu
TGHorizontalFrame * fMenuFrame
Shared menu frame.
TGTab * GetTab(Int_t pos) const
Returns the TGTab at position pos.
void StartEmbedding(Int_t pos=kRight, Int_t subpos=-1) override
Start embedding external frame in the tab "pos" and tab element "subpos".
Bool_t fShowCloseTab
kTRUE to show close icon on tab elements
void SetTabTitle(const char *title, Int_t pos=kRight, Int_t subpos=-1)
Set text "title" of Tab "subpos" in TGTab "pos".
TGPopupMenu * fMenuHelp
"Browser Help" popup menu
Int_t fCrTab[3]
Actual (active) tab elements (for each Tab)
void ExecuteDefaultAction(TObject *obj) override
Emits signal "ExecuteDefaultAction(TObject*)".
TRootBrowser(const TRootBrowser &)=delete
Longptr_t ExecPlugin(const char *name=nullptr, const char *fname=nullptr, const char *cmd=nullptr, Int_t pos=kRight, Int_t subpos=-1) override
Execute a macro and embed the created frame in the tab "pos" and tab element "subpos".
TGHorizontalFrame * fH2
Horizontal frame.
Int_t fNbTab[3]
Number of tab elements (for each Tab)
TGStatusBar * fStatusBar
Status bar.
Bool_t IsWebGUI()
Check if the GUI factory is set to use the Web GUI.
TGVerticalFrame * fVf
Vertical frame.
virtual void DoubleClicked(TObject *obj)
Emits signal when double clicking on icon.
TGHSplitter * fHSplitter
Horizontal splitter.
TBrowserImp * fActBrowser
Actual (active) browser imp.
TGCompositeFrame * fEditFrame
Frame in "Edit" mode.
virtual void CloseTab(Int_t id)
Remove tab element id from right tab.
static TBrowserImp * NewBrowser(TBrowser *b=nullptr, const char *title="ROOT Browser", UInt_t width=800, UInt_t height=500, Option_t *opt="")
static constructor returning TBrowserImp, as needed by the plugin mechanism.
TGCompositeFrame * fActMenuBar
Actual (active) menu bar.
Int_t fEditPos
Id of tab in "Edit" mode.
void ReallyDelete() override
Really delete the browser and the this GUI.
void StopEmbedding(const char *name=nullptr) override
const TGPicture * fIconPic
icon picture
Int_t fEditSubPos
Id of subtab in "Edit" mode.
TGTab * fEditTab
Tab in "Edit" mode.
TGVerticalFrame * fV1
Vertical frame.
void DoTab(Int_t id)
Handle Tab navigation.
void RecursiveRemove(TObject *obj) override
Recursively remove object from browser.
void CreateBrowser(const char *name)
TGHorizontalFrame * fPreMenuFrame
First (owned) menu frame.
void EventInfo(Int_t event, Int_t px, Int_t py, TObject *selected)
Display a tooltip with infos about the primitive below the cursor.
TList fPlugins
List of plugins.
Bool_t HandleKey(Event_t *event) override
Handle keyboard events.
void SetTab(Int_t pos=kRight, Int_t subpos=-1)
Switch to Tab "subpos" in TGTab "pos".
void CloneBrowser()
Clone the browser.
TGTab * fTabRight
Right Tab.
void HandleMenu(Int_t id)
Handle menu entries events.
TGVSplitter * fVSplitter
Vertical splitter.
TGHorizontalFrame * fHf
Horizontal frame.
void RemoveTab(Int_t pos, Int_t subpos)
Remove tab element "subpos" from tab "pos".
TGTab * fTabBottom
Bottom Tab.
void Refresh(Bool_t force=kFALSE) override
Refresh the actual browser contents.
TGPopupMenu * fMenuFile
"File" popup menu
void SwitchMenus(TGCompositeFrame *from)
Move the menu from original frame to our TGMenuFrame, or display the menu associated to the current t...
void BrowseObj(TObject *obj) override
Browse object.
TGLayoutHints * fLH7
Layout hints, part 2.
virtual void Checked(TObject *obj, Bool_t check)
Emits signal when double clicking on icon.
void ShowMenu(TGCompositeFrame *menu)
Show the selected frame's menu and hide previous one.
void SetStatusText(const char *txt, Int_t col) override
Set text in column col in status bar.
void CloseWindow() override
Called when window is closed via the window manager.
TGTab * fTabLeft
Left Tab.
void Add(TObject *obj, const char *name=nullptr, Int_t check=-1) override
Add items to the actual browser.
TGHorizontalFrame * fTopMenuFrame
Top menu frame.
TGLayoutHints * fLH3
Layout hints, part 1.
TGMenuBar * fMenuBar
Main (owned) menu bar.
Int_t fNbInitPlugins
Number of initial plugins (from .rootrc)
void InitPlugins(Option_t *opt="")
Initialize default plugins.
TGVerticalFrame * fV2
Vertical frame.
virtual ~TRootBrowser()
Clean up all widgets, frames and layouthints that were used.
void RecursiveReparent(TGPopupMenu *popup)
Recursively reparent TGPopupMenu to gClient->GetDefaultRoot().
void CloseTabs() override
Properly close the mainframes embedded in the different tabs.
Option_t * GetDrawOption() const override
Returns drawing option.
TGHorizontalFrame * fH1
Horizontal frame.
TGHorizontalFrame * fToolbarFrame
Toolbar frame.
A TRootHelpDialog is used to display help text (or any text in a dialog window).
void SetText(const char *helpText)
Set help text from helpText buffer in TGTextView.
void Popup()
Show help dialog.
const char * Data() const
Ssiz_t Last(char c) const
Find last occurrence of a character c.
TString & Remove(Ssiz_t pos)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
void Form(const char *fmt,...)
Formats a string using a printf style format descriptor.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual Int_t Exec(const char *shellcmd)
Execute a command.
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
virtual const char * UnixPathName(const char *unixpathname)
Convert from a local pathname to a Unix pathname.
virtual const char * BaseName(const char *pathname)
Base name of a file name. Base name of /user/root is root.
virtual void Sleep(UInt_t milliSec)
Sleep milliSec milli seconds.
virtual Bool_t ProcessEvents()
Process pending events (GUI, timers, sockets).
static void Terminate()
Close the global pad editor. Static method.