Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // @(#)root/gui:$Id$
0002 // Author: Fons Rademakers   12/02/98
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2021, 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_TRootContextMenu
0013 #define ROOT_TRootContextMenu
0014 
0015 
0016 #include "TContextMenuImp.h"
0017 #include "TGMenu.h"
0018 
0019 class TRootDialog;
0020 
0021 
0022 class TRootContextMenu : public TGPopupMenu, public TContextMenuImp {
0023 
0024 private:
0025    TRootDialog *fDialog;    ///< dialog prompting for command line arguments
0026    TList       *fTrash;     ///< list of objects to be deleted before refilling menu
0027 
0028    TRootContextMenu(const TRootContextMenu&);
0029    TRootContextMenu& operator=(const TRootContextMenu&);
0030    void CreateMenu(TObject *object);
0031 
0032 public:
0033    TRootContextMenu(TContextMenu *c = nullptr, const char *name = "ROOT Context Menu");
0034    ~TRootContextMenu() override;
0035 
0036    void   DisplayPopup(Int_t x, Int_t y) override;
0037    void   Dialog(TObject *object, TMethod *method) override;
0038    void   Dialog(TObject *object, TFunction *function) override;
0039    void   DrawEntry(TGMenuEntry *entry) override;
0040    TRootDialog   *GetDialog() const { return fDialog; };
0041    Bool_t HandleButton(Event_t *event) override;
0042    Bool_t HandleCrossing(Event_t *event) override;
0043    Bool_t HandleMotion(Event_t *event) override;
0044    virtual void   OnlineHelp();
0045    void   RecursiveRemove(TObject *obj) override;
0046 
0047    Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override;
0048 
0049 protected:
0050    TGPopupMenu * FindHierarchy(const char *commentstring, TString &last_component);
0051    void AddEntrySorted(TGPopupMenu *current, const char *s, Int_t id, void *ud = nullptr,
0052                        const TGPicture *p = nullptr, Bool_t sorted = kTRUE);
0053 
0054    ClassDefOverride(TRootContextMenu,0)  //ROOT native GUI context sensitive popup menu
0055 };
0056 
0057 #endif