Logo ROOT  
Reference Guide
TRootContextMenu.h
Go to the documentation of this file.
1// @(#)root/gui:$Id$
2// Author: Fons Rademakers 12/02/98
3
4/*************************************************************************
5 * Copyright (C) 1995-2021, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TRootContextMenu
13#define ROOT_TRootContextMenu
14
15
16#include "TContextMenuImp.h"
17#include "TGMenu.h"
18
19class TRootDialog;
20
21
23
24private:
25 TRootDialog *fDialog; ///< dialog prompting for command line arguments
26 TList *fTrash; ///< list of objects to be deleted before refilling menu
27
30 void CreateMenu(TObject *object);
31
32public:
33 TRootContextMenu(TContextMenu *c = nullptr, const char *name = "ROOT Context Menu");
34 virtual ~TRootContextMenu();
35
36 void DisplayPopup(Int_t x, Int_t y) override;
37 void Dialog(TObject *object, TMethod *method) override;
38 void Dialog(TObject *object, TFunction *function) override;
39 void DrawEntry(TGMenuEntry *entry) override;
40 TRootDialog *GetDialog() const { return fDialog; };
44 virtual void OnlineHelp();
45 void RecursiveRemove(TObject *obj) override;
46
47 Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override;
48
49protected:
50 TGPopupMenu * FindHierarchy(const char *commentstring, TString &last_component);
51 void AddEntrySorted(TGPopupMenu *current, const char *s, Int_t id, void *ud = nullptr,
52 const TGPicture *p = nullptr, Bool_t sorted = kTRUE);
53
54 ClassDefOverride(TRootContextMenu,0) //ROOT native GUI context sensitive popup menu
55};
56
57#endif
#define c(i)
Definition: RSha256.hxx:101
bool Bool_t
Definition: RtypesCore.h:63
int Int_t
Definition: RtypesCore.h:45
long Longptr_t
Definition: RtypesCore.h:82
const Bool_t kTRUE
Definition: RtypesCore.h:100
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
winID h TVirtualViewer3D TVirtualGLPainter p
char name[80]
Definition: TGX11.cxx:110
This class provides an interface to GUI independent context sensitive popup menus.
This class provides an interface to context sensitive popup menus.
Definition: TContextMenu.h:44
Global functions class (global functions are obtained from CINT).
Definition: TFunction.h:30
This class contains all information about a menu entry.
Definition: TGMenu.h:57
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
Definition: TGPicture.h:25
This class creates a popup menu object.
Definition: TGMenu.h:110
A doubly linked list.
Definition: TList.h:38
Each ROOT class (see TClass) has a linked list of methods.
Definition: TMethod.h:38
Mother of all ROOT objects.
Definition: TObject.h:37
This class provides an interface to context sensitive popup menus.
TGPopupMenu * FindHierarchy(const char *commentstring, TString &last_component)
Decodes the Hierarchy="Level0/Level1/Level2/..." statement from the comment field and returns the - i...
virtual void OnlineHelp()
Open the online help matching the actual class/method.
Bool_t ProcessMessage(Longptr_t msg, Longptr_t parm1, Longptr_t parm2) override
Handle context menu messages.
void DisplayPopup(Int_t x, Int_t y) override
Display context popup menu for currently selected object.
TRootContextMenu & operator=(const TRootContextMenu &)
Bool_t HandleButton(Event_t *event) override
Handle button event in the context menu.
Bool_t HandleMotion(Event_t *event) override
Handle pointer motion event in context menu.
void RecursiveRemove(TObject *obj) override
Close the context menu if the object is deleted in the RecursiveRemove() operation.
void CreateMenu(TObject *object)
Create the context menu depending on the selected object.
TRootContextMenu(const TRootContextMenu &)
void Dialog(TObject *object, TMethod *method) override
Create dialog object with OK and Cancel buttons.
TList * fTrash
list of objects to be deleted before refilling menu
TRootDialog * fDialog
dialog prompting for command line arguments
virtual ~TRootContextMenu()
Delete a context menu.
void DrawEntry(TGMenuEntry *entry) override
Draw context menu entry.
Bool_t HandleCrossing(Event_t *event) override
Handle pointer crossing event in context menu.
void AddEntrySorted(TGPopupMenu *current, const char *s, Int_t id, void *ud=nullptr, const TGPicture *p=nullptr, Bool_t sorted=kTRUE)
Add a entry to current menu with alphabetical ordering.
TRootDialog * GetDialog() const
A TRootDialog is used to prompt for the arguments of an object's member function.
Definition: TRootDialog.h:21
Basic string class.
Definition: TString.h:136
Double_t y[n]
Definition: legend1.C:17
Double_t x[n]
Definition: legend1.C:17
void function(const Char_t *name_, T fun, const Char_t *docstring=0)
Definition: RExports.h:167
static constexpr double s
Event structure.
Definition: GuiTypes.h:174