ROOT logo
#ifndef ALIMUONPAINTERINTERFACEHELPER_H
#define ALIMUONPAINTERINTERFACEHELPER_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \ingroup graphics
/// \class AliMUONPainterInterfaceHelper
/// \brief Helper class to ease building a GUI with button groups...
/// 
// Author Laurent Aphecetche, Subatech

#ifndef ROOT_TObject
#  include "TObject.h"
#endif

class TGWindow;
class TGButton;
class TGButtonGroup;
class TString;

class AliMUONPainterInterfaceHelper : public TObject
{
public:
  AliMUONPainterInterfaceHelper();
  virtual ~AliMUONPainterInterfaceHelper();

  static void AddRadioButton(TGButtonGroup& bg,
                             const TString& name,
                             void* userData=0x0,
                             Bool_t select=kFALSE);

  static void AddCheckButton(TGButtonGroup& bg,
                             const TString& name,
                             void* userData=0x0,
                             Bool_t select=kFALSE);
  
  /// Id of first button in a group
  static Int_t ButtonStartingId() { return 1; }

  static void ClearButtons(TGButtonGroup& bg);
  
  using TObject::Copy;
  
  static void Copy(const TGButtonGroup& src, TGButtonGroup& dest);
    
  using TObject::Dump;
  
  static void Dump(const TGButtonGroup& bg);
    
  static TGButton* FindButtonByName(const TGButtonGroup& bg, const TString& name);

  static TGButton* FindButtonByUserData(const TGButtonGroup& bg, const void* userData);

  static TGButton* FindDownButton(const TGButtonGroup& bg);
  
  static void SetBackgroundColor(const char* resourceBaseName, TGWindow& window);

  static void SetState(TGButtonGroup& bg, Bool_t state);

  static void Select(TGButtonGroup& bg, const TString& buttonName, Bool_t emit=kFALSE);
  
  static void Unselect(TGButtonGroup& bg, const TString& buttonName, Bool_t emit=kFALSE);
    
  static void RemoveButton(TGButtonGroup& bg, const TGButton* button);
  
  ClassDef(AliMUONPainterInterfaceHelper,1) // Helper class for TGButtonGroup manipulation
};

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