// @(#)root/meta:$Id$
// Author: Piotr Golonka   31/07/97

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TToggleGroup
#define ROOT_TToggleGroup


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TToggleGroup                                                         //
//                                                                      //
// This class defines check-box facility for TToggle objects            //
// It is used in context menu "selectors" for picking up a value.       //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
#ifndef ROOT_TToggle
#include "TToggle.h"
#endif
#ifndef ROOT_TOrdCollection
#include "TOrdCollection.h"
#endif


class TToggleGroup : public TNamed {

private:
   TOrdCollection *fToggles;        // list of TToggle objects

public:
   TToggleGroup();
   TToggleGroup(const TToggleGroup&);
   TToggleGroup &operator=(const TToggleGroup&);
   virtual ~TToggleGroup();
   virtual Int_t       GetTogglesCount() {return fToggles->GetSize();};
   virtual TToggle    *At(Int_t idx) {return (TToggle*)fToggles->At(idx);};

   virtual void        Remove(TToggle *t) {fToggles->Remove(t);};
   virtual void        Remove(Int_t pos) {fToggles->RemoveAt(pos);};

   virtual void        DeleteAll();
   virtual TToggle    *First() {return (TToggle*)fToggles->First();};
   virtual TToggle    *Last()  {return (TToggle*)fToggles->Last();};

   virtual Int_t       IndexOf(TToggle *t) {return fToggles->IndexOf(t);};

   virtual Int_t       Add(TToggle *t, Bool_t select=1);
   virtual Int_t       InsertAt(TToggle *t, Int_t pos,Bool_t select=1);
   virtual void        Select(Int_t idx);
   virtual void        Select(TToggle *t);

   ClassDef(TToggleGroup,0)  // Group of contex-menu toggle objects
};

#endif

 TToggleGroup.h:1
 TToggleGroup.h:2
 TToggleGroup.h:3
 TToggleGroup.h:4
 TToggleGroup.h:5
 TToggleGroup.h:6
 TToggleGroup.h:7
 TToggleGroup.h:8
 TToggleGroup.h:9
 TToggleGroup.h:10
 TToggleGroup.h:11
 TToggleGroup.h:12
 TToggleGroup.h:13
 TToggleGroup.h:14
 TToggleGroup.h:15
 TToggleGroup.h:16
 TToggleGroup.h:17
 TToggleGroup.h:18
 TToggleGroup.h:19
 TToggleGroup.h:20
 TToggleGroup.h:21
 TToggleGroup.h:22
 TToggleGroup.h:23
 TToggleGroup.h:24
 TToggleGroup.h:25
 TToggleGroup.h:26
 TToggleGroup.h:27
 TToggleGroup.h:28
 TToggleGroup.h:29
 TToggleGroup.h:30
 TToggleGroup.h:31
 TToggleGroup.h:32
 TToggleGroup.h:33
 TToggleGroup.h:34
 TToggleGroup.h:35
 TToggleGroup.h:36
 TToggleGroup.h:37
 TToggleGroup.h:38
 TToggleGroup.h:39
 TToggleGroup.h:40
 TToggleGroup.h:41
 TToggleGroup.h:42
 TToggleGroup.h:43
 TToggleGroup.h:44
 TToggleGroup.h:45
 TToggleGroup.h:46
 TToggleGroup.h:47
 TToggleGroup.h:48
 TToggleGroup.h:49
 TToggleGroup.h:50
 TToggleGroup.h:51
 TToggleGroup.h:52
 TToggleGroup.h:53
 TToggleGroup.h:54
 TToggleGroup.h:55
 TToggleGroup.h:56
 TToggleGroup.h:57
 TToggleGroup.h:58
 TToggleGroup.h:59
 TToggleGroup.h:60
 TToggleGroup.h:61
 TToggleGroup.h:62
 TToggleGroup.h:63
 TToggleGroup.h:64
 TToggleGroup.h:65
 TToggleGroup.h:66
 TToggleGroup.h:67