12#ifndef ROOT_TGListTree
13#define ROOT_TGListTree
335 void *userData,
const TGPicture *open = 0,
Handle_t GContext_t
Graphics context handle.
Handle_t FontStruct_t
Pointer to font structure.
ULong_t Pixel_t
Pixel value.
ULongptr_t Handle_t
Generic resource handle.
#define ClassDef(name, id)
void MayNotUse(const char *method)
This function can be used in classes that should override a certain function, but in the inherited cl...
The concrete implementation of TBuffer for writing/reading to/from a ROOT file or socket.
Drag and drop data container.
A frame containing two scrollbars (a horizontal and a vertical) and a viewport.
TGCanvas * fCanvas
pointer to canvas
virtual void AdjustPosition()
Move content to position of highlighted/activated frame.
virtual void * FindItem(const TString &name, Bool_t direction=kTRUE, Bool_t caseSensitive=kTRUE, Bool_t subString=kFALSE)
Encapsulate fonts used in the GUI system.
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
static Pixel_t GetWhitePixel()
Get white pixel value.
Encapsulate a graphics context used in the low level graphics.
virtual void SetUserData(void *userData, Bool_t own=kFALSE)
TString fTipText
tooltip text
virtual void ClearColor()
Bool_t fHasColor
true if item has assigned color
virtual void SetColor(Color_t color)
TGListTreeItemStd & operator=(const TGListTreeItemStd &)=delete
virtual Int_t GetTipTextLength() const
virtual const TGPicture * GetPicture() const
virtual const char * GetTipText() const
virtual void SetText(const char *text)
virtual Bool_t IsChecked() const
virtual Bool_t HasCheckedChild(Bool_t first=kFALSE)
Add all child items of 'item' into the list 'checked'.
virtual void SetPictures(const TGPicture *opened, const TGPicture *closed)
Change list tree item icons.
const TGPicture * fCheckedPic
icon for checked item
virtual Bool_t HasUnCheckedChild(Bool_t first=kFALSE)
Add all child items of 'item' into the list 'checked'.
const TGPicture * fClosedPic
icon for closed state
Bool_t fActive
true if item is active
virtual void SavePrimitive(std::ostream &out, Option_t *option, Int_t n)
Save a list tree item attributes as a C++ statements on output stream.
virtual Pixel_t GetActiveColor() const
Return color for marking items that are active or selected.
Color_t fColor
item's color
Bool_t fOwnsData
true if user data has to be deleted
virtual const TGPicture * GetCheckBoxPicture() const
virtual void SetCheckBox(Bool_t on=kTRUE)
Set a check box on the tree node.
virtual void CheckChildren(TGListTreeItem *item, Bool_t state)
Set all child items of 'item' checked if state=kTRUE; unchecked if state=kFALSE.
const TGPicture * fUncheckedPic
icon for unchecked item
virtual void UpdateState()
Update the state of the node 'item' according to the children states.
virtual void SetActive(Bool_t a)
Bool_t fCheckBox
true if checkbox is visible
virtual void SetCheckBoxPictures(const TGPicture *checked, const TGPicture *unchecked)
Change list tree check item icons.
void * fUserData
pointer to user data structure
Bool_t fChecked
true if item is checked
virtual Bool_t HasColor() const
virtual Bool_t HasCheckBox() const
TGListTreeItemStd(const TGListTreeItemStd &)=delete
virtual void CheckItem(Bool_t checked=kTRUE)
virtual void SetTipText(const char *tip)
virtual void * GetUserData() const
const TGPicture * fOpenPic
icon for open state
virtual const char * GetText() const
virtual Int_t GetTextLength() const
virtual Color_t GetColor() const
virtual void CheckAllChildren(Bool_t state=kTRUE)
Set all child items of this one checked if state=kTRUE, unchecked if state=kFALSE.
virtual ~TGListTreeItemStd()
Delete list tree item.
virtual Bool_t IsActive() const
TGListTreeItem * GetFirstChild() const
TGListTreeItem & operator=(const TGListTreeItem &)=delete
void Rename(const char *new_name)
virtual void CheckChildren(TGListTreeItem *, Bool_t)
virtual void SetCheckBoxPictures(const TGPicture *, const TGPicture *)
virtual Bool_t IsActive() const =0
virtual const char * GetText() const =0
virtual void CheckAllChildren(Bool_t=kTRUE)
TGListTreeItem * fLastchild
pointer to last child item
TGListTreeItem * fFirstchild
pointer to first child item
virtual void ClearColor()
virtual void HandleDrag()
TGListTreeItem * GetNextSibling() const
virtual void CheckItem(Bool_t=kTRUE)=0
TGListTreeItem * fParent
pointer to parent
TGListTreeItem * fPrevsibling
pointer to previous sibling
Bool_t IsDNDTarget() const
TGListTreeItem * GetLastChild() const
Bool_t IsDNDSource() const
virtual Bool_t HasCheckedChild(Bool_t=kFALSE)
TGClient * fClient
pointer to TGClient
TGListTreeItem * GetParent() const
Bool_t fOpen
true if item is open
void SetDNDTarget(Bool_t onoff)
virtual void SavePrimitive(std::ostream &, Option_t *, Int_t)
TGListTreeItem(const TGListTreeItem &)=delete
virtual Bool_t HasUnCheckedChild(Bool_t=kFALSE)
virtual void SetTipText(const char *)
virtual void SetActive(Bool_t)
virtual Int_t GetTextLength() const =0
virtual const TGPicture * GetCheckBoxPicture() const =0
Int_t fDNDState
EDNDFlags.
virtual Bool_t IsOpen() const
void SetDNDSource(Bool_t onoff)
virtual void SetPictures(const TGPicture *, const TGPicture *)
TGListTreeItem * GetPrevSibling() const
virtual void HandleDrop()
virtual Color_t GetColor() const =0
virtual void SetText(const char *)
virtual UInt_t GetPicWidth() const
Return width of item's icon.
virtual Bool_t IsChecked() const =0
virtual const TGPicture * GetPicture() const =0
virtual void SetOpen(Bool_t o)
virtual Pixel_t GetActiveColor() const =0
virtual void SetCheckBox(Bool_t=kTRUE)
virtual Bool_t HasCheckBox() const =0
virtual void UpdateState()
virtual Bool_t HasColor() const =0
virtual void * GetUserData() const =0
virtual ~TGListTreeItem()
virtual void SetUserData(void *, Bool_t=kFALSE)
virtual const char * GetTipText() const =0
TGListTreeItem * fNextsibling
pointer to next sibling
virtual Bool_t HandlesDragAndDrop() const
virtual void SetColor(Color_t)
virtual Int_t GetTipTextLength() const =0
A list tree is a widget that can contain a number of items arranged in a tree structure.
static const TGPicture * GetOpenPic()
Returns the icon used by items in open state.
UInt_t fLastEventState
modifier state of the last keyboard event
void Clicked(TGFrame *, Int_t)
Emit Clicked() signal.
GContext_t fColorGC
drawing context for main item color
void DisableOpen(Bool_t disable=kTRUE)
void PageUp(Bool_t select=kFALSE)
Move content one page up.
TGListTreeItem * FindItemByObj(TGListTreeItem *item, void *ptr)
Find item with fUserData == ptr.
TGListTreeItem * fSelected
pointer to selected item in list
void * FindItem(const TString &name, Bool_t direction=kTRUE, Bool_t caseSensitive=kTRUE, Bool_t beginWith=kFALSE)
Int_t SortSiblings(TGListTreeItem *item)
Sort siblings of item.
GContext_t fLineGC
dashed line drawing context
static const TGPicture * GetUncheckedPic()
Returns the icon used for unchecked checkbox.
TGListTreeItem * GetBelowMouse() const
void RemoveReference(TGListTreeItem *item)
This function removes the specified item from the linked list.
UInt_t fDefw
default list width
void LineUp(Bool_t select=kFALSE)
Move content one item-size up.
static Pixel_t fgGrayPixel
void ClearHighlighted()
Un highlight items.
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
void PDeleteChildren(TGListTreeItem *item)
Recursively delete all children of an item.
void InsertChildren(TGListTreeItem *parent, TGListTreeItem *item)
Insert a list of ALREADY LINKED children into another list.
Atom_t HandleDNDEnter(Atom_t *typelist)
Handle drag enter events.
ECheckMode fCheckMode
how to propagate check properties through the tree
static const TGPicture * GetClosedPic()
Returns the icon used by items in closed state.
void Draw(Option_t *="")
Default Draw method for all objects.
virtual Bool_t HandleButton(Event_t *event)
Handle button events in the list tree.
void Home(Bool_t select=kFALSE)
Move content to the top.
void UnselectAll(Bool_t draw)
Unselect all items.
Bool_t fDisableOpen
disable branch opening on double-clicks
virtual void Layout()
Layout container entries.
void InsertChild(TGListTreeItem *parent, TGListTreeItem *item)
Insert child in list.
void ToggleItem(TGListTreeItem *item)
Toggle check button state of the node 'item'.
GContext_t fDrawGC
icon drawing context
void SetColorMode(EColorMarkupMode colorMode)
virtual ~TGListTree()
Delete list tree widget.
void RenameItem(TGListTreeItem *item, const char *string)
Rename item in list tree.
GContext_t fHighlightGC
highlighted icon drawing context
void LineDown(Bool_t select=kFALSE)
Move content one item-size down.
void AddItem(TGListTreeItem *parent, TGListTreeItem *item)
Add given item to list tree.
Int_t DeleteChildren(TGListTreeItem *item)
Delete children of item from list.
Bool_t HasUserControl() const
TGListTreeItem * FindItem(Int_t findy)
Find item at postion findy.
void SetAutoCheckBoxPic(Bool_t on)
TGListTreeItem * fBelowMouse
pointer to item below mouses cursor
Int_t FontHeight()
Returns height of currently used font.
void AddRoot(const char *string)
TGListTreeItem * fLast
pointer to last item in list
Int_t ReparentChildren(TGListTreeItem *item, TGListTreeItem *newparent)
Make newparent the new parent of the children of item.
void CheckItem(TGListTreeItem *item, Bool_t check=kTRUE)
Set check button state for the node 'item'.
void SetAutoTips(Bool_t on=kTRUE)
Int_t DrawChildren(Handle_t id, TGListTreeItem *item, Int_t x, Int_t y, Int_t xroot)
Draw children of item in list tree.
Int_t fExposeBottom
bottom y position of visible region
static const TGGC & GetLineGC()
Return graphics context in use for line drawing.
void CheckAllChildren(TGListTreeItem *item, Bool_t state)
Check all child items of 'item' and 'item' itself according to the state value: kTRUE means check all...
void Clicked(TGFrame *, Int_t, Int_t, Int_t)
Emit Clicked() signal.
static TGGC * fgHighlightGC
static const TGPicture * GetCheckedPic()
Returns the icon used for checked checkbox.
TDNDData fDNDData
Drag and Drop data.
Atom_t HandleDNDPosition(Int_t x, Int_t y, Atom_t action, Int_t xroot, Int_t yroot)
Handle dragging position events.
void CurrentChanged(Int_t, Int_t)
Emit signal when current position changed.
void SetCheckBox(TGListTreeItem *item, Bool_t on=kTRUE)
Set check button state for the node 'item'.
void OpenItem(TGListTreeItem *item)
Open item in list tree (i.e. show child items).
virtual void DrawActive(Handle_t id, TGListTreeItem *item)
Draw active item with its active color.
Pixel_t fGrayPixel
gray draw color
Int_t Reparent(TGListTreeItem *item, TGListTreeItem *newparent)
Make newparent the new parent of item.
TGListTreeItem * GetSelected() const
void GetChecked(TList *checked)
Add all checked list tree items of this list tree into the list 'checked'.
Int_t RecursiveDeleteItem(TGListTreeItem *item, void *userData)
Delete item with fUserData == ptr.
void SetCheckMode(ECheckMode mode)
virtual Bool_t HandleCrossing(Event_t *event)
Handle mouse crossing event.
Int_t TextWidth(const char *c)
Returns text width relative to currently used font.
void DrawItem(Handle_t id, TGListTreeItem *item, Int_t x, Int_t y, Int_t *xroot, UInt_t *retwidth, UInt_t *retheight)
Draw list tree item.
TGListTreeItem * fDropItem
item on which DND is over
void SetToolTipText(const char *text, Int_t x, Int_t y, Long_t delayms)
Set tool tip text associated with this item.
TGListTreeItem * fTipItem
item for which tooltip is set
Int_t FontAscent()
Returns ascent of currently used font.
void End(Bool_t select=kFALSE)
Move content to the bottom.
static const TGGC & GetColorGC()
Return graphics context for highlighted frame background.
virtual void Checked(TObject *obj, Bool_t check)
Emit Checked() signal.
static const TGGC & GetDrawGC()
Return default graphics context in use.
void HighlightChildren(TGListTreeItem *item, Bool_t state, Bool_t draw)
Highlight item children.
void RenameSelected(const char *string)
TGListTree & operator=(const TGListTree &)=delete
virtual void DataDropped(TGListTreeItem *item, TDNDData *data)
Emit DataDropped() signal.
Bool_t IsEventHandled() const
Int_t fHspacing
horizontal spacing between items
static const TGPicture * fgClosedPic
icon for closed item
Int_t DeleteItem(TGListTreeItem *item)
Delete item from list tree.
static const TGPicture * fgUncheckedPic
icon for unchecked item
Int_t fMargin
number of pixels margin from left side
static const TGGC & GetHighlightGC()
Return graphics context for highlighted frame background.
UInt_t fDefh
default list height
void GetCheckedChildren(TList *checked, TGListTreeItem *item)
Add all child items of 'item' into the list 'checked'.
ECheckMode GetCheckMode() const
static const TGPicture * fgCheckedPic
icon for checked item
void SetSelected(TGListTreeItem *item)
TGListTreeItem * GetFirstItem() const
void SetEventHandled(Bool_t eh=kTRUE)
Bool_t HandleDNDLeave()
Handle drag leave events.
void DoubleClicked(TGFrame *, Int_t, Int_t, Int_t)
Emit DoubleClicked() signal.
TGListTreeItem * FindChildByName(TGListTreeItem *item, const char *name)
Find child of item by name.
void SaveChildren(std::ostream &out, TGListTreeItem *item, Int_t &n)
Save child items as a C++ statements on output stream out.
virtual void SetCanvas(TGCanvas *canvas)
void AddItem(const char *string)
static const TGGC & GetActiveGC()
Return default graphics context in use.
Bool_t fEventHandled
flag used from user code to bypass standard event handling
TGListTree(const TGListTree &)=delete
Int_t SortChildren(TGListTreeItem *item)
Sort children of item.
static const TGPicture * fgOpenPic
icon for open item
EColorMarkupMode fColorMode
if/how to render item's main color
Atom_t * fDNDTypeList
handles DND types
Int_t Sort(TGListTreeItem *item)
Sort items starting with item.
void KeyPressed(TGFrame *, UInt_t, UInt_t)
Signal emitted when keyboard key pressed.
Bool_t fAutoCheckBoxPic
change check box picture if parent and children have diffrent state
void DrawNode(Handle_t id, TGListTreeItem *item, Int_t x, Int_t y)
Draw node (little + in box).
TGListTreeItem * fFirst
pointer to first item in list
void Search(Bool_t close=kTRUE)
Invokes search dialog. Looks for item with the entered name.
TBufferFile * fBuf
buffer used for Drag and Drop
TGToolTip * fTip
tooltip shown when moving over list items
virtual Bool_t HandleKey(Event_t *event)
The key press event handler converts a key press to some line editor action.
TGListTreeItem * GetCurrent() const
void DrawItemName(Handle_t id, TGListTreeItem *item)
Draw name of list tree item.
Bool_t fUserControlled
let user decides what is the behaviour on events
TGListTreeItem * fCurrent
pointer to current item in list
virtual void UpdateChecked(TGListTreeItem *item, Bool_t redraw=kFALSE)
Update the state of the node 'item' according to the children states.
virtual Bool_t HandleMotion(Event_t *event)
Handle mouse motion event.
Int_t SearchChildren(TGListTreeItem *item, Int_t y, Int_t findy, TGListTreeItem **finditem)
Search child item.
virtual TDNDData * GetDNDData(Atom_t)
virtual void MouseOver(TGListTreeItem *entry)
Signal emitted when pointer is over entry.
void HighlightItem(TGListTreeItem *item)
Highlight item.
Int_t fExposeTop
top y postion of visible region
void SetUserControl(Bool_t ctrl=kTRUE)
TGListTreeItem * FindSiblingByName(TGListTreeItem *item, const char *name)
Find sibling of item by name.
TGListTreeItem * FindItemByPathname(const char *path)
Find item by pathname.
void ReturnPressed(TGFrame *)
Signal emitted when Return/Enter key pressed.
void AdjustPosition()
Move content to position of highlighted/activated frame.
Int_t fVspacing
vertical spacing between items
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a list tree widget as a C++ statements on output stream out.
FontStruct_t fFont
font used to draw item text
void OnMouseOver(TGFrame *)
Signal emitted when pointer is over entry.
TGListTreeItem * FindChildByData(TGListTreeItem *item, void *userData)
Find child of item by userData.
void CloseItem(TGListTreeItem *item)
Close item in list tree (i.e. hide child items).
static FontStruct_t GetDefaultFontStruct()
Return default font structure in use.
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h)
Redraw list tree.
void PDeleteItem(TGListTreeItem *item)
Delete given item.
virtual Bool_t HandleDoubleClick(Event_t *event)
Handle double click event in the list tree (only for kButton1).
void SetToolTipItem(TGListTreeItem *item, const char *string)
Set tooltip text for this item.
Bool_t HandleDNDDrop(TDNDData *data)
Handle drop events.
void DoubleClicked(TGFrame *, Int_t)
Emit DoubleClicked() signal.
Int_t fIndent
number of pixels indentation
virtual void DrawOutline(Handle_t id, TGListTreeItem *item, Pixel_t col=0xbbbbbb, Bool_t clear=kFALSE)
Draw a outline of color 'col' around an item.
EColorMarkupMode GetColorMode() const
Bool_t fAutoTips
assume item->fUserData is TObject and use GetTitle() for tip text
TGListTreeItem * FindSiblingByData(TGListTreeItem *item, void *userData)
Find sibling of item by userData.
void CurrentChanged(TGFrame *)
Emit signal when current selected frame changed.
static const TGFont * fgDefaultFont
GContext_t fActiveGC
activated (selected) drawing context
void PageDown(Bool_t select=kFALSE)
Move content one page down.
static Pixel_t GetGrayPixel()
Return gray draw color in use.
void GetPathnameFromItem(TGListTreeItem *item, char *path, Int_t depth=0)
Get pathname from item.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
ROOT GUI Window base class.
Mother of all ROOT objects.
const char * Data() const