JG ROOT Tools libraries  version 5.0 - august 2014
RGItemListBox.hh
Go to the documentation of this file.
1 //======================================================================
2 /*! \file RGItemListBox.hh
3  *
4  * Include file for class RGItemListBox
5  */
6 //======================================================================
7 
8 #ifndef RG_ITEM_LIST_BOX_HH
9 #define RG_ITEM_LIST_BOX_HH
10 
11 #include "RBaseFunctions.hh"
12 #include "GItemList.hh"
13 
14 // ROOT include files
15 #include <TGFrame.h>
16 #include <TGListBox.h>
17 #include <TGLabel.h>
18 #include <TGButton.h>
19 
20 ///! RGItemListBox widget options
22 {
23  rgILBLabelCenterAligned = 0x00000000, // label centré (défaut)
24  rgILBLabelLeftAligned = 0x00000001, // label placé à gauche
25  rgILBLabelRightAligned = 0x00000002, // label placé à droite
26 
27  rgILBLabelAboveList = 0x00000000, // label placé au dessus de la liste (défaut)
28  rgILBLabelBelowList = 0x00000004, // label placé sous la liste
29 
30  rgILBSideButtonsRight = 0x00000000, // boutons latéraux placés à droite (défaut)
31  rgILBSideButtonsLeft = 0x00000008, // boutons latéraux placés à gauche
32  rgILBSideButtonsCenter = 0x00000000, // boutons latéraux placés au milieu verticalement (défaut)
33  rgILBSideButtonsUp = 0x00000010, // boutons latéraux placés en haut
34  rgILBSideButtonsUpRight = 0x00000010, // boutons latéraux placés en haut à droite
35  rgILBSideButtonsUpLeft = 0x00000018, // boutons latéraux placés en haut à gauche
36  rgILBSideButtonsDown = 0x00000020, // boutons latéraux placés en bas
37  rgILBSideButtonsDownRight = 0x00000020, // boutons latéraux placés en bas à droite
38  rgILBSideButtonsDownLeft = 0x00000028, // boutons latéraux placés en bas à gauche
39 
40  rgILBMultipleSelection = 0x00000100, // autorise la sélection de plusieurs éléments
41  rgILBUniqueItem = 0x00000200, // interdit que 2 éléments soient identiques
42  rgILBUniqueName = 0x00000600, // interdit que 2 éléments aient le même nom
43  rgILBNoCaseSensitive = 0x00000800, // la liste n'est pas sensible aux majuscules/minuscules
44  rgILBDictSort = 0x00001000, // la liste n'est pas sensible aux majuscules/minuscules
45  rgILBAlwaysSorted = 0x00002000, // la liste est toujours triée rgILBReverseSort = 0x00004000, // le tri normal est descendant rgILBAlwaysReverseSorted = 0x00006000, // la liste est toujours triée, et l'ordre est descendant rgILBNoMultipleMove = 0x00008000, // les éléments ne peuvent être déplacés en cas de sélection multiple // boutons latéraux rgILBMoveButtons = 0x00010000, // boutons de déplacement des éléments (par défaut à gauche) rgILBCustomButtons = 0x00020000, // boutons supplémentaires rgILBSideButtons = 0x00030000 // bits indiquant des boutons latéraux }; //====================================================================== /*! \class RGItemListBox * * This class defines a widget containing a list for selection of elements. * The list elements are pointers on user objects, referred to by GItem * objects. * * The list of elements is presented in the widget through a TGListBox * widget. * Some buttons are predefined for various selection actions: * - below the list, buttons "All", "None" and "Invert", if multiple * selection is allowed; * - on the side, buttons to move items. * * \image html RGItemListBox.gif * * Options are defined at creation time, and may not be changed after: * some internal widgets are only created according to these options. * If an option may exceptionnaly be changed after creation, it is mentioned. * * Options defined in the RGItemListBoxOptions enumeration: * * - Label options (related to TGGroupFrame base class) * - \b rgILBLabelCenterAligned: label is centered (default) * - \b rgILBLabelLeftAligned: label at left position * - \b rgILBLabelRightAligned: label at right position * - \b rgILBLabelAboveList: label is located above the list (default) * - \b rgILBLabelBelowList: label is located below the list * * * - options for side buttons positions (if options * rgILBMoveButtons or rgILBCustomButtons are set) * - \b rgILBSideButtonsRight: buttons on right side (default) * - \b rgILBSideButtonsLeft: buttons on left side * - \b rgILBSideButtonsCenter: side buttons vertically centered (default) * - \b rgILBSideButtonsUp: side buttons vertically placed up * - \b rgILBSideButtonsUpRight: side buttons vertically placed up right * - \b rgILBSideButtonsUpLeft: side buttons vertically placed up left * - \b rgILBSideButtonsDown: side buttons vertically placed down * - \b rgILBSideButtonsDownRight: side buttons vertically placed down right * - \b rgILBSideButtonsDownLeft: side buttons vertically placed down left * * - global options * - \b rgILBMultipleSelection: allow multiple elements selection * - \b rgILBUniqueItem: the list may not contain identical elements (name and data) * - \b rgILBUniqueName: the list may not contain elements with same name * - \b rgILBNoCaseSensitive: identification is not case sensitive * - \b rgILBDictSort: sorting is not case/accent sensitive * - \b rgILBAlwaysSorted: the list is always sorted * - \b rgILBReverseSort: sorting order is reversed * - \b rgILBAlwaysReverseSorted: list is always sorted and order is reversed * - \b rgILBNoMultipleMove: moving elements is forbidden for multiple selection * * - options for side buttons use * - \b rgILBMoveButtons: create elements deplacement buttons * - \b rgILBCustomButtons: additional buttons may be added * * * \note * - for multiple selection the \b CTRL key should be pressed to select * new elements, and the \b SHIFT key selects all elements between previously * and currently selected elements. * - for single selection, a DoubleClicked() signal is sent after * the Selected signal. */ class RGItemListBox : public TGGroupFrame { //------------------------------------------------------------ /*! \object_doc{RGItemListBox} */ GObject(RGItemListBox); //------------------------------------------------------------ protected: GItemList item_list; ///< List of elements UInt_t list_w_min; ///< List widget minimum width UInt_t list_h_min; ///< List widget minimum height UInt_t options; ///< Widget options Int_t previous_selected; ///< Dernière entrée clickée Int_t last_selected; ///< Last entry selected TGHorizontalFrame * w_widgets_frame; ///< Main frame TGVerticalFrame * w_list_frame; ///< List and move buttons frame TGListBox * w_list; ///< List widget TGHorizontalFrame * w_button_frame; ///< List buttons frame TGTextButton * w_all_button; ///< All elements selection button TGTextButton * w_none_button; ///< None elements selection button TGTextButton * w_invert_button; ///< Invert selection button TGVerticalFrame * w_side_frame; ///< Move buttons frame TGTextButton * w_move_up; ///< Move button TGTextButton * w_move_down; ///< Move button TGTextButton * w_move_top; ///< Move button TGTextButton * w_move_bottom; ///< Move button Bool_t move_cancel; ///< Flag for move cancellation Bool_t ctrl_key; ///< Flag for selection with CTRL key Bool_t shift_key; ///< Flag for selection with Shift key Bool_t dble_click; ///< Flag for double-click selection Int_t dble_time; ///< Double-click time //------------------------------------------------------------ /** @name Constructors, affectation, destructor */ //@{ public: RGItemListBox ( TGWindow *p, const char *label = NULL, const UInt_t opts = 0, const UInt_t w_min = 80, const UInt_t h_min = 80 ); protected: RGItemListBox ( const RGItemListBox &original ); public: virtual ~RGItemListBox ( ); //@} //------------------------------------------------------------ /** @name Pointers to sub-widgets */ //@{ virtual TGListBox * GetListBox ( ) const; virtual TGVerticalFrame * GetSideFrame ( ) const; virtual TGTextButton * GetAllButton ( ) const; virtual TGTextButton * GetNoneButton ( ) const; virtual TGTextButton * GetInvertButton ( ) const; virtual TGVerticalFrame * GetSideButtonsFrame ( ) const; virtual TGTextButton * GetMoveUpButton ( ) const; virtual TGTextButton * GetMoveDownButton ( ) const; virtual TGTextButton * GetMoveTopButton ( ) const; virtual TGTextButton * GetMoveBottomButton ( ) const; //@} //------------------------------------------------------------ /** @name Widgets functions */ //@{ virtual void MapSubwindows ( ); virtual void ListBoxLayout ( ); virtual TGButton * AddSideButton ( const char *text, const Int_t id, const char *tooltip = NULL ); virtual TGButton * AddSideButton ( TGButton *but, const Int_t id ); virtual TGFrame * AddSideFrame ( TGFrame *f, TGLayoutHints *l = NULL ); virtual TGFrame * AddBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL ); //@} //------------------------------------------------------------ /** @name List of elements functions */ //@{ virtual GItemListIter Begin ( ) const; // inline virtual GItemListIter End ( ) const; // inline virtual GItemListIter Null ( ) const; // inline virtual Int_t GetSize ( ) const; // inline //@} //------------------------------------------------------------ /** @name Running functions */ //@{ virtual const GItem * Select ( const Int_t n, const Bool_t b = kTRUE ); virtual void SetItemVisible ( const Int_t n ); virtual Int_t GetSelectedFirst ( ) const; virtual Int_t GetSelectedLast ( ) const; virtual Int_t GetSelectedNumber ( ) const; virtual GItem * GetItem ( Int_t id ) const; virtual Int_t GetSelected ( ) const; virtual Bool_t GetSelection ( Int_t id ) const; virtual Int_t GetItemNumber ( ) const; virtual Int_t AddItem ( const string & s, void *ptr = NULL, const Bool_t update = true ); virtual Int_t AddItem ( const GItem & item, const Bool_t update = true ); virtual Int_t AddItem ( GItem * item, const Bool_t update = true ); virtual void RemoveItem ( const Int_t n, const Bool_t update = true ); virtual void Sort ( const bool invert = false ); virtual void Sort ( const int order ); virtual void SelectionMoveTop ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE ); virtual void SelectionMoveUp ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE ); virtual void SelectionMoveDown ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE ); virtual void SelectionMoveBottom ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE ); virtual void CancelMove ( const Bool_t cancel = kTRUE ); virtual Bool_t GetCancelMoveState ( ) const; virtual void SelectionRemove ( ); virtual void SelectAll ( ); virtual void SelectNone ( ); virtual void SelectInvert ( ); //@} //------------------------------------------------------------ /** @name Internal functions (no need to be protected) */ //@{ virtual void UpdateItemList ( ); virtual void UpdateListBox ( ); virtual void UpdateButtonState ( ); //@} //------------------------------------------------------------ /** @name Slots from sub-widgets */ //@{ public: // Slot for list-box element selection virtual void ListSelected ( Int_t n ); // Slot for list-box selection change virtual void ListSelectionChanged ( ); // Slot for event processing in the widget virtual void ProcessedEvent ( Event_t * event ); //@} //------------------------------------------------------------ /** @name Signals */ //@{ // Side buttons signals virtual void MoveUpClicked ( ); // *SIGNAL* virtual void MoveDownClicked ( ); // *SIGNAL* virtual void MoveTopClicked ( ); // *SIGNAL* virtual void MoveBottomClicked ( ); // *SIGNAL* virtual void SelectionMoved ( ); // *SIGNAL* virtual void CustomClicked ( Int_t id ); // *SIGNAL* // Multiple selection buttons signals virtual void SelectionAllClicked ( ); // *SIGNAL* virtual void SelectionNoneClicked ( ); // *SIGNAL* virtual void SelectionInvertClicked ( ); // *SIGNAL* // List-box signals virtual void Selected ( Int_t n ); // *SIGNAL* virtual void SelectionChanged ( ); // *SIGNAL* virtual void DoubleClicked ( Int_t n ); // *SIGNAL* // Other signals virtual void ItemRemoved ( ULong_t ptr ); // *SIGNAL* //@} //------------------------------------------------------------ /** @name ROOT related functions */ //@{ /*! For ROOT dictionary.*/ ClassDef(RGItemListBox,0); //@} }; //---------------------------------------------------------------------- // Inline functions #include "icc/RGItemListBox.icc" //====================================================================== #endif
46  rgILBReverseSort = 0x00004000, // le tri normal est descendant
47  rgILBAlwaysReverseSorted = 0x00006000, // la liste est toujours triée, et l'ordre est descendant
48  rgILBNoMultipleMove = 0x00008000, // les éléments ne peuvent être déplacés en cas de sélection multiple
49 
50  // boutons latéraux
51  rgILBMoveButtons = 0x00010000, // boutons de déplacement des éléments (par défaut à gauche)
52  rgILBCustomButtons = 0x00020000, // boutons supplémentaires
53  rgILBSideButtons = 0x00030000 // bits indiquant des boutons latéraux
54 };
55 
56 
57 //======================================================================
58 /*! \class RGItemListBox
59  *
60  * This class defines a widget containing a list for selection of elements.
61  * The list elements are pointers on user objects, referred to by GItem
62  * objects.
63  *
64  * The list of elements is presented in the widget through a TGListBox
65  * widget.
66  * Some buttons are predefined for various selection actions:
67  * - below the list, buttons "All", "None" and "Invert", if multiple
68  * selection is allowed;
69  * - on the side, buttons to move items.
70  *
71  * \image html RGItemListBox.gif
72  *
73  * Options are defined at creation time, and may not be changed after:
74  * some internal widgets are only created according to these options.
75  * If an option may exceptionnaly be changed after creation, it is mentioned.
76  *
77  * Options defined in the RGItemListBoxOptions enumeration:
78  *
79  * - Label options (related to TGGroupFrame base class)
80  * - \b rgILBLabelCenterAligned: label is centered (default)
81  * - \b rgILBLabelLeftAligned: label at left position
82  * - \b rgILBLabelRightAligned: label at right position
83  * - \b rgILBLabelAboveList: label is located above the list (default)
84  * - \b rgILBLabelBelowList: label is located below the list
85  *
86  *
87  * - options for side buttons positions (if options
88  * rgILBMoveButtons or rgILBCustomButtons are set)
89  * - \b rgILBSideButtonsRight: buttons on right side (default)
90  * - \b rgILBSideButtonsLeft: buttons on left side
91  * - \b rgILBSideButtonsCenter: side buttons vertically centered (default)
92  * - \b rgILBSideButtonsUp: side buttons vertically placed up
93  * - \b rgILBSideButtonsUpRight: side buttons vertically placed up right
94  * - \b rgILBSideButtonsUpLeft: side buttons vertically placed up left
95  * - \b rgILBSideButtonsDown: side buttons vertically placed down
96  * - \b rgILBSideButtonsDownRight: side buttons vertically placed down right
97  * - \b rgILBSideButtonsDownLeft: side buttons vertically placed down left
98  *
99  * - global options
100  * - \b rgILBMultipleSelection: allow multiple elements selection
101  * - \b rgILBUniqueItem: the list may not contain identical elements (name and data)
102  * - \b rgILBUniqueName: the list may not contain elements with same name
103  * - \b rgILBNoCaseSensitive: identification is not case sensitive
104  * - \b rgILBDictSort: sorting is not case/accent sensitive
105  * - \b rgILBAlwaysSorted: the list is always sorted
106  * - \b rgILBReverseSort: sorting order is reversed
107  * - \b rgILBAlwaysReverseSorted: list is always sorted and order is reversed
108  * - \b rgILBNoMultipleMove: moving elements is forbidden for multiple selection
109  *
110  * - options for side buttons use
111  * - \b rgILBMoveButtons: create elements deplacement buttons
112  * - \b rgILBCustomButtons: additional buttons may be added
113  *
114  *
115  * \note
116  * - for multiple selection the \b CTRL key should be pressed to select
117  * new elements, and the \b SHIFT key selects all elements between previously
118  * and currently selected elements.
119  * - for single selection, a DoubleClicked() signal is sent after
120  * the Selected signal.
121  */
122 
123 class RGItemListBox : public TGGroupFrame
124 {
125  //------------------------------------------------------------
126  /*! \object_doc{RGItemListBox} */
128  //------------------------------------------------------------
129 
130  protected:
131 
132  GItemList item_list; ///< List of elements
133 
134  UInt_t list_w_min; ///< List widget minimum width
135  UInt_t list_h_min; ///< List widget minimum height
136 
137  UInt_t options; ///< Widget options
138 
139  Int_t previous_selected; ///< Dernière entrée clickée7a77
140  Int_t last_selected; ///< Last entry selected
141 
142 
143  TGHorizontalFrame * w_widgets_frame; ///< Main frame
144  TGVerticalFrame * w_list_frame; ///< List and move buttons frame
145  TGListBox * w_list; ///< List widget
146 
147  TGHorizontalFrame * w_button_frame; ///< List buttons frame
148  TGTextButton * w_all_button; ///< All elements selection button
149  TGTextButton * w_none_button; ///< None elements selection button
150  TGTextButton * w_invert_button; ///< Invert selection button
151 
152  TGVerticalFrame * w_side_frame; ///< Move buttons frame
153  TGTextButton * w_move_up; ///< Move button
154  TGTextButton * w_move_down; ///< Move button
155  TGTextButton * w_move_top; ///< Move button
156  TGTextButton * w_move_bottom; ///< Move button
157 
158  Bool_t move_cancel; ///< Flag for move cancellation
159 
160  Bool_t ctrl_key; ///< Flag for selection with CTRL key
161  Bool_t shift_key; ///< Flag for selection with Shift key
162  Bool_t dble_click; ///< Flag for double-click selection
163  Int_t dble_time; ///< Double-click time
164 
165  //------------------------------------------------------------
166  /** @name Constructors, affectation, destructor */
167  //@{
168  public:
169  RGItemListBox ( TGWindow *p,
170  const char *label = NULL,
171  const UInt_t opts = 0,
172  const UInt_t w_min = 80,
173  const UInt_t h_min = 80 );
174 
175  protected:
176  RGItemListBox ( const RGItemListBox &original );
177 
178  public:
179  virtual ~RGItemListBox ( );
180  //@}
181 
182  //------------------------------------------------------------
183  /** @name Pointers to sub-widgets */
184  //@{
185  virtual TGListBox * GetListBox ( ) const;
186  virtual TGVerticalFrame * GetSideFrame ( ) const;
187 
188  virtual TGTextButton * GetAllButton ( ) const;
189  virtual TGTextButton * GetNoneButton ( ) const;
190  virtual TGTextButton * GetInvertButton ( ) const;
191 
192  virtual TGVerticalFrame * GetSideButtonsFrame ( ) const;
193 
194  virtual TGTextButton * GetMoveUpButton ( ) const;
195  virtual TGTextButton * GetMoveDownButton ( ) const;
196  virtual TGTextButton * GetMoveTopButton ( ) const;
197  virtual TGTextButton * GetMoveBottomButton ( ) const;
198  //@}
199 
200  //------------------------------------------------------------
201  /** @name Widgets functions */
202  //@{
203  virtual void MapSubwindows ( );
204  virtual void ListBoxLayout ( );
205 
206  virtual TGButton * AddSideButton ( const char *text, const Int_t id, const char *tooltip = NULL );
207  virtual TGButton * AddSideButton ( TGButton *but, const Int_t id );
208  virtual TGFrame * AddSideFrame ( TGFrame *f, TGLayoutHints *l = NULL );
209  virtual TGFrame * AddBottomFrame ( TGFrame *f, TGLayoutHints *l = NULL );
210  //@}
211 
212  //------------------------------------------------------------
213  /** @name List of elements functions */
214  //@{
215  virtual GItemListIter Begin ( ) const; // inline
216  virtual GItemListIter End ( ) const; // inline
217  virtual GItemListIter Null ( ) const; // inline
218  virtual Int_t GetSize ( ) const; // inline
219  //@}
220 
221  //------------------------------------------------------------
222  /** @name Running functions */
223  //@{
224  virtual const GItem * Select ( const Int_t n, const Bool_t b = kTRUE );
225  virtual void SetItemVisible ( const Int_t n );
226 
227  virtual Int_t GetSelectedFirst ( ) const;
228  virtual Int_t GetSelectedLast ( ) const;
229  virtual Int_t GetSelectedNumber ( ) const;
230 
231  virtual GItem * GetItem ( Int_t id ) const;
232  virtual Int_t GetSelected ( ) const;
233  virtual Bool_t GetSelection ( Int_t id ) const;
234 
235  virtual Int_t GetItemNumber ( ) const;
236  virtual Int_t AddItem ( const string & s, void *ptr = NULL, const Bool_t update = true );
237  virtual Int_t AddItem ( const GItem & item, const Bool_t update = true );
238  virtual Int_t AddItem ( GItem * item, const Bool_t update = true );
239  virtual void RemoveItem ( const Int_t n, const Bool_t update = true );
240 
241  virtual void Sort ( const bool invert = false );
242  virtual void Sort ( const int order );
243 
244 
245  virtual void SelectionMoveTop ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE );
246  virtual void SelectionMoveUp ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE );
247  virtual void SelectionMoveDown ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE );
248  virtual void SelectionMoveBottom ( const Bool_t update = kTRUE, const Bool_t emit = kTRUE );
249  virtual void CancelMove ( const Bool_t cancel = kTRUE );
250  virtual Bool_t GetCancelMoveState ( ) const;
251 
252  virtual void SelectionRemove ( );
253 
254  virtual void SelectAll ( );
255  virtual void SelectNone ( );
256  virtual void SelectInvert ( );
257  //@}
258 
259  //------------------------------------------------------------
260  /** @name Internal functions (no need to be protected) */
261  //@{
262  virtual void UpdateItemList ( );
263  virtual void UpdateListBox ( );
264  virtual void UpdateButtonState ( );
265  //@}
266 
267  //------------------------------------------------------------
268  /** @name Slots from sub-widgets */
269  //@{
270  public:
271 
272  // Slot for list-box element selection
273  virtual void ListSelected ( Int_t n );
274 
275  // Slot for list-box selection change
276  virtual void ListSelectionChanged ( );
277 
278  // Slot for event processing in the widget
279  virtual void ProcessedEvent ( Event_t * event );
280  //@}
281 
282  //------------------------------------------------------------
283  /** @name Signals */
284  //@{
285 
286  // Side buttons signals
287  virtual void MoveUpClicked ( ); // *SIGNAL*
288  virtual void MoveDownClicked ( ); // *SIGNAL*
289  virtual void MoveTopClicked ( ); // *SIGNAL*
290  virtual void MoveBottomClicked ( ); // *SIGNAL*
291  virtual void SelectionMoved ( ); // *SIGNAL*
292  virtual void CustomClicked ( Int_t id ); // *SIGNAL*
293 
294  // Multiple selection buttons signals
295  virtual void SelectionAllClicked ( ); // *SIGNAL*
296  virtual void SelectionNoneClicked ( ); // *SIGNAL*
297  virtual void SelectionInvertClicked ( ); // *SIGNAL*
298 
299  // List-box signals
300  virtual void Selected ( Int_t n ); // *SIGNAL*
301  virtual void SelectionChanged ( ); // *SIGNAL*
302  virtual void DoubleClicked ( Int_t n ); // *SIGNAL*
303 
304  // Other signals
305  virtual void ItemRemoved ( ULong_t ptr ); // *SIGNAL*
306  //@}
307 
308 
309  //------------------------------------------------------------
310  /** @name ROOT related functions */
311  //@{
312  /*! For ROOT dictionary.*/
314  //@}
315 };
316 
317 //----------------------------------------------------------------------
318 // Inline functions
319 #include "icc/RGItemListBox.icc"
320 
321 //======================================================================
322 #endif
TGTextButton * w_move_top
Move button.
Definition: RGItemListBox.hh:155
virtual void UpdateButtonState()
Definition: RGItemListBox.cpp:939
virtual Bool_t GetSelection(Int_t id) const
Definition: RGItemListBox.icc:100
virtual void ListSelected(Int_t n)
Definition: RGItemListBox.cpp:1011
Definition: RGItemListBox.hh:123
Bool_t ctrl_key
Flag for selection with CTRL key.
Definition: RGItemListBox.hh:160
virtual TGTextButton * GetNoneButton() const
Definition: RGItemListBox.icc:23
virtual Int_t AddItem(const string &s, void *ptr=NULL, const Bool_t update=true)
Definition: RGItemListBox.icc:117
RGItemListBox(TGWindow *p, const char *label=NULL, const UInt_t opts=0, const UInt_t w_min=80, const UInt_t h_min=80)
Definition: RGItemListBox.cpp:24
virtual void SelectionMoveTop(const Bool_t update=kTRUE, const Bool_t emit=kTRUE)
Definition: RGItemListBox.cpp:667
virtual void ItemRemoved(ULong_t ptr)
Definition: RGItemListBox.icc:221
virtual void CancelMove(const Bool_t cancel=kTRUE)
Definition: RGItemListBox.icc:53
TGHorizontalFrame * w_button_frame
List buttons frame.
Definition: RGItemListBox.hh:147
virtual TGButton * AddSideButton(const char *text, const Int_t id, const char *tooltip=NULL)
Definition: RGItemListBox.cpp:369
virtual void SelectionMoved()
Definition: RGItemListBox.icc:173
virtual TGVerticalFrame * GetSideFrame() const
Definition: RGItemListBox.icc:15
virtual void SelectAll()
Definition: RGItemListBox.cpp:835
virtual void MoveDownClicked()
Definition: RGItemListBox.icc:155
virtual void ProcessedEvent(Event_t *event)
Definition: RGItemListBox.cpp:1152
virtual ~RGItemListBox()
Definition: RGItemListBox.cpp:328
virtual void CustomClicked(Int_t id)
Definition: RGItemListBox.icc:178
TGVerticalFrame * w_list_frame
List and move buttons frame.
Definition: RGItemListBox.hh:144
virtual void MoveBottomClicked()
Definition: RGItemListBox.icc:169
virtual void SelectionChanged()
Definition: RGItemListBox.icc:206
Bool_t dble_click
Flag for double-click selection.
Definition: RGItemListBox.hh:162
TGTextButton * w_move_down
Move button.
Definition: RGItemListBox.hh:154
Bool_t shift_key
Flag for selection with Shift key.
Definition: RGItemListBox.hh:161
virtual void SelectionNoneClicked()
Definition: RGItemListBox.icc:189
GObject(RGItemListBox)
Bool_t move_cancel
Flag for move cancellation.
Definition: RGItemListBox.hh:158
virtual Int_t GetSelectedNumber() const
Definition: RGItemListBox.cpp:550
virtual TGTextButton * GetMoveUpButton() const
Definition: RGItemListBox.icc:35
TGTextButton * w_move_bottom
Move button.
Definition: RGItemListBox.hh:156
virtual void MapSubwindows()
Definition: RGItemListBox.cpp:341
UInt_t list_h_min
List widget minimum height.
Definition: RGItemListBox.hh:135
virtual Int_t GetSelected() const
Definition: RGItemListBox.icc:93
virtual void Sort(const bool invert=false)
Definition: RGItemListBox.cpp:637
GItemList item_list
List of elements.
Definition: RGItemListBox.hh:132
virtual void SelectionRemove()
Definition: RGItemListBox.cpp:800
RGItemListBoxOptions
! RGItemListBox widget options
Definition: RGItemListBox.hh:21
virtual TGListBox * GetListBox() const
Definition: RGItemListBox.icc:11
virtual GItemListIter Null() const
Definition: RGItemListBox.icc:71
virtual GItemListIter End() const
Definition: RGItemListBox.icc:67
virtual void SelectionInvertClicked()
Definition: RGItemListBox.icc:193
TGTextButton * w_move_up
Move button.
Definition: RGItemListBox.hh:153
Int_t dble_time
Double-click time.
Definition: RGItemListBox.hh:163
TGTextButton * w_all_button
All elements selection button.
Definition: RGItemListBox.hh:148
virtual void SelectionMoveUp(const Bool_t update=kTRUE, const Bool_t emit=kTRUE)
Definition: RGItemListBox.cpp:695
virtual void Selected(Int_t n)
Definition: RGItemListBox.icc:202
TGHorizontalFrame * w_widgets_frame
Main frame.
Definition: RGItemListBox.hh:143
virtual GItem * GetItem(Int_t id) const
Definition: RGItemListBox.icc:87
TGTextButton * w_invert_button
Invert selection button.
Definition: RGItemListBox.hh:150
virtual void SelectionMoveBottom(const Bool_t update=kTRUE, const Bool_t emit=kTRUE)
Definition: RGItemListBox.cpp:775
virtual TGFrame * AddBottomFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemListBox.cpp:429
virtual void SelectionMoveDown(const Bool_t update=kTRUE, const Bool_t emit=kTRUE)
Definition: RGItemListBox.cpp:735
virtual void ListBoxLayout()
Definition: RGItemListBox.icc:81
virtual void UpdateItemList()
Definition: RGItemListBox.cpp:894
virtual Int_t GetSelectedLast() const
Definition: RGItemListBox.cpp:530
virtual void SelectionAllClicked()
Definition: RGItemListBox.icc:185
virtual TGTextButton * GetMoveTopButton() const
Definition: RGItemListBox.icc:43
virtual Int_t GetSelectedFirst() const
Definition: RGItemListBox.cpp:508
virtual TGFrame * AddSideFrame(TGFrame *f, TGLayoutHints *l=NULL)
Definition: RGItemListBox.cpp:411
virtual void MoveUpClicked()
Definition: RGItemListBox.icc:148
virtual void DoubleClicked(Int_t n)
Definition: RGItemListBox.icc:212
virtual Int_t GetItemNumber() const
Definition: RGItemListBox.icc:137
virtual void SelectNone()
Definition: RGItemListBox.cpp:854
UInt_t list_w_min
List widget minimum width.
Definition: RGItemListBox.hh:134
Int_t last_selected
Last entry selected.
Definition: RGItemListBox.hh:140
Int_t previous_selected
Dernière entrée clickée
Definition: RGItemListBox.hh:139
virtual void SelectInvert()
Definition: RGItemListBox.cpp:873
UInt_t options
Widget options.
Definition: RGItemListBox.hh:137
virtual TGTextButton * GetAllButton() const
Definition: RGItemListBox.icc:19
virtual void SetItemVisible(const Int_t n)
Definition: RGItemListBox.cpp:487
virtual void RemoveItem(const Int_t n, const Bool_t update=true)
Definition: RGItemListBox.cpp:613
virtual TGTextButton * GetInvertButton() const
Definition: RGItemListBox.icc:27
virtual const GItem * Select(const Int_t n, const Bool_t b=kTRUE)
Definition: RGItemListBox.cpp:451
virtual void UpdateListBox()
Definition: RGItemListBox.cpp:906
virtual void MoveTopClicked()
Definition: RGItemListBox.icc:162
TGVerticalFrame * w_side_frame
Move buttons frame.
Definition: RGItemListBox.hh:152
virtual GItemListIter Begin() const
Definition: RGItemListBox.icc:63
virtual Bool_t GetCancelMoveState() const
Definition: RGItemListBox.icc:57
ClassDef(RGItemListBox, 0)
virtual TGVerticalFrame * GetSideButtonsFrame() const
Definition: RGItemListBox.icc:31
virtual TGTextButton * GetMoveBottomButton() const
Definition: RGItemListBox.icc:47
virtual void ListSelectionChanged()
Definition: RGItemListBox.cpp:1117
TGTextButton * w_none_button
None elements selection button.
Definition: RGItemListBox.hh:149
virtual Int_t GetSize() const
Definition: RGItemListBox.icc:75
TGListBox * w_list
List widget.
Definition: RGItemListBox.hh:145
virtual TGTextButton * GetMoveDownButton() const
Definition: RGItemListBox.icc:39