12 #ifndef ROOT_TClassMenuItem
13 #define ROOT_TClassMenuItem
31 class TClassMenuItem :
public TObject {
34 enum EClassMenuItemType {
35 kPopupUserFunction, kPopupSeparator, kPopupStandardList
37 enum { kIsExternal, kIsSelf };
40 EClassMenuItemType fType;
45 TObject *fCalledObject;
46 TString fFunctionName;
52 TClassMenuItem(
const TClassMenuItem&);
53 TClassMenuItem& operator=(
const TClassMenuItem&);
57 TClassMenuItem(Int_t type, TClass *parent,
const char *title=
"",
58 const char *functionname=
"", TObject *obj=0,
59 const char *args=
"", Int_t selfobjposition=-1,
61 virtual ~TClassMenuItem();
62 virtual const char *GetTitle()
const {
return fTitle; }
63 virtual const char *GetFunctionName()
const {
return fFunctionName; }
64 virtual const char *GetArgs()
const {
return fArgs; }
65 virtual TObject *GetCalledObject()
const {
return fCalledObject; }
66 virtual Int_t GetType()
const {
return fType; }
67 virtual Int_t GetSelfObjectPos()
const {
return fSelfObjectPos; }
68 virtual Bool_t IsCallSelf()
const {
return fSelf; }
69 virtual Bool_t IsSeparator()
const {
return fType==kPopupSeparator ? kTRUE : kFALSE; }
70 virtual Bool_t IsStandardList()
const {
return fType==kPopupStandardList ? kTRUE : kFALSE; }
71 virtual Bool_t IsToggle()
const {
return fToggle; }
72 virtual void SetType(Int_t type) { fType = (EClassMenuItemType) type; }
73 virtual void SetTitle(
const char *title) { fTitle = title; }
74 virtual void SetSelf(Bool_t
self) { fSelf =
self; }
75 virtual void SetToggle(Bool_t toggle = kTRUE) { fToggle = toggle; }
76 virtual void SetCall(TObject *obj,
const char *method,
77 const char *args=
"", Int_t selfobjposition = 0)
78 { fCalledObject = obj; fFunctionName = method;
79 fArgs = args; fSelfObjectPos = selfobjposition;}
81 ClassDef(TClassMenuItem,0)