Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TControlBar.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/gpad:$Id$
0002 // Author: Nenad Buncic   20/02/96
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TControlBar
0013 #define ROOT_TControlBar
0014 
0015 #include "TControlBarButton.h"
0016 
0017 #ifdef R__LESS_INCLUDES
0018 class TObjArray;
0019 class TControlBarImp;
0020 #else
0021 #include "TControlBarImp.h"
0022 #endif
0023 
0024 class TList;
0025 
0026 class TControlBar : public TControlBarButton {
0027 
0028 friend class  TControlBarImp;
0029 
0030 private:
0031    void           Create() override;
0032    void           Initialize(Int_t x, Int_t y);
0033 
0034 protected:
0035 
0036    TControlBarImp *fControlBarImp{nullptr};  ///< system specific implementation
0037    Int_t           fOrientation{0};          ///< orientation
0038    TList          *fButtons{nullptr};        ///< list of buttons
0039    Int_t           fNoroc{1};                ///< number of rows or columns
0040 
0041 public:
0042    enum { kVertical = 1, kHorizontal = 2 };
0043 
0044    TControlBar();
0045    TControlBar(const char *orientation, const char *title = "");
0046    TControlBar(const char *orientation, const char *title, Int_t x, Int_t y);
0047    ~TControlBar() override;
0048 
0049    void            AddButton(TControlBarButton *button);
0050    void            AddButton(TControlBarButton &button);
0051    void            AddButton(const char *label, const char *action, const char *hint="", const char *type="button");
0052    void            AddControlBar(TControlBar *controlBar);
0053    void            AddControlBar(TControlBar &controlBar);
0054    void            AddSeparator();
0055    TControlBarButton *GetClicked() const;
0056    TControlBarImp *GetControlBarImp() const   { return fControlBarImp; }
0057    TList          *GetListOfButtons() const   { return fButtons; }
0058    Int_t           GetNumberOfColumns() const { return fNoroc; }
0059    Int_t           GetNumberOfRows() const    { return fNoroc; }
0060    Int_t           GetOrientation() const     { return fOrientation; }
0061    void            Hide();
0062    void            SetButtonState(const char *label, Int_t state = 0);
0063    void            SetFont(const char *fontName);
0064    void            SetTextColor(const char *colorName);
0065    void            SetNumberOfColumns(Int_t n) { fNoroc = n; }
0066    void            SetNumberOfRows(Int_t n) { fNoroc = n; }
0067    void            SetOrientation(const char *o);
0068    void            SetOrientation(Int_t o);
0069    void            SetButtonWidth(UInt_t width);
0070    void            Show();
0071 
0072    ClassDefOverride(TControlBar,0) //Control bar
0073 };
0074 
0075 #endif