97 fEveParent (eve_parent),
109 fToggleBar->
Connect(
"Clicked()",
"TEveCompositeFrame",
this,
"FlipTitleBarState()");
116 fTitleBar->
Connect(
"Clicked()",
"TEveCompositeFrame",
this,
"TitleBarClicked()");
128 b->
Connect(
"Pressed()",
"TEveCompositeFrame",
this,
"ActionPressed()");
142 fMiniBar->
Connect(
"Clicked()",
"TEveCompositeFrame",
this,
"FlipTitleBarState()");
178 Info(
"TEveCompositeFrame::~TEveCompositeFrame",
179 "EveWindow not null '%s', relinquishing it now.",
211 static const TEveException eh(
"TEveCompositeFrame::AcquireEveWindow ");
214 throw eh +
"Window already set.";
217 throw eh +
"Called with 0 argument.";
367 fOriginalContainer (0)
369 fMainFrame->
Connect(
"CloseWindow()",
"TEveCompositeFrameInMainFrame",
this,
"MainFrameClosed()");
370 gEve->
GetWindowManager()->
Connect(
"WindowDeleted(TEveWindow*)",
"TEveCompositeFrameInMainFrame",
this,
"SomeWindowClosed(TEveWindow*)");
379 Info(
"~TEveCompositeFrameInMainFrame",
"Destructor.");
389 Info(
"~TEveCompositeFrameInMainFrame",
"gEve null - OK if it was terminated.");
414 Info(
"TEveCompositeFrameInMainFrame::Destroy()",
415 "Propagating call to main-frame.");
428 static const TEveException kEH(
"TEveCompositeFrameInMainFrame::SetOriginalSlotAndContainer ");
431 throw kEH +
"Given window can not make new slots.";
493 Info(
"TEveCompositeFrameInMainFrame::MainFrameClosed()",
494 "Expecting destructor call soon.");
531 Info(
"TEveCompositeFrameInPack::Destroy()",
"Removing from pack and deleting.");
554 fParentInTab (parent)
583 static const TEveException eh(
"TEveCompositeFrameInTab::FindTabIndex ");
586 for (
Int_t t = 0; t < nt; ++t)
594 throw eh +
"parent frame not found in tab.";
606 Info(
"TEveCompositeFrameInTab::Destroy()",
"Removing from tab and deleting.");
657 fShowTitleBar (
kTRUE)
671 Info(
"~TEveWindow",
"name='%s', deny-destroy=%d.",
742 throw eh +
"Called with null argument.";
752 static const TEveException eh(
"TEveWindow::SwapWindowWithCurrent ");
757 throw eh +
"Current eve-window is not set.";
760 throw eh +
"This is the current window ... nothing changed.";
786 SetOriginalSlotAndContainer(ew_slot, return_cont);
806 SetOriginalSlotAndContainer(0, return_cont);
838 Info(
"TEveWindow::DestroyWindow()",
"name='%s', class='%s', deny-destroy=%d.",
870 Info(
"TEveWindow::DestroyWindowAndSlot()",
"'name=%s', class= '%s', deny-destroy=%d.",
969 return new TEveWindowSlot(
"Free Window Slot",
"A free window slot, can become a container or swallow a window.");
983 (mf, eve_parent, mf);
1031 if (w1 == 0 || w2 == 0)
1032 throw eh +
"Called with null window.";
1035 throw eh +
"Windows are equal ... nothing to change.";
1038 throw eh +
"Windows are in direct ancestry.";
1057 p2->RemoveElement(w2);
1187 (0,
"Pack",
"Window container for horizontal and vertical stacking.");
1201 (0,
"Tab",
"Window container for horizontal and vertical stacking.");
1217 (frame,
"External frame",
"");
1231 static const TEveException eh(
"TEveWindowSlot::StartEmbedding ");
1234 throw eh +
"Already embedding.";
1248 static const TEveException eh(
"TEveWindowSlot::StopEmbedding ");
1251 Warning(eh,
"Embedding not in progress.");
1260 Warning(eh,
"Frame has not been registered.");
1267 Warning(eh,
"Several frames have been registered (%d). Only the first one will be taken.", size);
1331 static const TEveException kEH(
"TEveWindowFrame::GetGUICompositeFrame ");
1335 throw kEH +
"The registered frame is not a composite-frame.";
1354 fPack (p ? p : new
TGPack())
1439 fTab (tab ? tab : new
TGTab())
1493 gClient->GetDefaultRoot()->GetId(),
1494 0, 0,
x,
y, childdum);
1502 Popup(x - 2, y + h - 2, obj);
virtual TEveWindowSlot * NewSlot()
Create new frame-slot - a new tab.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
virtual TEveWindowSlot * NewSlot()
Create a new frame-slot at the last position of the pack.
virtual void HideFrame(TGFrame *f)
Hide sub frame.
virtual void HideAllDecorations()
Hide title-bar and mini-bar.
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
void DecDenyDestroy()
Decreases the deny-destroy count of the element.
virtual TEveWindowSlot * NewSlot()
virtual void PostDock()
Virtual function called after a window is docked.
Encapsulates TGPack into an eve-window.
virtual TGFrame * GetGUIFrame()
Return top-frame of this eve-window - the pack.
TEveWindow * GetDefaultContainer() const
Int_t fDenyDestroy
Counter for top-level list-tree items that prevent automatic destruction.
void MainFrameClosed()
Slot for main-frame's "CloseWindow()" signal.
TEveCompositeFrame * fEveFrame
TEveWindowFrame * StopEmbedding(const char *name=0)
An embedded window is created in place of this window-slot.
static TEveContextMenu * fgCtxMenu
const TGWindow * GetParent() const
static TEveWindowSlot * CreateWindowInTab(TGTab *tab, TEveWindow *eve_parent=0)
Create a new tab in a given tab-widget and populate it with a default window-slot.
virtual const char * GetElementName() const
Virtual function for retrieving name of the element.
void SetWindowName(const char *name=0)
Set window name. This is typically done via the window manager.
void EqualizeFrames()
Refit existing frames so that their lengths are equal.
static TList * fgFrameList
void WindowDocked(TEveWindow *window)
Emit the "WindowDocked(TEveWindow*)" signal.
static UInt_t fgMainFrameDefHeight
virtual void SetCurrent(Bool_t curr)
Set current state of this window-slot.
Abstract base-class for representing eve-windows.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
static TEveWindowSlot * CreateDefaultWindowSlot()
Create a default window slot.
An EVE window-slot contained within a TGMainFrame.
virtual ~TEveWindowFrame()
Destructor.
Bool_t IsCurrent() const
Returns true if this window is the current one.
TGCompositeFrame * fTopFrame
virtual void SetTextJustify(Int_t tmode)
Set text justification.
void IncDenyDestroy()
Increases the deny-destroy count of the element.
TEveCompositeFrame * GetEveFrame()
virtual TList * GetList() const
Description of TEveWindowSlot.
static Pixel_t GetMiniBarBackgroundColor()
Get background-color for mini-bar (collapsed title-bar). Static.
virtual void Destroy()
Destroy this element.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
TEveCompositeFrameInMainFrame(const TEveCompositeFrameInMainFrame &)
virtual void SetMapSubwindows(Bool_t on)
TEveWindowTab * MakeTab()
A tab is created in place of this window-slot.
virtual ~TEveWindowTab()
Destructor.
virtual ~TEveWindowPack()
Destructor.
void MakeCurrent()
Make this window current.
TGCompositeFrame * GetTabContainer(Int_t tabIndex) const
Return container of tab with index tabIndex.
static Pixel_t fgCurrentBackgroundColor
void DontCallClose()
Typically call this method in the slot connected to the CloseWindow() signal to prevent the calling o...
virtual void Layout()
Layout the elements of the composite frame.
virtual ~TEveWindow()
Destructor.
Bool_t HasDefaultContainer() const
Bool_t IsCurrentWindow(const TEveWindow *w) const
virtual void RemoveFrame(TGFrame *f)
Remove frame from composite frame.
TEveWindowFrame * MakeFrame(TGFrame *frame=0)
An eve-window-frame is created and frame is passed into it.
Int_t FindTabIndex()
Return index of this frame in the tab.
void SwapWindowWithCurrent()
Swap frames with the current window.
virtual void WindowNameChanged(const TString &name)
Update widgets using window's name or title.
virtual void PreUndock()
Virtual function called before a window is undocked.
virtual ~TEveWindowSlot()
Destructor.
Int_t GetNumberOfTabs() const
Return number of tabs.
virtual void Destroy()
Virtual function called from eve side when the frame should be destroyed.
void ActionPressed()
The action-button of the title-bar was pressed.
static void SetMainFrameDefHeight(UInt_t x)
Set default height for new main-frame windows. Static.
virtual void RemoveElement(TEveElement *el)
Remove el from the list of children.
static TEveWindowSlot * CreateWindowMainFrame(TEveWindow *eve_parent=0)
Create a new main-frame and populate it with a default window-slot.
static UInt_t GetMainFrameDefWidth()
Get default width for new main-frame windows. Static.
static const TString fgkEmptyFrameName
void SetText(TGString *text)
Set new tab text.
TEveWindowPack(const TEveWindowPack &)
virtual void SetCurrent(Bool_t curr)
Set current state of this frame.
TEveWindow * GetCurrentWindow() const
Bool_t fDestroyOnZeroRefCnt
Deny-destroy count.
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
THashList implements a hybrid collection class consisting of a hash table and a list to store TObject...
void EqualizeFrames()
Refit existing frames so that their lengths are equal.
void ReplaceWindow(TEveWindow *w)
Replace this window with the passed one.
void UndockWindow()
Undock the window - put it into a dedicated main-frame.
virtual TGFrame * GetGUIFrame()
Return top-frame of this eve-window - the tab.
static double p2(double t, double a, double b, double c)
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 Destroy()
Virtual function called from eve side when the frame should be destroyed.
static void SetMainFrameDefWidth(UInt_t x)
Set default width for new main-frame windows. Static.
TGCompositeFrame * GetGUICompositeFrame()
Returns the registered top-frame of this eve-window dynamic-casted to composite-frame.
const char * GetWindowName() const
virtual void SetBackgroundColor(Pixel_t back)
Set background color (override from TGWindow base class).
Abstract base-class for frame-slots that encompass EVE-windows (sub-classes of TEveWindow).
void SetVertical(Bool_t x)
Sets the vertical flag and reformats the back to new stacking direction.
void UndockWindowDestroySlot()
Undock the window - put it into a dedicated main-frame.
static void SetupFrameMarkup(IconBarCreator_foo creator, UInt_t top_frame_height=14, UInt_t mini_bar_height=4, Bool_t allow_top_collapse=kTRUE)
Set properties of the EVE frame.
virtual ~TEveCompositeFrame()
If fEveWindow != 0 we are being deleted from the ROOT GUI side.
static UInt_t fgMainFrameDefWidth
static UInt_t GetMainFrameDefHeight()
Get default height for new main-frame windows. Static.
void SwapWindow(TEveWindow *w)
Swap frames with the given window.
void FlipOrientation()
Flip orientation of the pack (vertical / horizontal).
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...
virtual void DestroyWindowAndSlot()
Destroy eve-window and its frame-slot.
virtual void PreDeleteElement()
Externally assigned and controlled user data.
virtual void SetShowTitleBar(Bool_t show)
Set state of title-bar.
List_t::const_iterator List_ci
TGTabElement * GetTabTab(Int_t tabIndex) const
Return the tab element of tab with index tabIndex.
TGFrame *(* IconBarCreator_foo)(TEveCompositeFrame *, TGCompositeFrame *, Int_t)
TEveWindowSlot(const TEveWindowSlot &)
ClassImp(TEveCompositeFrame)
TGTextButton * fToggleBar
An EVE window-slot contained within one tab of a TGTab.
R__EXTERN TEveManager * gEve
Bool_t GetShowTitleBar() const
static UInt_t fgTopFrameHeight
void SetVertical(Bool_t x=kTRUE)
Set orientation of the pack (vertical / horizontal).
TGCompositeFrame * fEmbedBuffer
virtual const char * ClassName() const
Returns name of class to which the object belongs.
virtual TObject * Remove(TObject *obj)
Remove object from the list.
virtual ~TEveCompositeFrameInMainFrame()
Destructor.
virtual TGCompositeFrame * AddTab(TGString *text)
Add a tab to the tab widget.
virtual void Destroy()
Virtual function called from eve side when the frame should be destroyed.
virtual void CloseWindow()
Close and delete main frame.
TGTextButton * fEmptyButt
virtual void ShowNormalDecorations()
Show title-bar or mini-bar, as dictated by the window.
void DeleteWindow(TEveWindow *w)
Called by a window before it gets deleted.
void PopulateEmptyFrame(TEveCompositeFrame *ef)
Populate given frame-slot - intended for initial population of a new slot or low-level window-swappin...
TEveCompositeFrame(const TEveCompositeFrame &)
static void SwapWindows(TEveWindow *w1, TEveWindow *w2)
Swap windows w1 and w2.
Encapsulates TGTab into an eve-window.
virtual void RemoveFrame(TGFrame *f)
Remove frame f and refit existing frames to pack size.
void ClearEveFrame()
Clears eve-frame associated with this window.
static double p1(double t, double a, double b)
virtual void AddElement(TEveElement *el)
Add el to the list of children.
virtual void RemoveTab(Int_t tabIndex=-1, Bool_t storeRemoved=kTRUE)
Remove container and tab of tab with index tabIndex.
virtual void ShowFrame(TGFrame *f)
Show sub frame.
virtual void Layout()
Reposition the frames so that they fit correctly.
virtual void NameTitleChanged()
Name or title of the window changed - propagate to frames.
virtual void SetText(TGHotString *new_label)
Set new button text.
static Pixel_t GetCurrentBackgroundColor()
Get background-color for marking the title-bar of current window. Static.
const TGWindow * GetDefaultRoot() const
Returns the root (i.e.
void SetOriginalSlotAndContainer(TEveWindow *slot, TEveWindow *container)
Set the container where to return the contained window on destruction.
void SelectWindow(TEveWindow *w)
Entry-point for communicating the fact that a window was acted upon in such a way that it should beco...
virtual Int_t GetSize() const
TEveWindowPack * MakePack()
A pack is created in place of this window-slot.
virtual void SetCleanup(Int_t mode=kLocalCleanup)
Turn on automatic cleanup of child frames in dtor.
TEveCompositeFrameInTab(const TEveCompositeFrameInTab &)
static IconBarCreator_foo fgIconBarCreator
virtual ~TEveCompositeFrameInTab()
Destructor.
virtual void AcquireEveWindow(TEveWindow *ew)
Accept window and increase its deny-destroy count.
virtual ~TEveCompositeFrameInPack()
Destructor.
Bool_t Disconnect(const char *signal=0, void *receiver=0, const char *slot=0)
Disconnects signal of this object from slot of receiver.
TEveCompositeFrameInPack(const TEveCompositeFrameInPack &)
virtual void SetCleanup(Int_t=kLocalCleanup)
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
TEveWindow(const TEveWindow &)
virtual void MapSubwindows()
Map all sub windows that are part of the composite frame.
virtual void SetCurrent(Bool_t curr)
Set current state of this eve-window.
TEveWindowFrame(const TEveWindowFrame &)
virtual void SetCurrent(Bool_t curr)
Set current state of this frame.
Mother of all ROOT objects.
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
void FlipTitleBarState()
Change display-state of the title-bar / mini-bar.
virtual void UnmapWindow()
TEveWindowTab(const TEveWindowTab &)
TEveWindow * GetEveParentAsWindow() const
Returns eve-parent dynamic-casted to TEveWindow.
virtual void Add(TObject *obj)
double f2(const double *x)
virtual void DestroyWindow()
Destroy eve-window - replace it with an empty frame-slot.
static void SetCurrentBackgroundColor(Pixel_t p)
Set background-color for marking the title-bar of current window. Static.
virtual TEveWindowSlot * NewSlotWithWeight(Float_t w)
Create a new weighted frame-slot at the last position of the pack.
TEveWindow * fOriginalContainer
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
Exception class thrown by TEve classes and macros.
TGLayoutHints * fEveWindowLH
TEveWindowManager * GetWindowManager() const
virtual void AddFrameWithWeight(TGFrame *f, TGLayoutHints *l, Float_t w)
Add frame f at the end with given weight.
TEveWindow * fOriginalSlot
void SomeWindowClosed(TEveWindow *w)
Slot called when a window is closed ...
virtual void WindowNameChanged(const TString &name)
Update widgets using window's name or title.
void SetShowTitleBar(Bool_t x)
Set display state of the title-bar.
static void SetMiniBarBackgroundColor(Pixel_t p)
Set background-color for mini-bar (collapsed title-bar). Static.
void TitleBarClicked()
Slot for clicking on the title-bar.
virtual void SetEditable(Bool_t on=kTRUE)
Switch ON/OFF edit mode.
void TitleBarClicked()
Slot for mouse-click on the central part of the title-bar.
virtual Bool_t CanMakeNewSlots() const
virtual void DeleteWindow()
Delete window.
TGCompositeFrame * fParentInTab
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
static UInt_t fgMiniBarHeight
An EVE window-slot contained within one frame of a TGPack.
void WindowUndocked(TEveWindow *window)
Emit the "WindowUndocked(TEveWindow*)" signal.
TGCompositeFrame * StartEmbedding()
Start embedding a window that will replace the current slot.
static Pixel_t fgMiniBarBackgroundColor
virtual TEveWindow * RelinquishEveWindow(Bool_t reparent=kTRUE)
Remove window and decrease its deny-destroy count.
virtual void ChangeOptions(UInt_t options)
Change frame options. Options is an OR of the EFrameTypes.
virtual TGFrame * GetGUIFrame()
Return top-frame of this eve-window - the big button to make slot current.
Encapsulates TGFrame into an eve-window.
virtual void DestroyWindow()
Bool_t GetVertical() const
virtual TGFrame * GetGUIFrame()=0
Bool_t IsAncestorOf(TEveWindow *win)
Returns true if this is an ancestor of win.
virtual void PreDeleteElement()
Called before the element is deleted, thus offering the last chance to detach from acquired resources...
static Bool_t fgAllowTopFrameCollapse
virtual void WindowNameChanged(const TString &name)
Update widgets using window's name or title.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.