Logo ROOT  
Reference Guide
TTVLVContainer.h
Go to the documentation of this file.
1// @(#)root/treeviewer:$Id$
2//Author : Andrei Gheata 16/08/00
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TTVLVContainer
13#define ROOT_TTVLVContainer
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TTVLVEntry //
19// //
20// This class represent entries that goes into the TreeViewer //
21// listview container. It subclasses TGLVEntry and adds 2 //
22// data members: the item true name and the alias //
23// //
24//////////////////////////////////////////////////////////////////////////
25
26#include "TGListView.h"
27
28
29class TGLabel;
30class TGTextEntry;
31class TTreeViewer;
32class TGToolTip;
33class TTVLVEntry;
34class TTVLVContainer;
35
36class TGItemContext : public TObject {
37
38protected:
39 TTVLVEntry *fItem; // pointer to associated item
40public:
42 virtual ~TGItemContext() { }
43 void Associate(TTVLVEntry *item) { fItem = item; }
44 virtual void Delete(Option_t *) { } // *MENU*
45 void Draw(Option_t *option=""); // *MENU*
46 void EditExpression(); // *MENU*
47 void Empty(); // *MENU*
48 void RemoveItem(); // *MENU*
49 void Scan(); // *MENU*
50 void SetExpression(const char *name="", const char *alias="-empty-", Bool_t cut=kFALSE); // *MENU*
51
52 ClassDef(TGItemContext, 0) // Context menu for TTVLVEntry
53};
54
55
56class TTVLVEntry : public TGLVEntry {
57
58protected:
59 TTVLVContainer *fContainer; ///< Container to whom this item belongs
60 TString fTrueName; ///< Name for this entry
61 TString fAlias; ///< Alias for this entry
62 TString fConvName; ///< Name converted into true expressions
63 TGToolTip *fTip; ///< Tool tip associated with item
64 Bool_t fIsCut; ///< Flag for cut type items
65 TGItemContext *fContext; ///< Associated context menu
66
67protected:
69
70public:
71 TTVLVEntry(const TGWindow *p,
72 const TGPicture *bigpic, const TGPicture *smallpic,
73 TGString *name, TGString **subnames, EListViewMode ViewMode);
74 virtual ~TTVLVEntry();
75 const char *ConvertAliases();
77 const char *GetAlias() {return fAlias.Data();}
80 const char *GetConvName() {return fConvName;}
81 const char *GetTrueName() {return fTrueName.Data();}
82 TGToolTip *GetTip() {return fTip;}
85 Bool_t IsCut() {return fIsCut;}
86 void PrependTilde();
88 void SetItemName(const char* name);
89 void SetAlias(const char* alias) {fAlias = alias;}
90 void SetExpression(const char* name, const char* alias, Bool_t cutType=kFALSE);
91 void SetTrueName(const char* name) {fTrueName = name;}
92 void SetToolTipText(const char *text, Long_t delayms = 1000);
93 void SetSmallPic(const TGPicture *spic);
94 void Empty();
95
96 ClassDef(TTVLVEntry,0) // Item that goes into the tree list view widget
97};
98
99
100//////////////////////////////////////////////////////////////////////////
101// //
102// TTVLVContainer //
103// //
104// This class represent the list view container for the //
105// TreeView class. It is a TGLVContainer with item dragging //
106// capabilities for the TTVLVEntry objects inside //
107// //
108//////////////////////////////////////////////////////////////////////////
109
111
112friend class TGClient;
113
114private:
115 Cursor_t fCursor; ///< Current cursor
116 Cursor_t fDefaultCursor; ///< Default cursor
117 TGListView *fListView; ///< Associated list view
118 TTreeViewer *fViewer; ///< Pointer to tree viewer
119 TList *fExpressionList; ///< List of user defined expression widgets
120
121public:
123 virtual ~TTVLVContainer();
124 virtual void AddThisItem(TTVLVEntry *item)
125 { AddFrame(item, fItemLayout); item->SetColumns(fCpos, fJmode); }
126 const char *Cut();
127 void EmptyAll(); // empty all items of expression type
130 const char *Ex();
131 const char *Ey();
132 const char *Ez();
135 void SetViewer(TTreeViewer *viewer) {fViewer = viewer;}
136 void RemoveNonStatic();
137 const char *ScanList();
138 void SelectItem(const char* name);
141
142 ClassDef(TTVLVContainer,0) // A dragging-capable LVContainer
143};
144
145
146//////////////////////////////////////////////////////////////////////////
147// //
148// TGSelectBox //
149// //
150// This class represent a specialized expression editor for //
151// TTVLVEntry 'true name' and 'alias' data members. //
152// It is a singleton in order to be able to use it for several //
153// expressions. //
154// //
155//////////////////////////////////////////////////////////////////////////
156
158
159private:
160 TTreeViewer *fViewer; ///< Pointer to tree viewer
161 TGLabel *fLabel; ///< Label
162 TTVLVEntry *fEntry; ///< Edited expression entry
163 TGTextEntry *fTe; ///< Text entry box
164 TGLabel *fLabelAlias; ///< Alias label
165 TGTextEntry *fTeAlias; ///< Alias text entry
166 TString fOldAlias; ///< Old alias for edited entry
167 TGLayoutHints *fLayout; ///< Layout hints for widgets inside
168 TGLayoutHints *fBLayout; ///< Layout for cancel button
169 TGLayoutHints *fBLayout1; ///< Layout for close button
170 TGHorizontalFrame *fBf; ///< Buttons frame
171 TGTextButton *fDONE; ///< Close button
172 TGTextButton *fCANCEL; ///< Cancel button
173
174protected:
175 static TGSelectBox *fgInstance;// pointer to this select box
176
177public:
178 TGSelectBox(const TGWindow *p, const TGWindow *main, UInt_t w = 10, UInt_t h = 10);
179 virtual ~TGSelectBox();
180 virtual void CloseWindow();
182 void GrabPointer();
183 void SetLabel(const char* title);
184 void SetEntry(TTVLVEntry *entry);
185 void SaveText();
186 void InsertText(const char* text);
187 virtual Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2);
189
190 static TGSelectBox *GetInstance();
191
192 ClassDef(TGSelectBox,0) // TreeView dialog widget
193};
194
195#endif
Handle_t Cursor_t
Cursor handle.
Definition: GuiTypes.h:34
@ kSunkenFrame
Definition: GuiTypes.h:383
#define h(i)
Definition: RSha256.hxx:106
int Int_t
Definition: RtypesCore.h:45
long Longptr_t
Definition: RtypesCore.h:82
unsigned int UInt_t
Definition: RtypesCore.h:46
const Bool_t kFALSE
Definition: RtypesCore.h:101
long Long_t
Definition: RtypesCore.h:54
bool Bool_t
Definition: RtypesCore.h:63
const char Option_t
Definition: RtypesCore.h:66
#define ClassDef(name, id)
Definition: Rtypes.h:325
EListViewMode
Definition: TGListView.h:21
char name[80]
Definition: TGX11.cxx:110
int type
Definition: TGX11.cxx:121
int main(int argc, char *argv[])
Definition: cef_main.cxx:54
Window client.
Definition: TGClient.h:37
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=0)
Add frame to the composite frame using the specified layout hints.
Definition: TGFrame.cxx:1117
A composite frame that layout their children in horizontal way.
Definition: TGFrame.h:386
Empty object used as context menu support for TGLVTreeEntries.
virtual ~TGItemContext()
virtual void Delete(Option_t *)
Delete this object.
void EditExpression()
Edit expression.
void Empty()
Empty item.
TGItemContext()
Constructor.
void Draw(Option_t *option="")
Draw item.
void RemoveItem()
Remove item.
TTVLVEntry * fItem
void Scan()
Scan item.
void SetExpression(const char *name="", const char *alias="-empty-", Bool_t cut=kFALSE)
Set item expression.
void Associate(TTVLVEntry *item)
TGLayoutHints * fItemLayout
item layout hints
Definition: TGListView.h:185
Int_t * fCpos
position of sub names
Definition: TGListView.h:187
Int_t * fJmode
alignment of sub names
Definition: TGListView.h:188
virtual void SetColumns(Int_t *cpos, Int_t *jmode)
Definition: TGListView.h:103
This class handles GUI labels.
Definition: TGLabel.h:24
This class describes layout hints used by the layout classes.
Definition: TGLayout.h:50
A list view is a widget that can contain a number of items arranged in a grid or list.
Definition: TGListView.h:115
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Definition: TGPicture.h:25
This class represent a specialized expression editor for TTVLVEntry 'true name' and 'alias' data memb...
TGHorizontalFrame * fBf
Buttons frame.
TGSelectBox(const TGWindow *p, const TGWindow *main, UInt_t w=10, UInt_t h=10)
TGSelectBox constructor.
TGLayoutHints * fBLayout1
Layout for close button.
TTVLVEntry * EditedEntry()
virtual Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2)
Message interpreter.
TGTextEntry * fTeAlias
Alias text entry.
virtual void CloseWindow()
Close the select box.
virtual ~TGSelectBox()
TGSelectBox destructor.
void InsertText(const char *text)
Insert text in text entry.
TGLayoutHints * fBLayout
Layout for cancel button.
TGLabel * fLabelAlias
Alias label.
TGLayoutHints * fLayout
Layout hints for widgets inside.
TGTextButton * fCANCEL
Cancel button.
void GrabPointer()
Just focus the cursor inside.
void SetLabel(const char *title)
Set label of selection box.
void SetEntry(TTVLVEntry *entry)
Connect one entry.
static TGSelectBox * fgInstance
TTVLVEntry * fEntry
Edited expression entry.
static TGSelectBox * GetInstance()
Return the pointer to the instantiated singleton.
Bool_t ValidateAlias()
Return true if edited alias is not a leading string of other expression aliases.
TGLabel * fLabel
Label.
TString fOldAlias
Old alias for edited entry.
TGTextEntry * fTe
Text entry box.
TTreeViewer * fViewer
Pointer to tree viewer.
TGTextButton * fDONE
Close button.
void SaveText()
Save the edited entry true name and alias.
TGString wraps a TString and adds some graphics routines like drawing, size of string on screen depen...
Definition: TGString.h:20
Yield an action as soon as it is clicked.
Definition: TGButton.h:142
A TGTextEntry is a one line text input widget.
Definition: TGTextEntry.h:24
Defines transient windows that typically are used for dialogs windows.
Definition: TGFrame.h:499
ROOT GUI Window base class.
Definition: TGWindow.h:23
A doubly linked list.
Definition: TList.h:44
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:136
const char * Data() const
Definition: TString.h:369
This class represent the list view container for the TreeView class.
Cursor_t fDefaultCursor
Default cursor.
void SelectItem(const char *name)
Select an item.
void SetViewer(TTreeViewer *viewer)
TList * fExpressionList
List of user defined expression widgets.
TList * ExpressionList()
Return the list of user-defined expressions.
const char * Cut()
Return the cut entry.
virtual Bool_t HandleMotion(Event_t *event)
Handle mouse motion events.
TTreeViewer * GetViewer()
const char * Ez()
Return the expression on Z.
TGListView * fListView
Associated list view.
const char * Ey()
Return the expression on Y.
const char * ScanList()
Return the cut entry.
TTreeViewer * fViewer
Pointer to tree viewer.
Cursor_t fCursor
Current cursor.
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event in container.
virtual void AddThisItem(TTVLVEntry *item)
TTVLVEntry * ExpressionItem(Int_t index)
Return the expression item at specific position.
virtual ~TTVLVContainer()
TGLVContainer destructor.
void SetListView(TGListView *lv)
const char * Ex()
Return the expression on X.
TTVLVContainer(const TGWindow *p, UInt_t w, UInt_t h, UInt_t options=kSunkenFrame)
TGLVContainer constructor.
void EmptyAll()
Clear all names and aliases for expression type items.
void RemoveNonStatic()
Remove all non-static items from the list view, except expressions.
This class represent entries that goes into the TreeViewer listview container.
TGItemContext * GetContext()
void SetSmallPic(const TGPicture *spic)
Set small picture.
void SetCutType(Bool_t type=kFALSE)
Set cut type.
Bool_t fIsCut
Flag for cut type items.
Bool_t HasAlias()
Check if alias name is not empty.
TTVLVContainer * GetContainer()
TTVLVContainer * fContainer
Container to whom this item belongs.
TGToolTip * fTip
Tool tip associated with item.
virtual Bool_t HandleCrossing(Event_t *event)
Handle mouse crossing event.
TGToolTip * GetTip()
void SetAlias(const char *alias)
void SetToolTipText(const char *text, Long_t delayms=1000)
Set tool tip text associated with this item.
void SetTrueName(const char *name)
TGItemContext * fContext
Associated context menu.
const char * ConvertAliases()
Convert all aliases into true names.
void SetExpression(const char *name, const char *alias, Bool_t cutType=kFALSE)
Set the true name, alias and type of the expression, then refresh it.
Bool_t IsCut()
const char * GetConvName()
void CopyItem(TTVLVEntry *dest)
Copy this item's name and alias to an other.
const char * GetAlias()
TString fConvName
Name converted into true expressions.
TString fTrueName
Name for this entry.
TString fAlias
Alias for this entry.
void Empty()
Clear all names and alias.
void SetItemName(const char *name)
Redraw this entry with new name.
virtual ~TTVLVEntry()
TTVLVEntry destructor.
const char * GetTrueName()
Bool_t FullConverted()
Return true if converted name is alias free.
TTVLVEntry(const TGWindow *p, const TGPicture *bigpic, const TGPicture *smallpic, TGString *name, TGString **subnames, EListViewMode ViewMode)
TTVLVEntry constructor.
void PrependTilde()
Prepend a ~ to item alias.
A graphic user interface designed to handle ROOT trees and to take advantage of TTree class features.
Definition: TTreeViewer.h:54
TText * text
Event structure.
Definition: GuiTypes.h:174
auto * lv
Definition: textalign.C:5
#define dest(otri, vertexptr)
Definition: triangle.c:1041