00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef ROOT_TGToolBar
00013 #define ROOT_TGToolBar
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef ROOT_TGFrame
00026 #include "TGFrame.h"
00027 #endif
00028
00029 class TGButton;
00030 class TGPictureButton;
00031 class TList;
00032 class TMap;
00033
00034 struct ToolBarData_t {
00035 const char *fPixmap;
00036 const char *fTipText;
00037 Bool_t fStayDown;
00038 Int_t fId;
00039 TGButton *fButton;
00040 };
00041
00042
00043
00044 class TGToolBar : public TGCompositeFrame {
00045
00046 protected:
00047 TList *fPictures;
00048 TList *fTrash;
00049 TMap *fMapOfButtons;
00050
00051 private:
00052 TGToolBar(const TGToolBar&);
00053 TGToolBar& operator=(const TGToolBar&);
00054
00055 public:
00056 TGToolBar(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
00057 UInt_t options = kHorizontalFrame,
00058 Pixel_t back = GetDefaultFrameBackground());
00059 virtual ~TGToolBar();
00060
00061 virtual TGButton *AddButton(const TGWindow *w, ToolBarData_t *button, Int_t spacing = 0);
00062 virtual TGButton *AddButton(const TGWindow *w, TGPictureButton *button, Int_t spacing = 0);
00063
00064 virtual void ChangeIcon(ToolBarData_t *button, const char *new_icon);
00065 virtual void Cleanup();
00066 virtual TGButton *GetButton(Int_t id) const;
00067 virtual Long_t GetId(TGButton *button) const;
00068 virtual void SetId(TGButton *button, Long_t id);
00069
00070 virtual void ButtonPressed();
00071 virtual void ButtonReleased();
00072 virtual void ButtonClicked();
00073
00074 virtual void Pressed(Int_t id) { Emit("Pressed(Int_t)",id); }
00075 virtual void Released(Int_t id) { Emit("Released(Int_t)",id);}
00076 virtual void Clicked(Int_t id) { Emit("Clicked(Int_t)",id); }
00077
00078 virtual void SavePrimitive(ostream &out, Option_t *option = "");
00079
00080 ClassDef(TGToolBar,0)
00081 };
00082
00083 #endif