216 Int_t max_ascent, max_descent;
219 fTHeight = max_ascent + max_descent;
234 SetToolTipText(
"Selection expression. Drag to scissors to activate");
256 SetToolTipText(
"Double-click to draw. Drag and drop. Use Edit/Expression or context menu to edit.");
268 SetToolTipText(
"User-defined expression/cut. Double-click to edit");
339 if (
f)
return f->ConvertAliases();
385 if (
f)
return f->ConvertAliases();
399 if (
f)
return f->ConvertAliases();
413 if (
f)
return f->ConvertAliases();
427 if (
f)
return f->GetTrueName();
447 total = selected = 0;
456 if (
f->GetTip()) (
f->GetTip())->Hide();
473 if (selected == 1 && event->
fCode == 1) {
500 f->SetToolTipText(
"Double-click to draw. Drag and drop. Use Edit/Expression or context menu to edit.");
504 if (!strlen(
f->GetTrueName())) {
510 name =
f->GetTrueName();
514 f->SetTrueName(
name.Data());
517 "Name too long. Can not add any more items to scan box.");
526 snprintf(msg,2000,
"Content : %s",
f->GetTrueName());
547 Int_t xf0, xff, yf0, yff;
558 if (
f->GetTip()) (
f->GetTip())->Hide();
563 xff =
f->GetX() +
f->GetWidth();
564 yff =
f->GetY() +
f->GetHeight();
565 itemType = (
ULong_t *)
f->GetUserData();
567 if (
xpos>xf0 && xpos<xff && ypos>yf0 &&
ypos<yff) {
574 if ((
fXp - event->
fX) > 10) {
637 if (!strcmp(
f->GetItemName()->GetString(),
name)) {
671 if (!
fViewer)
Error(
"TGSelectBox",
"Must be started from viewer");
681 fTe->
SetToolTipText(
"Type an expression using C++ syntax. Click other expression/leaves to paste them here.");
688 fTeAlias->
SetToolTipText(
"Define an alias for this expression. Do NOT use leading strings of other aliases.");
760 event.fX =
event.fY = 1;
784 fEntry->
SetToolTipText(
"Double-click to draw. Drag and drop. Use Edit/Expression or context menu to edit.");
788 cutType =
name.Contains(
"<") ||
name.Contains(
">") ||
name.Contains(
"=") ||
789 name.Contains(
"!") ||
name.Contains(
"&") ||
name.Contains(
"|");
880 fViewer->
Warning(
"ValidateAlias",
"You should define the alias first.");
890 fViewer->
Warning(
"ValidAlias",
"Alias can not be the leading string of other alias.");
Handle_t Window_t
Window handle.
const Mask_t kLeaveWindowMask
const Mask_t kEnterWindowMask
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
static unsigned int total
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 dest
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void xpos
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void ypos
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 TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Option_t Option_t TPoint TPoint const char text
virtual void SetVsbPosition(Int_t newPos)
Set position of vertical scrollbar.
virtual void SetHsbPosition(Int_t newPos)
Set position of horizontal scrollbar.
const TGWindow * GetRoot() const
Returns current root (i.e.
const TGPicture * GetPicture(const char *name)
Get picture from the picture pool.
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
void FreePicture(const TGPicture *pic)
Free picture resource.
TGDimension GetDefaultSize() const override
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void AddFrame(TGFrame *f, TGLayoutHints *l=nullptr)
Add frame to the composite frame using the specified layout hints.
void MapSubwindows() override
Map all sub windows that are part of the composite frame.
UInt_t GetDefaultHeight() const override
Bool_t fMapSubwindows
kTRUE - map subwindows
TList * fList
container of frame elements
virtual void RemoveItem(TGFrame *item)
Remove item from container.
const TGWindow * fMsgWindow
window handling container messages
Int_t fYp
previous pointer position
Int_t fY0
corner of rubber band box
Int_t fSelected
number of selected items
Bool_t fDragging
true if in dragging mode
A subclasses of TGWindow, and is used as base class for some simple widgets (buttons,...
void AddInput(UInt_t emask)
Add events specified in the emask to the events the frame should handle.
void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0) override
Move and/or resize the frame.
void Resize(UInt_t w=0, UInt_t h=0) override
Resize the frame.
UInt_t fHeight
frame height
void MapWindow() override
map window
void Move(Int_t x, Int_t y) override
Move frame.
virtual void SendMessage(const TGWindow *w, Longptr_t msg, Longptr_t parm1, Longptr_t parm2)
Send message (i.e.
A composite frame that layout their children in horizontal way.
Empty object used as context menu support for TGLVTreeEntries.
void EditExpression()
Edit expression.
void SetExpression(const char *name="", const char *alias="-empty-", bool cut=false)
Set item expression.
void Draw(Option_t *option="") override
Draw item.
TGItemContext()
Constructor.
void RemoveItem()
Remove item.
void Associate(TTVLVEntry *item)
TGLVEntry * fLastActive
last active item
const TGPicture * fCurrent
current icon
UInt_t fTHeight
height of name
void DoRedraw() override
Redraw list view item.
UInt_t fTWidth
width of name
TGDimension GetDefaultSize() const override
Get default size of list item.
void Activate(Bool_t a) override
Make list view item active.
Bool_t fActive
true if item is active
FontStruct_t fFontStruct
text font
TGString * fItemName
name of item
void * GetUserData() const
TGSelectedPicture * fSelPic
selected icon
const TGPicture * fSmallPic
small icon
This class handles GUI labels.
virtual void SetText(TGString *newText)
Set new text in label.
This class describes layout hints used by the layout classes.
TGClient * fClient
Connection to display server.
Handle_t fId
X11/Win32 Window identifier.
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
This class represent a specialized expression editor for TTVLVEntry 'true name' and 'alias' data memb...
bool ValidateAlias()
Return true if edited alias is not a leading string of other expression aliases.
TGHorizontalFrame * fBf
Buttons frame.
TGSelectBox(const TGWindow *p, const TGWindow *main, UInt_t w=10, UInt_t h=10)
TGSelectBox constructor.
bool ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
Message interpreter.
TGLayoutHints * fBLayout1
Layout for close button.
TGTextEntry * fTeAlias
Alias text entry.
void CloseWindow() override
Close the select box.
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.
~TGSelectBox() override
TGSelectBox destructor.
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.
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...
const char * GetString() const
A text buffer is used in several widgets, like TGTextEntry, TGFileDialog, etc.
Yield an action as soon as it is clicked.
A TGTextEntry is a one line text input widget.
Int_t GetCursorPosition() const
const char * GetText() const
virtual void SetCursorPosition(Int_t pos)
Set the cursor position to newPos.
virtual void SetToolTipText(const char *text, Long_t delayms=500)
Set tool tip text associated with this text entry.
virtual void SetText(const char *text, Bool_t emit=kTRUE)
Sets text entry to text, clears the selection and moves the cursor to the end of the line.
virtual void InsertText(const char *text, Int_t pos)
Inserts text at position pos, clears the selection and moves the cursor to the end of the line.
Bool_t HandleButton(Event_t *event) override
Handle mouse button event in text entry widget.
Defines transient windows that typically are used for dialogs windows.
ROOT GUI Window base class.
const TGWindow * GetParent() const
void Clear(Option_t *option="") override
Remove all objects from the list.
void Add(TObject *obj) override
TObject * At(Int_t idx) const override
Returns the object at position idx. Returns 0 if idx is out of range.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
Bool_t BeginsWith(const char *s, ECaseCompare cmp=kExact) const
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
This class represent the list view container for the TreeView class.
Cursor_t fDefaultCursor
Default cursor.
void SelectItem(const char *name)
Select an item.
TList * fExpressionList
List of user defined expression widgets.
TList * ExpressionList()
Return the list of user-defined expressions.
const char * Cut()
Return the cut entry.
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.
~TTVLVContainer() override
TGLVContainer destructor.
TTVLVEntry * ExpressionItem(Int_t index)
Return the expression item at specific position.
bool HandleMotion(Event_t *event) override
Handle mouse motion events.
const char * Ex()
Return the expression on X.
TTVLVContainer(const TGWindow *p, UInt_t w, UInt_t h, UInt_t options=kSunkenFrame)
TGLVContainer constructor.
bool HandleButton(Event_t *event) override
Handle mouse button event in container.
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.
void SetSmallPic(const TGPicture *spic)
Set small picture.
~TTVLVEntry() override
TTVLVEntry destructor.
bool 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.
bool fIsCut
Flag for cut type items.
void SetCutType(bool type=false)
Set cut type.
void SetAlias(const char *alias)
void SetExpression(const char *name, const char *alias, bool cutType=false)
Set the true name, alias and type of the expression, then refresh it.
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.
bool HandleCrossing(Event_t *event) override
Handle mouse crossing event.
const char * ConvertAliases()
Convert all aliases into true names.
void CopyItem(TTVLVEntry *dest)
Copy this item's name and alias to an other.
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.
bool FullConverted()
Return true if converted name is alias free.
void SetItemName(const char *name)
Redraw this entry with new name.
const char * GetTrueName()
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.
void SetScanMode(bool mode=true)
void Message(const char *msg) override
bool ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
EGEventType fType
of event (see EGEventType)
Int_t fY
pointer x, y coordinates in event window
Int_t fYRoot
coordinates relative to root
UInt_t fCode
key or button code
Longptr_t fUser[5]
5 longs can be used by client message events NOTE: only [0], [1] and [2] may be used.