8 #ifndef RG_TREE_SELECTOR_HH
9 #define RG_TREE_SELECTOR_HH
12 #include "GItemTree.hh"
16 #include <TGListTree.h>
17 #include <TGPicture.h>
24 #define RG_ITL_DEFAULT_TREE_PICT "doc_t.xpm"
30 rgITSLabelCenterAligned = 0x00000000,
31 rgITSLabelLeftAligned = 0x00000001,
32 rgITSLabelRightAligned = 0x00000002,
34 rgITSLabelAboveList = 0x00000000,
35 rgITSLabelBelowList = 0x00000004,
38 rgITSSideButtonsRight = 0x00000000,
39 rgITSSideButtonsLeft = 0x00000008,
40 rgITSSideButtonsCenter = 0x00000000,
41 rgITSSideButtonsUp = 0x00000010,
42 rgITSSideButtonsUpRight = 0x00000010,
43 rgITSSideButtonsUpLeft = 0x00000018,
44 rgITSSideButtonsDown = 0x00000020,
45 rgITSSideButtonsDownRight = 0x00000020,
46 rgITSSideButtonsDownLeft = 0x00000028,
49 rgITSFolderButtons = 0x00000100,
50 rgITSMoveButtons = 0x00000200,
51 rgITSEditButtons = 0x00000400,
52 rgITSCustomButtons = 0x00008000,
54 rgITSDefaultButtons = 0x00000F00,
55 rgITSSideButtons = 0x00008F00,
58 rgITSMenuItem = 0x00040000,
59 rgITSMenuItemEdit = 0x00140000,
60 rgITSMenuItemMove = 0x00240000,
62 rgITSMenuFolder = 0x00080000,
63 rgITSMenuFolderEdit = 0x01080000,
64 rgITSMenuFolderMove = 0x02080000,
65 rgITSMenuFolderOpen = 0x04080000,
67 rgITSMenuCreate = 0x000C0000,
68 rgITSMenuDefault = 0x0FFC0000,
71 rgITSSingleSelection = 0x00000000,
72 rgITSMultipleSelection = 0x10000000,
75 rgITSAutoCreateFolder = 0x20000000,
79 rgITSDummy = 0x00000000
219 menuFoldersOpen = 0x00010000,
220 menuFoldersOpenAll = 0x00020000,
221 menuFoldersClose = 0x00030000,
222 menuFoldersCloseAll = 0x00040000,
224 menuMoveTop = 0x00100000,
225 menuMoveUp = 0x00200000,
226 menuMoveDown = 0x00300000,
227 menuMoveBottom = 0x00400000,
228 menuMoveToFolder = 0x00500000,
229 menuMoveToParent = 0x00600000,
231 menuFolderCreate = 0x00700000,
232 menuFolderNewItem = 0x00800000,
233 menuItemEdit = 0x00900000,
234 menuItemDelete = 0x00A00000,
236 menuDummy = 0x00000000
301 const char * label = NULL,
302 const UInt_t opts = 0,
303 const UInt_t w_min = 160,
304 const UInt_t h_min = 200 );
346 virtual TGButton *
AddSideButton (
const char *text,
const Int_t
id, TGLayoutHints *l,
const char *tooltip = NULL );
347 virtual TGButton *
AddSideButton ( TGButton *but,
const Int_t
id, TGLayoutHints *l );
348 virtual TGFrame *
AddSideFrame ( TGFrame *f, TGLayoutHints *l = NULL );
349 virtual TGFrame *
AddBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL );
353 virtual void AddMenuItemEntry (
const string & title, TGPopupMenu * submenu );
393 GItemTreeBranch *
AddFolder (
const string & name );
394 GItemTreeBranch *
AddFolder ( GItemTreeBranch * parent,
const string & name );
395 GItemTreeLeaf *
AddElement (
const string & name,
void * data,
const TGPicture * pic = NULL );
396 GItemTreeLeaf *
AddElement ( GItemTreeBranch * parent,
const string & name,
void * data,
const TGPicture * pic = NULL );
398 GItemTreeBranch *
SetRootNode ( GItemTreeBranch * root,
bool adopt =
false );
400 virtual TGListTreeItem *
SelectItem ( GItemTreeNode * node );
401 virtual TGListTreeItem *
SelectItem ( TGListTreeItem * elem );
433 virtual void DeleteItem ( GItemTreeLeaf * item,
bool update =
true );
434 virtual void DeleteFolder ( GItemTreeBranch * branch,
bool update =
true );
436 virtual void CancelAction (
const Bool_t cancel = kTRUE );
450 virtual void TreeClicked ( TGListTreeItem * item, Int_t btn );
454 virtual void ItemChecked ( TObject * obj, Bool_t check );
488 virtual void CreateItem ( GItemTreeBranch * parent );
489 virtual void EditItem ( GItemTreeLeaf * item );
virtual void UpdateTreeDisplay()
Definition: RGItemTreeSelector.cpp:911
TGVerticalFrame * w_custom_buttons_frame
Frame for additional buttons.
Definition: RGItemTreeSelector.hh:284
TGTextButton * w_move_up_button
In-folder selected item move button.
Definition: RGItemTreeSelector.hh:271
virtual void OpenAllFolders()
Definition: RGItemTreeSelector.cpp:1601
virtual void ItemChecked(TObject *obj, Bool_t check)
Definition: RGItemTreeSelector.cpp:2471
string default_element_pic
Default picture name for elements.
Definition: RGItemTreeSelector.hh:241
virtual TGVerticalFrame * GetMoveButtonsFrame() const
Definition: RGItemTreeSelector.icc:39
virtual void SelectionMoved()
Definition: RGItemTreeSelector.icc:213
virtual void AddMenuItemSeparator()
Definition: RGItemTreeSelector.cpp:209
virtual void AddMenuFolderEntry(const string &title, Int_t id)
Definition: RGItemTreeSelector.cpp:268
virtual void EditSelectedItem()
Definition: RGItemTreeSelector.cpp:2157
virtual void MenuActivated(Int_t id)
Definition: RGItemTreeSelector.cpp:2543
virtual Bool_t GetCancelActionState() const
Definition: RGItemTreeSelector.icc:131
virtual void Construct()
Definition: RGItemTreeSelector.cpp:300
virtual TGTextButton * GetDeleteButton() const
Definition: RGItemTreeSelector.icc:98
TGTextButton * w_move_bottom_button
In-folder selected item move button.
Definition: RGItemTreeSelector.hh:274
TGVerticalFrame * w_folder_buttons_frame
Frame for folder buttons.
Definition: RGItemTreeSelector.hh:266
virtual void OpenSubFolders(TGListTreeItem *item)
Definition: RGItemTreeSelector.cpp:1543
virtual TGTextButton * GetInvertButton() const
Definition: RGItemTreeSelector.icc:26
virtual TGListTreeItem * SelectItem(GItemTreeNode *node)
Definition: RGItemTreeSelector.cpp:1463
virtual TGTextButton * GetEditItemButton() const
Definition: RGItemTreeSelector.icc:94
TGListTreeItem * prev_selected
Previously selected item.
Definition: RGItemTreeSelector.hh:291
TGCanvas * w_tree_canvas
Canvas holding the tree widget.
Definition: RGItemTreeSelector.hh:255
virtual void ProcessedEvent(Event_t *event)
Definition: RGItemTreeSelector.cpp:2496
GItemTreeNode * GetSelected() const
Definition: RGItemTreeSelector.cpp:1495
virtual void AddMenuItemEntry(const string &title, Int_t id)
Definition: RGItemTreeSelector.cpp:224
virtual TGTextButton * GetNewItemButton() const
Definition: RGItemTreeSelector.icc:90
GObject(RGItemTreeSelector)
virtual void MoveToParentClicked()
Definition: RGItemTreeSelector.icc:201
virtual void RefreshTreeView()
Definition: RGItemTreeSelector.cpp:778
virtual void UpdateItemSelection(GItemTreeBranch *branch=NULL)
Definition: RGItemTreeSelector.cpp:792
virtual TGButton * AddSideButton(const char *text, const Int_t id, TGLayoutHints *l, const char *tooltip=NULL)
Definition: RGItemTreeSelector.cpp:125
TreeContextMenu
Definition: RGItemTreeSelector.hh:217
GItemTreeBranch * AddFolder(const string &name)
Definition: RGItemTreeSelector.cpp:1215
virtual void CustomMenuActivated(Int_t id)
Definition: RGItemTreeSelector.icc:261
virtual void MoveSelectedMoveDown(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1731
virtual TGTextButton * GetFoldersOpenButton() const
Definition: RGItemTreeSelector.icc:52
TGTextButton * w_edit_item_button
Edit element button.
Definition: RGItemTreeSelector.hh:281
virtual void CancelAction(const Bool_t cancel=kTRUE)
Definition: RGItemTreeSelector.icc:127
TGTextButton * w_close_all_button
Close all folders button.
Definition: RGItemTreeSelector.hh:268
virtual void DeleteClicked()
Definition: RGItemTreeSelector.icc:245
virtual void CloseSelectedSubFolders()
Definition: RGItemTreeSelector.cpp:1535
TGTextButton * w_new_item_button
New element definition button.
Definition: RGItemTreeSelector.hh:280
virtual void SelectAll()
Definition: RGItemTreeSelector.cpp:2298
virtual void CloseSubFolders(TGListTreeItem *item)
Definition: RGItemTreeSelector.cpp:1573
virtual void CreateSubFolder(GItemTreeBranch *parent)
Definition: RGItemTreeSelector.cpp:2051
virtual void CreateItem(GItemTreeBranch *parent)
Definition: RGItemTreeSelector.icc:283
virtual void EditItem(GItemTreeLeaf *item)
Definition: RGItemTreeSelector.icc:289
virtual void OpenSelectedSubFolders()
Definition: RGItemTreeSelector.cpp:1529
TGTextButton * w_move_top_button
In-folder selected item move button.
Definition: RGItemTreeSelector.hh:273
virtual TGTextButton * GetNoneButton() const
Definition: RGItemTreeSelector.icc:22
virtual TGVerticalFrame * GetCustomButtonsFrame() const
Definition: RGItemTreeSelector.icc:47
TGTextButton * w_open_all_button
Open all folders button.
Definition: RGItemTreeSelector.hh:267
virtual void MoveSelectedToParent(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1833
virtual void ItemRemoved(void *data)
Definition: RGItemTreeSelector.icc:297
virtual TGTextButton * GetMoveDownButton() const
Definition: RGItemTreeSelector.icc:65
Definition: RGItemTreeSelector.hh:205
TGTextButton * w_new_folder_button
New folder creation button.
Definition: RGItemTreeSelector.hh:279
const GItemTreeBranch * GetTreeRoot() const
Definition: RGItemTreeSelector.icc:116
virtual TGTextButton * GetMoveParentButton() const
Definition: RGItemTreeSelector.icc:77
virtual void SelectionChanged()
Definition: RGItemTreeSelector.icc:143
virtual TGTextButton * GetMoveFolderButton() const
Definition: RGItemTreeSelector.icc:81
virtual void RecreateTreeSubDisplay(GItemTreeBranch *branch)
Definition: RGItemTreeSelector.cpp:839
virtual void SelectNoneClicked()
Definition: RGItemTreeSelector.icc:154
UInt_t tree_h_min
Tree widget minimum height.
Definition: RGItemTreeSelector.hh:244
TGVerticalFrame * w_move_buttons_frame
Frame for move buttons.
Definition: RGItemTreeSelector.hh:270
virtual void DeleteFolder(GItemTreeBranch *branch, bool update=true)
Definition: RGItemTreeSelector.cpp:2256
ClassDef(RGItemTreeSelector, 0)
virtual void MoveToFolderClicked()
Definition: RGItemTreeSelector.icc:209
GItemTreeBranch * SetRootNode(GItemTreeBranch *root, bool adopt=false)
Definition: RGItemTreeSelector.cpp:1438
virtual void MoveSelectedToFolder(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1890
virtual void SelectAllClicked()
Definition: RGItemTreeSelector.icc:150
virtual TGVerticalFrame * GetEditButtonsFrame() const
Definition: RGItemTreeSelector.icc:43
virtual void UpdateMenuItem(GItemTreeLeaf *leaf)
Definition: RGItemTreeSelector.cpp:1066
UInt_t tree_w_min
Tree widget minimum width.
Definition: RGItemTreeSelector.hh:243
virtual TGFrame * AddSideFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemTreeSelector.cpp:174
TGTextButton * w_move_down_button
In-folder selected item move button.
Definition: RGItemTreeSelector.hh:272
virtual TGTextButton * GetMoveTopButton() const
Definition: RGItemTreeSelector.icc:69
TGTextButton * w_all_button
All elements selection button.
Definition: RGItemTreeSelector.hh:259
TGHorizontalFrame * w_widgets_frame
Main frame.
Definition: RGItemTreeSelector.hh:252
virtual TGTextButton * GetMoveBottomButton() const
Definition: RGItemTreeSelector.icc:73
virtual void TreeReturnPressed(TGListTreeItem *item)
Definition: RGItemTreeSelector.cpp:2443
virtual void DeleteItem(GItemTreeLeaf *item, bool update=true)
Definition: RGItemTreeSelector.cpp:2229
virtual void NewFolderCreated(TGListTreeItem *item)
Definition: RGItemTreeSelector.icc:277
TGVerticalFrame * w_tree_frame
Tree and side buttons frame.
Definition: RGItemTreeSelector.hh:253
void SetDefaultPicture(const string &pic_name)
Definition: RGItemTreeSelector.cpp:1197
virtual void NewFolderClicked()
Definition: RGItemTreeSelector.icc:221
virtual void AddMenuFolderSeparator()
Definition: RGItemTreeSelector.cpp:253
RGItemTreeSelector(TGWindow *p, const char *label=NULL, const UInt_t opts=0, const UInt_t w_min=160, const UInt_t h_min=200)
Definition: RGItemTreeSelector.cpp:28
TGPopupMenu * w_menu_folder
Define the context menu for folder selected.
Definition: RGItemTreeSelector.hh:288
virtual void CreateNewItem()
Definition: RGItemTreeSelector.cpp:2116
virtual TGVerticalFrame * GetFoldersButtonsFrame() const
Definition: RGItemTreeSelector.icc:35
TGTextButton * w_invert_button
Invert selection button.
Definition: RGItemTreeSelector.hh:261
virtual void MoveDownClicked()
Definition: RGItemTreeSelector.icc:177
GItemTreeLeaf * GetSelectedLeaf() const
Definition: RGItemTreeSelector.cpp:1510
TGTextButton * w_none_button
None elements selection button.
Definition: RGItemTreeSelector.hh:260
TGTextButton * w_move_parent_button
Button to move selected item to its parent folder.
Definition: RGItemTreeSelector.hh:275
virtual void NewItemClicked()
Definition: RGItemTreeSelector.icc:229
bool local_tree
Indicates if the tree is created internally and should be deleted with the widget.
Definition: RGItemTreeSelector.hh:249
virtual void CustomClicked(Int_t id)
Definition: RGItemTreeSelector.icc:255
TGVerticalFrame * w_side_frame
Side buttons frame.
Definition: RGItemTreeSelector.hh:264
virtual void MoveSelectedMoveBottom(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1782
TGHorizontalFrame * w_button_frame
List buttons frame.
Definition: RGItemTreeSelector.hh:258
virtual void MoveSelectedMoveUp(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1680
RGItemTreeSelectorOptions
! RGItemTreeSelector widget options
Definition: RGItemTreeSelector.hh:27
virtual TGFrame * AddBottomFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemTreeSelector.cpp:192
TGPopupMenu * w_menu_item
Define the context menu for item selected.
Definition: RGItemTreeSelector.hh:287
virtual void MoveTopClicked()
Definition: RGItemTreeSelector.icc:185
TGTextButton * w_move_folder_button
Button to move selected item to another folder.
Definition: RGItemTreeSelector.hh:276
virtual TGTextButton * GetMoveUpButton() const
Definition: RGItemTreeSelector.icc:61
virtual void UpdateButtonsState()
Definition: RGItemTreeSelector.cpp:982
GItemTreeLeaf * AddElement(const string &name, void *data, const TGPicture *pic=NULL)
Definition: RGItemTreeSelector.cpp:1322
virtual void SelectInvert()
Definition: RGItemTreeSelector.cpp:2346
virtual void CreateNewFolder()
Definition: RGItemTreeSelector.cpp:2019
TGListTree * w_tree
Tree (list-tree) widget.
Definition: RGItemTreeSelector.hh:256
virtual void SelectInvertClicked()
Definition: RGItemTreeSelector.icc:158
UInt_t options
Widget options.
Definition: RGItemTreeSelector.hh:246
virtual void TreeDoubleClicked(TGListTreeItem *item, Int_t btn)
Definition: RGItemTreeSelector.cpp:2403
virtual TGListTree * GetListTree() const
Definition: RGItemTreeSelector.icc:13
virtual void CloseAllFolders()
Definition: RGItemTreeSelector.cpp:1613
virtual void UpdateMenuFolder(GItemTreeBranch *branch)
Definition: RGItemTreeSelector.cpp:1128
virtual void SelectNone()
Definition: RGItemTreeSelector.cpp:2322
virtual ~RGItemTreeSelector()
Definition: RGItemTreeSelector.cpp:103
Bool_t cancel_action
Flag for cancellation of default requested action.
Definition: RGItemTreeSelector.hh:293
virtual TGTextButton * GetAllButton() const
Definition: RGItemTreeSelector.icc:18
virtual void EditItemClicked()
Definition: RGItemTreeSelector.icc:237
virtual TGVerticalFrame * GetSideButtonsFrame() const
Definition: RGItemTreeSelector.icc:31
virtual void SingleSelected(ULong64_t leaf_ptr)
Definition: RGItemTreeSelector.icc:268
TGVerticalFrame * w_edit_buttons_frame
Frame for edit buttons.
Definition: RGItemTreeSelector.hh:278
Bool_t MultipleSelection() const
Definition: RGItemTreeSelector.icc:107
virtual void MoveBottomClicked()
Definition: RGItemTreeSelector.icc:193
virtual void TreeClicked(TGListTreeItem *item, Int_t btn)
Definition: RGItemTreeSelector.cpp:2375
virtual void DeleteSelectedItem()
Definition: RGItemTreeSelector.cpp:2181
GItemTreeBranch * root_node
Root tree node of GItems.
Definition: RGItemTreeSelector.hh:248
virtual TGTextButton * GetFoldersCloseButton() const
Definition: RGItemTreeSelector.icc:56
virtual void MoveSelectedMoveTop(Bool_t emit=kTRUE)
Definition: RGItemTreeSelector.cpp:1632
virtual TGTextButton * GetNewFolderButton() const
Definition: RGItemTreeSelector.icc:86
TGTextButton * w_delete_button
Delete button.
Definition: RGItemTreeSelector.hh:282
virtual void MapSubwindows()
Definition: RGItemTreeSelector.cpp:750
virtual void MoveUpClicked()
Definition: RGItemTreeSelector.icc:169
virtual void RecreateTreeDisplay()
Definition: RGItemTreeSelector.cpp:815