JG ROOT Tools libraries  version 5.0 - august 2014
RGItemSelectionBox.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RGItemSelectionBox.hh
3  *
4  * Include file for class RGItemSelectionBox
5  */
6 //======================================================================
7 
8 #ifndef RG_ITEM_SELECTION_BOX_HH
9 #define RG_ITEM_SELECTION_BOX_HH
10 
11 #include "RBaseFunctions.hh"
12 #include "RGItemListBox.hh"
13 
14 // ROOT include files
15 #include <TGFrame.h>
16 #include <TGListBox.h>
17 #include <TGLabel.h>
18 #include <TGButton.h>
19 
20 ///! ItemSelectionBox widget options
22 {
23  // position des labels
24  rgISBLabelsCenterAligned = 0x00000000, // labels centrés (défaut)
25  rgISBLabelsLeftAligned = 0x00000001, // labels placés à gauche
26  rgISBLabelsRightAligned = 0x00000002, // labels placés à droite
27  rgISBLabelsExternAligned = 0x00000003, // labels placés côtés extérieurs
28  rgISBLabelsInternAligned = 0x00000004, // labels placés côtés intérieurs
29 
30  rgISBLabelsAboveList = 0x00000000, // labels placés au dessus de la liste (défaut)
31  rgISBLabelsBelowList = 0x00000008, // labels placés sous la liste
32 
33  // position verticale des boutons latéraux (identique pour les 2 listes)
34  rgISBSideButtonsCenter = 0x00000000, // boutons latéraux placés au milieu verticalement (défaut)
35  rgISBSideButtonsUp = 0x00000010, // boutons latéraux placés en haut
36  rgICBSideButtonsDown = 0x00000020, // boutons latéraux placés en bas
37 
38  // modes de fonctionnement
39  rgISBMultipleSelection = 0x00000100, // une entrée peut être sélectionnée plusieurs fois en sortie
40  rgISBUniqueItem = 0x00000200, // interdit que 2 éléments source soient identiques (nom et pointeur de donnée)
41  rgISBUniqueName = 0x00000600, // interdit que 2 éléments source aient le même nom (plus restrictif que rgISBUniqueItem)
42  rgISBNoCaseSensitive = 0x00000800, // la liste n'est pas sensible aux majuscules/minuscules
43  rgISBDictSort = 0x00001000, // la liste n'est pas sensible aux majuscules/minuscules
44  rgISBAlwaysSorted = 0x00002000, // la liste est toujours triée rgISBReverseSort = 0x00004000, // le tri normal est descendant rgISBAlwaysReverseSorted = 0x00006000, // la liste est toujours triée, et l'ordre est descendant // boutons de déplacement des éléments dans les listes rgISBMoveSrcButtons = 0x00010000, // boutons de déplacement des éléments source rgISBMoveDestButtons = 0x00020000 // boutons de déplacement des éléments destination }; //====================================================================== /*! \class RGItemSelectionBox * * This class defines a widget with 2 lists for selection of elements. * One list (on the left) is the source of objects, the other one (on the * right), is the selection. * Each list management is based on a RGItemListBox object. * * The class RGItemSelectionBox only defines one list of objects as * an input (the global list), and the elements of this global list * are copied in the source and destination lists of RGItemListBox objects. * * The elements of the source and destination lists have the same name * than the elements from the global list, and the user data pointer * is set to the global list GItem (and not to the user object itself). * Thus, elements from the source or destination lists is uniquely * associated to a element in the global list: if an element is removed * in the global list is removed, all elements corresponding in the * source and destination sub-lists are removed also. * But if the global list element was present several times in the * list, these elements are not removed. * * The user data for source and destination lists can be modified * compared to the global list, and can be different in source and * destination sub-lists. * This feature allows for example to set specific properties to the * selected objects, and keep track of the information until the end * of use of the selection widget. * This requires to have specific signals when elements from the source * or the destination sub-lists are removed (such signal is not emitted * when the element is moved between source and destination sub-lists). * * * \image html RGItemSelectionBox.gif * * The options are in principle fixed at widget creation. * * - options for labels of source and destination lists * - \b rgISBLabelsCenterAligned: labels centered (default) * - \b rgISBLabelsLeftAligned: labels left aligned * - \b rgISBLabelsRightAligned: labels right aligned * - \b rgISBLabelsExternAligned: labels at external side * - \b rgISBLabelsInternAligned: labels at internal side * - \b rgISBLabelsAboveList: labels above lists (default) * - \b rgISBLabelsBelowList: labels below lists * * - options for central and side buttons position * - \b rgISBSideButtonsCenter: buttons vertically centered (default) * - \b rgISBSideButtonsUp: buttons aligned top * - \b rgICBSideButtonsDown: buttons aligned bottom * * - options for lists * - \b rgISBMultipleSelection: same input can be selected several times for output * - \b rgISBUniqueItem: source elements are unique (name and data pointer) * - \b rgISBUniqueName: source elements have unique name (more restrictive than rgISBUniqueItem) * - \b rgISBNoCaseSensitive: not case sensitive * - \b rgISBDictSort: not case/accent sensitive for sorting * - \b rgISBAlwaysSorted: list is always sorted * - \b rgISBReverseSort: invert sorting order * - \b rgISBAlwaysReverseSorted: list is always sorted in reverse order * * - options for source and destination sub-lists * - \b rgISBMoveSrcButtons: move buttons for source elements * - \b rgISBMoveDestButtons: move buttons for destination elements */ class RGItemSelectionBox : public TGHorizontalFrame { //------------------------------------------------------------ /*! \object_doc{RGItemSelectionBox} */ GObject(RGItemSelectionBox); //------------------------------------------------------------ protected: UInt_t list_w_min; ///< List widget minimum width UInt_t list_h_min; ///< List widget minimum height UInt_t options; ///< Widget options GItemList item_list; ///< Input list of elements (global list) RGItemListBox * src_box; ///< Source selection box RGItemListBox * dest_box; ///< Destination selection box TGVerticalFrame * w_center_frame; ///< Central frame for buttons TGTextButton * w_add_button; ///< Add to selection button TGTextButton * w_remove_button; ///< Remove from selection button //------------------------------------------------------------ // Constructors / affectation / destructor public: RGItemSelectionBox ( TGWindow *p, const char *txt_src = NULL, const char *txt_dest = NULL, const UInt_t opts = 0, const UInt_t w_min = 80, const UInt_t h_min = 80 ); protected: RGItemSelectionBox ( const RGItemSelectionBox &original ); public: virtual ~RGItemSelectionBox ( ); //------------------------------------------------------------ // widgets functions virtual void MapSubwindows ( ); virtual RGItemListBox * GetSrcItemListBox ( ) const; // inline virtual RGItemListBox * GetDestItemListBox ( ) const; // inline virtual TGVerticalFrame * GetCenterFrame ( ) const; // inline virtual TGButton * AddSrcButton ( const char *text, const Int_t id, const char *tooltip = NULL ); virtual TGButton * AddSrcButton ( TGButton *but, const Int_t id ); virtual TGButton * AddDestButton ( const char *text, const Int_t id, const char *tooltip = NULL ); virtual TGButton * AddDestButton ( TGButton *but, const Int_t id ); virtual TGButton * AddCenterButton ( const char *text, const Int_t id, const char *tooltip = NULL ); virtual TGButton * AddCenterButton ( TGButton *but, const Int_t id ); virtual TGFrame * AddSrcBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL ); virtual TGFrame * AddDestBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL ); // Lists functions virtual Int_t AddItem ( const string & s, void *ptr = NULL, const Bool_t update = true); virtual Int_t AddItem ( const GItem & d, const Bool_t update = true); virtual Int_t AddItem ( GItem * d, const Bool_t update = true); virtual void RemoveItem ( const Int_t n, const Bool_t update = true ); virtual GItem * GetItem ( Int_t id ) const; virtual GSubItem * GetSrcItem ( Int_t id ) const; virtual GSubItem * GetDestItem ( Int_t id ) const; protected: virtual void RemoveSelectedItem ( const Bool_t update = true ); virtual void RemoveSubItems ( GItem *supp, const Bool_t update = true, const Bool_t sub_signal = true ); public: virtual void SrcSelectionRemove ( ); virtual void DestSelectionRemove ( ); protected: virtual void SelectionRemove ( RGItemListBox *ilb ); public: // récupération des listes virtual GItemListIter SrcBegin ( ) const; // inline virtual GItemListIter SrcEnd ( ) const; // inline virtual GItemListIter DestBegin ( ) const; // inline virtual GItemListIter DestEnd ( ) const; // inline virtual GItemListIter Begin ( ) const; // inline virtual GItemListIter End ( ) const; // inline virtual GItemListIter Null ( ) const; // inline virtual Int_t GetSize ( ) const; // inline virtual Int_t GetSrcSize ( ) const; // inline virtual Int_t GetDestSize ( ) const; // inline // fonctions à usage interne (elles n'ont pas besoin d'être protégées) virtual void UpdateSelectionBox ( ); // Slots des widgets internes virtual Int_t ItemToDest ( const Int_t num, const Bool_t update = false ); virtual Int_t SrcItemToDest ( const Int_t num, const Bool_t update = false ); virtual void SrcDoubleClicked ( Int_t n ); virtual void DestDoubleClicked ( Int_t n ); virtual void SrcSelectionToDest ( ); virtual void DestSelectionToSrc ( ); //---------------------------------------------------------- // SIGNALS virtual void ItemRemoved ( ULong_t ptr ); // *SIGNAL* virtual void SrcItemRemoved ( ULong_t ptr ); // *SIGNAL* virtual void DestItemRemoved ( ULong_t ptr ); // *SIGNAL* virtual void CustomClicked ( Int_t id ); // *SIGNAL* virtual void SelectionChanged ( ); // *SIGNAL* virtual void SrcSelectionChanged ( ); // *SIGNAL* virtual void DestSelectionChanged ( ); // *SIGNAL* //------------------------------------------------------------ /*! For ROOT dictionary.*/ ClassDef(RGItemSelectionBox,0); }; //---------------------------------------------------------------------- // Inline functions #include "icc/RGItemSelectionBox.icc" //====================================================================== #endif
45  rgISBReverseSort = 0x00004000, // le tri normal est descendant
46  rgISBAlwaysReverseSorted = 0x00006000, // la liste est toujours triée, et l'ordre est descendant
47 
48  // boutons de déplacement des éléments dans les listes
49  rgISBMoveSrcButtons = 0x00010000, // boutons de déplacement des éléments source
50  rgISBMoveDestButtons = 0x00020000 // boutons de déplacement des éléments destination
51 };
52 
53 
54 //======================================================================
55 /*! \class RGItemSelectionBox
56  *
57  * This class defines a widget with 2 lists for selection of elements.
58  * One list (on the left) is the source of objects, the other one (on the
59  * right), is the selection.
60  * Each list management is based on a RGItemListBox object.
61  *
62  * The class RGItemSelectionBox only defines one list of objects as
63  * an input (the global list), and the elements of this global list
64  * are copied in the source and destination lists of RGItemListBox objects.
65  *
66  * The elements of the source and destination lists have the same name
67  * than the elements from the global list, and the user data pointer
68  * is set to the global list GItem (and not to the user object itself).
69  * Thus, elements from the source or destination lists is uniquely
70  * associated to a element in the global list: if an element is removed
71  * in the global list is removed, all elements corresponding in the
72  * source and destination sub-lists are removed also.
73  * But if the global list element was present several times in the
74  * list, these elements are not removed.
75  *
76  * The user data for source and destination lists can be modified
77  * compared to the global list, and can be different in source and
78  * destination sub-lists.
79  * This feature allows for example to set specific properties to the
80  * selected objects, and keep track of the information until the end
81  * of use of the selection widget.
82  * This requires to have specific signals when elements from the source
83  * or the destination sub-lists are removed (such signal is not emitted
84  * when the element is moved between source and destination sub-lists).
85  *
86  *
87  * \image html RGItemSelectionBox.gif
88  *
89  * The options are in principle fixed at widget creation.
90  *
91  * - options for labels of source and destination lists
92  * - \b rgISBLabelsCenterAligned: labels centered (default)
93  * - \b rgISBLabelsLeftAligned: labels left aligned
94  * - \b rgISBLabelsRightAligned: labels right aligned
95  * - \b rgISBLabelsExternAligned: labels at external side
96  * - \b rgISBLabelsInternAligned: labels at internal side
97  * - \b rgISBLabelsAboveList: labels above lists (default)
98  * - \b rgISBLabelsBelowList: labels below lists
99  *
100  * - options for central and side buttons position
101  * - \b rgISBSideButtonsCenter: buttons vertically centered (default)
102  * - \b rgISBSideButtonsUp: buttons aligned top
103  * - \b rgICBSideButtonsDown: buttons aligned bottom
104  *
105  * - options for lists
106  * - \b rgISBMultipleSelection: same input can be selected several times for output
107  * - \b rgISBUniqueItem: source elements are unique (name and data pointer)
108  * - \b rgISBUniqueName: source elements have unique name (more restrictive than rgISBUniqueItem)
109  * - \b rgISBNoCaseSensitive: not case sensitive
110  * - \b rgISBDictSort: not case/accent sensitive for sorting
111  * - \b rgISBAlwaysSorted: list is always sorted
112  * - \b rgISBReverseSort: invert sorting order
113  * - \b rgISBAlwaysReverseSorted: list is always sorted in reverse order
114  *
115  * - options for source and destination sub-lists
116  * - \b rgISBMoveSrcButtons: move buttons for source elements
117  * - \b rgISBMoveDestButtons: move buttons for destination elements
118  */
119 class RGItemSelectionBox : public TGHorizontalFrame
120 {
121  //------------------------------------------------------------
122  /*! \object_doc{RGItemSelectionBox} */
124  //------------------------------------------------------------
125 
126  protected:
127  UInt_t list_w_min; ///< List widget minimum width
128  UInt_t list_h_min; ///< List widget minimum height
129 
130  UInt_t options; ///< Widget options
131 
132  GItemList item_list; ///< Input list of elements (global list)
133 
134  RGItemListBox * src_box; ///< Source selection box
135  RGItemListBox * dest_box; ///< Destination selection box
136 
137  TGVerticalFrame * w_center_frame; ///< Central frame for buttons
138  TGTextButton * w_add_button; ///< Add to selection button
139  TGTextButton * w_remove_button; ///< Remove from selection button
140 
141  //------------------------------------------------------------
142  // Constructors / affectation / destructor
143  public:
144  RGItemSelectionBox ( TGWindow *p,
145  const char *txt_src = NULL,
146  const char *txt_dest = NULL,
147  const UInt_t opts = 0,
148  const UInt_t w_min = 80,
149  const UInt_t h_min = 80 );
150 
151  protected:
152  RGItemSelectionBox ( const RGItemSelectionBox &original );
153 
154  public:
155  virtual ~RGItemSelectionBox ( );
156 
157  //------------------------------------------------------------
158  // widgets functions
159  virtual void MapSubwindows ( );
160  virtual RGItemListBox * GetSrcItemListBox ( ) const; // inline
161  virtual RGItemListBox * GetDestItemListBox ( ) const; // inline
162  virtual TGVerticalFrame * GetCenterFrame ( ) const; // inline
163 
164  virtual TGButton * AddSrcButton ( const char *text, const Int_t id, const char *tooltip = NULL );
165  virtual TGButton * AddSrcButton ( TGButton *but, const Int_t id );
166  virtual TGButton * AddDestButton ( const char *text, const Int_t id, const char *tooltip = NULL );
167  virtual TGButton * AddDestButton ( TGButton *but, const Int_t id );
168  virtual TGButton * AddCenterButton ( const char *text, const Int_t id, const char *tooltip = NULL );
169  virtual TGButton * AddCenterButton ( TGButton *but, const Int_t id );
170 
171  virtual TGFrame * AddSrcBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL );
172  virtual TGFrame * AddDestBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL );
173 
174  // Lists functions
175  virtual Int_t AddItem ( const string & s, void *ptr = NULL, const Bool_t update = true);
176  virtual Int_t AddItem ( const GItem & d, const Bool_t update = true);
177  virtual Int_t AddItem ( GItem * d, const Bool_t update = true);
178 
179  virtual void RemoveItem ( const Int_t n, const Bool_t update = true );
180 
181  virtual GItem * GetItem ( Int_t id ) const;
182  virtual GSubItem * GetSrcItem ( Int_t id ) const;
183  virtual GSubItem * GetDestItem ( Int_t id ) const;
184 
185  protected:
186  virtual void RemoveSelectedItem ( const Bool_t update = true );
187  virtual void RemoveSubItems ( GItem *supp, const Bool_t update = true, const Bool_t sub_signal = true );
188 
189  public:
190  virtual void SrcSelectionRemove ( );
191  virtual void DestSelectionRemove ( );
192  protected:
193  virtual void SelectionRemove ( RGItemListBox *ilb );
194 
195  public:
196  // récupération des listes
197  virtual GItemListIter SrcBegin ( ) const; // inline
198  virtual GItemListIter SrcEnd ( ) const; // inline
199  virtual GItemListIter DestBegin ( ) const; // inline
200  virtual GItemListIter DestEnd ( ) const; // inline
201  virtual GItemListIter Begin ( ) const; // inline
202  virtual GItemListIter End ( ) const; // inline
203  virtual GItemListIter Null ( ) const; // inline
204 
205  virtual Int_t GetSize ( ) const; // inline
206  virtual Int_t GetSrcSize ( ) const; // inline
207  virtual Int_t GetDestSize ( ) const; // inline
208 
209  // fonctions à usage interne (elles n'ont pas besoin d'être protégées)
210  virtual void UpdateSelectionBox ( );
211 
212  // Slots des widgets internes
213  virtual Int_t ItemToDest ( const Int_t num, const Bool_t update = false );
214  virtual Int_t SrcItemToDest ( const Int_t num, const Bool_t update = false );
215 
216  virtual void SrcDoubleClicked ( Int_t n );
217  virtual void DestDoubleClicked ( Int_t n );
218 
219  virtual void SrcSelectionToDest ( );
220  virtual void DestSelectionToSrc ( );
221 
222  //----------------------------------------------------------
223  // SIGNALS
224  virtual void ItemRemoved ( ULong_t ptr ); // *SIGNAL*
225  virtual void SrcItemRemoved ( ULong_t ptr ); // *SIGNAL*
226  virtual void DestItemRemoved ( ULong_t ptr ); // *SIGNAL*
227  virtual void CustomClicked ( Int_t id ); // *SIGNAL*
228  virtual void SelectionChanged ( ); // *SIGNAL*
229  virtual void SrcSelectionChanged ( ); // *SIGNAL*
230  virtual void DestSelectionChanged ( ); // *SIGNAL*
231 
232 
233  //------------------------------------------------------------
234  /*! For ROOT dictionary.*/
236 };
237 
238 //----------------------------------------------------------------------
239 // Inline functions
241 
242 //======================================================================
243 #endif
virtual void RemoveSelectedItem(const Bool_t update=true)
Definition: RGItemSelectionBox.cpp:455
virtual void SrcItemRemoved(ULong_t ptr)
Definition: RGItemSelectionBox.icc:162
Definition: RGItemListBox.hh:123
ClassDef(RGItemSelectionBox, 0)
virtual void DestSelectionToSrc()
Definition: RGItemSelectionBox.cpp:747
RGItemSelectionBoxOptions
! ItemSelectionBox widget options
Definition: RGItemSelectionBox.hh:21
Definition: RGItemSelectionBox.hh:119
virtual GItemListIter SrcEnd() const
Definition: RGItemSelectionBox.icc:112
GItemList item_list
Input list of elements (global list)
Definition: RGItemSelectionBox.hh:132
virtual GSubItem * GetSrcItem(Int_t id) const
Definition: RGItemSelectionBox.icc:84
UInt_t list_h_min
List widget minimum height.
Definition: RGItemSelectionBox.hh:128
virtual void SrcSelectionRemove()
Definition: RGItemSelectionBox.icc:98
virtual GSubItem * GetDestItem(Int_t id) const
Definition: RGItemSelectionBox.icc:90
virtual Int_t SrcItemToDest(const Int_t num, const Bool_t update=false)
Definition: RGItemSelectionBox.cpp:635
UInt_t list_w_min
List widget minimum width.
Definition: RGItemSelectionBox.hh:127
TGTextButton * w_remove_button
Remove from selection button.
Definition: RGItemSelectionBox.hh:139
virtual Int_t GetDestSize() const
Definition: RGItemSelectionBox.icc:144
virtual TGFrame * AddDestBottomFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemSelectionBox.icc:33
virtual GItemListIter Null() const
Definition: RGItemSelectionBox.icc:132
virtual GItemListIter DestBegin() const
Definition: RGItemSelectionBox.icc:116
virtual void ItemRemoved(ULong_t ptr)
Definition: RGItemSelectionBox.icc:154
virtual void UpdateSelectionBox()
Definition: RGItemSelectionBox.icc:94
virtual Int_t ItemToDest(const Int_t num, const Bool_t update=false)
Definition: RGItemSelectionBox.cpp:592
virtual void DestSelectionRemove()
Definition: RGItemSelectionBox.icc:102
UInt_t options
Widget options.
Definition: RGItemSelectionBox.hh:130
virtual Int_t GetSrcSize() const
Definition: RGItemSelectionBox.icc:140
virtual void DestItemRemoved(ULong_t ptr)
Definition: RGItemSelectionBox.icc:170
virtual Int_t AddItem(const string &s, void *ptr=NULL, const Bool_t update=true)
Definition: RGItemSelectionBox.icc:54
virtual Int_t GetSize() const
Definition: RGItemSelectionBox.icc:136
virtual TGVerticalFrame * GetCenterFrame() const
Definition: RGItemSelectionBox.icc:19
virtual TGButton * AddSrcButton(const char *text, const Int_t id, const char *tooltip=NULL)
Definition: RGItemSelectionBox.cpp:256
virtual void MapSubwindows()
Definition: RGItemSelectionBox.cpp:214
virtual TGButton * AddDestButton(const char *text, const Int_t id, const char *tooltip=NULL)
Definition: RGItemSelectionBox.cpp:304
virtual GItemListIter End() const
Definition: RGItemSelectionBox.icc:128
GObject(RGItemSelectionBox)
virtual void CustomClicked(Int_t id)
Definition: RGItemSelectionBox.icc:176
virtual GItemListIter SrcBegin() const
Definition: RGItemSelectionBox.icc:108
RGItemListBox * dest_box
Destination selection box.
Definition: RGItemSelectionBox.hh:135
virtual GItemListIter Begin() const
Definition: RGItemSelectionBox.icc:124
TGTextButton * w_add_button
Add to selection button.
Definition: RGItemSelectionBox.hh:138
virtual void RemoveSubItems(GItem *supp, const Bool_t update=true, const Bool_t sub_signal=true)
Definition: RGItemSelectionBox.cpp:507
virtual GItemListIter DestEnd() const
Definition: RGItemSelectionBox.icc:120
virtual void DestSelectionChanged()
Definition: RGItemSelectionBox.icc:188
RGItemSelectionBox(TGWindow *p, const char *txt_src=NULL, const char *txt_dest=NULL, const UInt_t opts=0, const UInt_t w_min=80, const UInt_t h_min=80)
Definition: RGItemSelectionBox.cpp:23
virtual RGItemListBox * GetSrcItemListBox() const
Definition: RGItemSelectionBox.icc:11
virtual void DestDoubleClicked(Int_t n)
Definition: RGItemSelectionBox.cpp:686
virtual void RemoveItem(const Int_t n, const Bool_t update=true)
Definition: RGItemSelectionBox.cpp:428
virtual RGItemListBox * GetDestItemListBox() const
Definition: RGItemSelectionBox.icc:15
virtual void SelectionChanged()
Definition: RGItemSelectionBox.icc:180
RGItemListBox * src_box
Source selection box.
Definition: RGItemSelectionBox.hh:134
virtual TGButton * AddCenterButton(const char *text, const Int_t id, const char *tooltip=NULL)
Definition: RGItemSelectionBox.cpp:352
virtual ~RGItemSelectionBox()
Definition: RGItemSelectionBox.cpp:201
virtual void SrcSelectionToDest()
Definition: RGItemSelectionBox.cpp:702
virtual GItem * GetItem(Int_t id) const
Definition: RGItemSelectionBox.icc:78
virtual void SrcSelectionChanged()
Definition: RGItemSelectionBox.icc:184
TGVerticalFrame * w_center_frame
Central frame for buttons.
Definition: RGItemSelectionBox.hh:137
virtual void SelectionRemove(RGItemListBox *ilb)
Definition: RGItemSelectionBox.cpp:556
virtual TGFrame * AddSrcBottomFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemSelectionBox.icc:26
virtual void SrcDoubleClicked(Int_t n)
Definition: RGItemSelectionBox.cpp:674