library: libCore #include "TClassMenuItem.h"

# TClassMenuItem

class description - source file - inheritance tree (.pdf)

## class TClassMenuItem : public TObject

| Inheritance Chart:
`TObject`
| <- | `TClassMenuItem` |

        public:

                              TClassMenuItem()
                              TClassMenuItem(Int_t type, TClass* parent, const char* title = "", const char* functionname = "", TObject* obj = 0, const char* args = "", Int_t selfobjposition = -1, Bool_t self = kFALSE)
                              TClassMenuItem(const TClassMenuItem&)
                      virtual ~TClassMenuItem()
               static TClass* Class()
          virtual const char* GetArgs() const
             virtual TObject* GetCalledObject() const
          virtual const char* GetFunctionName() const
                virtual Int_t GetSelfObjectPos() const
          virtual const char* GetTitle() const
                virtual Int_t GetType() const
              virtual TClass* IsA() const
               virtual Bool_t IsCallSelf() const
               virtual Bool_t IsSeparator() const
               virtual Bool_t IsStandardList() const
               virtual Bool_t IsToggle() const
              TClassMenuItem& operator=(const TClassMenuItem&)
                 virtual void SetCall(TObject* obj, const char* method, const char* args = "", Int_t selfobjposition = 0)
                 virtual void SetSelf(Bool_t self)
                 virtual void SetTitle(const char* title)
                 virtual void SetToggle(Bool_t toggle = kTRUE)
                 virtual void SetType(Int_t type)
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

          TClassMenuItem::EClassMenuItemType fType           type flag (EClassMenuItemType)
                                       Int_t fSelfObjectPos  rang in argument list corresponding to the object being clicked on
                                      Bool_t fSelf           flag to indicate that object to be called is the selected one
                                      Bool_t fToggle         flag toggle method
                                     TString fTitle          title if not standard
                                    TObject* fCalledObject   object to be called
                                     TString fFunctionName   name of the function or method to be called
                                     TString fArgs           arguments type list *** NOT CHECKED ***
                                      TList* fSubMenu        list of submenu items
                                     TClass* fParent         parent class

        public:

          static const TClassMenuItem::EClassMenuItemType kPopupUserFunction
          static const TClassMenuItem::EClassMenuItemType kPopupSeparator
          static const TClassMenuItem::EClassMenuItemType kPopupStandardList
                       static const enum TClassMenuItem:: kIsExternal
                       static const enum TClassMenuItem:: kIsSelf

## Class Description

     Describes one element of the context menu associated to a class
     The menu item may describe
        - a separator,
        - standard list of methods i.e. the methods defined in
          the described class by a *MENU* in the comment field
          of the header,
        - a method of an external class or a global function
      All the standard methods of the class are described by only
      one item. Since a complete context menu is described by a TList of
      TClassMenuItem elements, it is possible to customize the context
      menu of a class by removing the element "standard methods" and
      replacing it by whatever one wants.

TClassMenuItem() : TObject()

     Default TClassMenuItem ctor. TClassMenuItems are constructed in TClass
     with a standard content but may be customized later
     fType = 0 : external method/function
     fType = 1 : separator
     fType = 2 : standard methods list

TClassMenuItem(Int_t type, TClass *parentcl, const char *title, const char *functionname, TObject *obj, const char *args, Int_t selfobjposition, Bool_t self) : TObject()

     TClassMenuItem ctor. TClassMenuItems are constructed in TClass
     with a standard content but may be customized later
     type = 0 : external method/function
     type = 1 : separator
     type = 2 : standard methods list
     self indicates if the object to be called is the one selected
     by the popup menu
     selfobjposition, if non zero, indicates the position in the arguments
     list of the argument corresponding to the selected (clicked) object.
     This argument in the calling method should be a TObject*

~TClassMenuItem()

     TClassMenuItem dtor.

### Inline Functions

                const char* GetTitle() const
                const char* GetFunctionName() const
                const char* GetArgs() const
                   TObject* GetCalledObject() const
                      Int_t GetType() const
                      Int_t GetSelfObjectPos() const
                     Bool_t IsCallSelf() const
                     Bool_t IsSeparator() const
                     Bool_t IsStandardList() const
                     Bool_t IsToggle() const
                       void SetType(Int_t type)
                       void SetTitle(const char* title)
                       void SetSelf(Bool_t self)
                       void SetToggle(Bool_t toggle = kTRUE)
                       void SetCall(TObject* obj, const char* method, const char* args = "", Int_t selfobjposition = 0)
                    TClass* Class()
                    TClass* IsA() const
                       void ShowMembers(TMemberInspector& insp, char* parent)
                       void Streamer(TBuffer& b)
                       void StreamerNVirtual(TBuffer& b)
             TClassMenuItem TClassMenuItem(const TClassMenuItem&)
            TClassMenuItem& operator=(const TClassMenuItem&)

Author: Damir Buskulic 23/11/2001
Last update: root/meta:$Name: $:$Id: TClassMenuItem.cxx,v 1.1 2002/04/04 17:32:13 rdm Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *