62 Warning(
Form(
"TEveListTreeItem::%s()", func),
"not supported.");
110 fSignalsConnected (
kFALSE)
150 el->fLayout->SetPadLeft(0);
el->fLayout->SetPadRight(1);
151 el->fLayout->SetPadTop(2);
el->fLayout->SetPadBottom(1);
199 fListTree->
Connect(
"MouseOver(TGListTreeItem*, UInt_t)",
"TEveGListTreeEditorFrame",
200 this,
"ItemBelowMouse(TGListTreeItem*, UInt_t)");
201 fListTree->
Connect(
"Clicked(TGListTreeItem*, Int_t, UInt_t, Int_t, Int_t)",
"TEveGListTreeEditorFrame",
202 this,
"ItemClicked(TGListTreeItem*, Int_t, UInt_t, Int_t, Int_t)");
203 fListTree->
Connect(
"DoubleClicked(TGListTreeItem*, Int_t)",
"TEveGListTreeEditorFrame",
204 this,
"ItemDblClicked(TGListTreeItem*, Int_t)");
205 fListTree->
Connect(
"KeyPressed(TGListTreeItem*, ULong_t, ULong_t)",
"TEveGListTreeEditorFrame",
206 this,
"ItemKeyPress(TGListTreeItem*, UInt_t, UInt_t)");
219 this,
"ItemBelowMouse(TGListTreeItem*, UInt_t)");
221 this,
"ItemClicked(TGListTreeItem*, Int_t, UInt_t, Int_t, Int_t)");
223 this,
"ItemDblClicked(TGListTreeItem*, Int_t)");
225 this,
"ItemKeyPress(TGListTreeItem*, UInt_t, UInt_t)");
252 el->fLayout->SetPadLeft(2);
el->fLayout->SetPadRight (2);
253 el->fLayout->SetPadTop (1);
el->fLayout->SetPadBottom(1);
293 el->fLayout->SetPadLeft(2);
el->fLayout->SetPadRight (2);
294 el->fLayout->SetPadTop (1);
el->fLayout->SetPadBottom(1);
332 static const TEveException eh(
"TEveGListTreeEditorFrame::ItemClicked ");
335 if (
el ==
nullptr)
return;
367 static const TEveException eh(
"TEveGListTreeEditorFrame::ItemDblClicked ");
369 if (
btn != 1)
return;
372 if (
el ==
nullptr)
return;
386 for (
Int_t i=0; i<
n->GetNdaughters(); i++)
389 title.
Form(
"%d : %s[%d]", i,
390 n->GetDaughter(i)->GetVolume()->GetName(),
391 n->GetDaughter(i)->GetNdaughters());
394 child->SetUserData(
n->GetDaughter(i));
409 static const TEveException eh(
"TEveGListTreeEditorFrame::ItemKeyPress ");
412 if (
entry ==
nullptr)
return;
422 if (
entry->GetParent())
424 if (
el->GetDenyDestroy() > 0 &&
el->GetNItems() == 1)
425 throw(
eh +
"DestroyDenied set for this item.");
437 if (
el->GetDenyDestroy() > 0)
438 throw(
eh +
"DestroyDenied set for this top-level item.");
475 "Export to CINT",
"ExportToCINT",
this,
"const char*,TObject*", 1);
489 gClient->GetDefaultRoot()->GetId(),
514 fFileBrowser(nullptr),
575 this,
"EveMenu(Int_t)");
613 gROOT->ProcessLineFast(
"new TBrowser");
618 gROOT->ProcessLineFast(
"new TCanvas");
624 gROOT->ProcessLineFast(
"new TCanvas");
629 gROOT->ProcessLineFast(
Form(
"new TGTextEditor((const char *)0, (const TGWindow *)0x%zx)", (
size_t)
gClient->GetRoot()));
639 gROOT->ProcessLine(
Form(
"new TGHtmlBrowser(\"https://root.cern/doc/master/classes.html\", \
640 (const TGWindow *)0x%zx)", (
size_t)
gClient->GetRoot()));
738 gROOT->GetListOfBrowsers()->Remove(
tb);
741 delete tb->GetContextMenu();
789 ecf->GetEveWindow()->DestroyWindowAndSlot();
Handle_t Window_t
Window handle.
const Mask_t kKeyControlMask
ULong_t Pixel_t
Pixel value.
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
R__EXTERN TEveManager * gEve
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t child
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t height
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
R__EXTERN TSystem * gSystem
ABC describing GUI independent browser implementation protocol.
virtual void SetBrowser(TBrowser *b)
Using a TBrowser one can browse all ROOT objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
TList * GetMenuList() const
Return the list of menu items associated with the class.
static ULong_t Number2Pixel(Int_t ci)
Static method that given a color index number, returns the corresponding pixel value.
Specialization of TRootBrowser for Eve.
TEveBrowser(const TEveBrowser &)
void CalculateReparentXY(TGObject *parent, Int_t &x, Int_t &y)
Calculate position of a widget for reparenting into parent.
TGFileBrowser * GetFileBrowser() const
Returns the default file-browser.
void SanitizeTabCounts()
TRootBrowser keeps (somewhat unnecessarily) counters for number ob tabs on each position.
void EveMenu(Int_t id)
Handle events from Eve menu.
void SetupCintExport(TClass *cl)
Add "Export to CINT" into context-menu for class cl.
void CloseTab(Int_t id) override
Virtual from TRootBrowser. Need to intercept closing of Eve tabs.
void CloseWindow() override
Virtual from TGMainFrame. Calls TEveManager::Terminate().
void ReallyDelete() override
Override from TRootBrowser.
TGFileBrowser * MakeFileBrowser(Bool_t make_default=kFALSE)
Create a file-browser.
void SetFileBrowser(TGFileBrowser *b)
Set the default file browser.
void InitPlugins(Option_t *opt="FI")
Initialize standard plugins.
void HideBottomTab()
Hide the bottom tab (usually holding command-line widget).
TGFileBrowser * fFileBrowser
Abstract base-class for frame-slots that encompass EVE-windows (sub-classes of TEveWindow).
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual UChar_t GetSelectedLevel() const
Get selection level, needed for rendering selection and highlight feedback.
virtual Bool_t SetRnrState(Bool_t rnr)
Set render state of this element and of its children to the same value.
virtual void ElementChanged(Bool_t update_scenes=kTRUE, Bool_t redraw=kFALSE)
Call this after an element has been changed so that the state can be propagated around the framework.
Exception class thrown by TEve classes and macros.
Composite GUI frame for parallel display of a TGListTree and TEveGedEditor.
static TString fgEditorClass
static void SetEditorClass(const char *edclass)
Set GED editor class.
void ItemClicked(TGListTreeItem *entry, Int_t btn, UInt_t mask, Int_t x, Int_t y)
Item has been clicked, based on mouse button do:
void DisconnectSignals()
Disconnect list-tree signals.
TEveGListTreeEditorFrame(const TEveGListTreeEditorFrame &)
void ReconfToVertical()
Reconfigure to vertical layout, list-tree above the editor.
void ItemBelowMouse(TGListTreeItem *entry, UInt_t mask)
Different item is below mouse.
~TEveGListTreeEditorFrame() override
Destructor.
TGCompositeFrame * fLTFrame
void ItemDblClicked(TGListTreeItem *item, Int_t btn)
Item has been double-clicked, potentially expand the children.
TGCompositeFrame * fFrame
void ItemKeyPress(TGListTreeItem *entry, UInt_t keysym, UInt_t mask)
A key has been pressed for an item.
void ReconfToHorizontal()
Reconfigure to horizontal layout, list-tree and editor side by side.
void ConnectSignals()
Connect list-tree signals.
Specialization of TGedEditor for proper update propagation to TEveManager.
Special list-tree-item for Eve.
Pixel_t GetActiveColor() const override
Return highlight color corresponding to current state of TEveElement.
void Toggle() override
Item's check-box state has been toggled ... forward to element's render-state.
void NotSupported(const char *func) const
Warn about access to function members that should never be called.
Bool_t IsChecked() const override
TEveGListTreeEditorFrame * GetLTEFrame() const
static void Terminate()
Properly terminate global TEveManager.
TEveSelection * GetSelection() const
Bool_t ElementPaste(TEveElement *element)
Paste has been called.
void RemoveElement(TEveElement *element, TEveElement *parent)
Remove element from parent.
TEveWindowManager * GetWindowManager() const
TEveViewer * SpawnNewViewer(const char *name, const char *title="", Bool_t embed=kTRUE)
Create a new GL viewer.
void Redraw3D(Bool_t resetCameras=kFALSE, Bool_t dropLogicals=kFALSE)
void RemoveFromListTree(TEveElement *element, TGListTree *lt, TGListTreeItem *lti)
Remove top-level element from list-tree with specified tree-item.
TEveScene * SpawnNewScene(const char *name, const char *title="")
Create a new scene.
TEveSelection * GetHighlight() const
void SetPickToSelect(Int_t ps)
virtual void UserPickedElement(TEveElement *el, Bool_t multi=kFALSE)
Called when user picks/clicks on an element.
Int_t GetPickToSelect() const
void ShowNormalEveDecorations()
Show eve decorations (title-bar or mini-bar) as specified for the contained window on all frames.
void SetShowTitleBars(Bool_t state)
Set show title-bar state on all frames.
void HideAllEveDecorations()
Hide all eve decorations (title-bar and mini-bar) on all frames.
void SelectWindow(TEveWindow *w)
Entry-point for communicating the fact that a window was acted upon in such a way that it should beco...
Description of TEveWindowSlot.
static TEveWindowSlot * CreateWindowMainFrame(TEveWindow *eve_parent=nullptr)
Create a new main-frame and populate it with a default window-slot.
static TEveWindowSlot * CreateWindowInTab(TGTab *tab, TEveWindow *eve_parent=nullptr)
Create a new tab in a given tab-widget and populate it with a default window-slot.
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
virtual void SetContainer(TGFrame *f)
TGViewPort * GetViewPort() const
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
The base class for composite widgets (menu bars, list boxes, etc.).
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
virtual TList * GetList() const
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
TGCompositeFrame(const TGCompositeFrame &)=delete
void Layout() override
Layout the elements of the composite frame.
void SetCleanup(Int_t mode=kLocalCleanup) override
Turn on automatic cleanup of child frames in dtor.
void SetEditable(Bool_t on=kTRUE) override
Switch ON/OFF edit mode.
void SetEditDisabled(UInt_t on=1) override
Set edit disable flag for this frame and subframes.
void ChangeOptions(UInt_t options) override
Change composite frame options. Options is an OR of the EFrameTypes.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
virtual void Associate(const TGWindow *w)
System file browser, used as TRootBrowser plug-in.
void BrowseObj(TObject *obj) override
Browse object.
void SetNewBrowser(TRootBrowser *b)
static Pixel_t GetDefaultSelectedBackground()
Get default selected frame background.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
void ReparentWindow(const TGWindow *p, Int_t x=0, Int_t y=0) override
Reparent window, make p the new parent and position the window at position (x,y) in new parent.
void MapWindow() override
map window
virtual UInt_t GetOptions() const
void UnmapWindow() override
unmap window
This class describes layout hints used by the layout classes.
TGListTreeItem * GetFirstChild() const
virtual void * GetUserData() const =0
A list tree is a widget that can contain a number of items arranged in a tree structure.
void SetColorMode(EColorMarkupMode colorMode)
void AddItem(TGListTreeItem *parent, TGListTreeItem *item)
Add given item to list tree.
Int_t DeleteChildren(TGListTreeItem *item)
Delete children of item from list.
void SetAutoCheckBoxPic(Bool_t on)
void SetEventHandled(Bool_t eh=kTRUE)
virtual void SetCanvas(TGCanvas *canvas)
TGListTreeItem * GetCurrent() const
void SetUserControl(Bool_t ctrl=kTRUE)
Defines top level windows that interact with the system Window Manager.
This class is the baseclass for all ROOT GUI widgets.
TGClient * fClient
Connection to display server.
virtual void SetFrame(TGFrame *frame, Bool_t prev)=0
Int_t GetNumberOfTabs() const
Return number of tabs.
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
ROOT GUI Window base class.
@ kEditEnable
allow edit of this window
@ kEditDisable
disable edit of this window
void SetGlobal(Bool_t global) override
Set editor global.
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Mother of all ROOT objects.
virtual TClass * IsA() const
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=nullptr, void *receiver=nullptr, const char *slot=nullptr)
Disconnects signal of this object from slot of receiver.
This class creates a ROOT object browser, constituted by three main tabs.
void StartEmbedding(Int_t pos=kRight, Int_t subpos=-1) override
Start embedding external frame in the tab "pos" and tab element "subpos".
void SetTabTitle(const char *title, Int_t pos=kRight, Int_t subpos=-1)
Set text "title" of Tab "subpos" in TGTab "pos".
Int_t fCrTab[3]
Actual (active) tab elements (for each Tab)
TGHorizontalFrame * fH2
Horizontal frame.
Int_t fNbTab[3]
Number of tab elements (for each Tab)
TGHSplitter * fHSplitter
Horizontal splitter.
virtual void CloseTab(Int_t id)
Remove tab element id from right tab.
void StopEmbedding(const char *name=nullptr) override
TGHorizontalFrame * fPreMenuFrame
First (owned) menu frame.
TGTab * fTabRight
Right Tab.
TGPopupMenu * fMenuFile
"File" popup menu
TGTab * GetTabRight() const
TGHorizontalFrame * fTopMenuFrame
Top menu frame.
TGMenuBar * fMenuBar
Main (owned) menu bar.
void InitPlugins(Option_t *opt="")
Initialize default plugins.
TGVerticalFrame * fV2
Vertical frame.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
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 Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.