// @(#)root/gpad:$Name: $:$Id: TButton.h,v 1.3 2000/11/21 20:19:45 brun Exp $
// Author: Rene Brun 01/07/96
/*************************************************************************
* 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_TButton
#define ROOT_TButton
//////////////////////////////////////////////////////////////////////////
// //
// TButton //
// //
// A TButton object is a specialized TPad including possible list
// of primitives used to build selections and options menus in a canvas.
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TPad
#include "TPad.h"
#endif
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif
class TButton : public TPad, public TAttText {
private:
Bool_t fFocused; // If cursor is in...
Bool_t fFraming; // True if you want a frame to be painted when pressed
TButton(const TButton &org); // no copy ctor, use TObject::Clone()
TButton &operator=(const TButton &rhs); // idem
protected:
TString fMethod; //Method to be executed by this button
public:
TButton();
TButton(const char *title, const char *method, Double_t x1, Double_t y1, Double_t x2, Double_t y2);
virtual ~TButton();
virtual void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0);
virtual void Draw(Option_t *option="");
virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
virtual const char *GetMethod() const { return fMethod.Data(); }
virtual void Paint(Option_t *option="");
virtual void PaintModified();
virtual void Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2);
virtual void SavePrimitive(ofstream &out, Option_t *option);
virtual void SetBorderMode(Short_t bordermode) { fBorderMode = bordermode; }
virtual void SetFraming(Bool_t f=1);
virtual Bool_t GetFraming() { return fFraming; };
virtual void SetGrid(Int_t valuex = 1, Int_t valuey = 1);
virtual void SetLogx(Int_t value = 1);
virtual void SetLogy(Int_t value = 1);
virtual void SetMethod(const char *method) { fMethod=method; } // *MENU*
virtual void SetName(const char *name) { fName = name; }
virtual void x3d(Option_t *option="");
ClassDef(TButton,0) //A user interface button.
};
inline void TButton::Divide(Int_t, Int_t, Float_t, Float_t, Int_t) { }
inline void TButton::SetGrid(Int_t, Int_t) { }
inline void TButton::SetLogx(Int_t) { }
inline void TButton::SetLogy(Int_t) { }
inline void TButton::x3d(Option_t *) { }
#endif
syntax highlighted by Code2HTML, v. 0.9.1