source: trunk/Mars/mbase/MGMenu.h @ 19291

Last change on this file since 19291 was 19291, checked in by tbretz, 8 months ago
This workaround is not needed anymore.
File size: 1.2 KB
Line 
1#ifndef MARS_MGMenu
2#define MARS_MGMenu
3
4#ifndef ROOT_TGMenu
5#include <TGMenu.h>
6#endif
7
8class MGPopupMenu;
9
10#if ROOT_VERSION_CODE < ROOT_VERSION(6,00,00)
11class MGMenuEntry : public TGMenuEntry
12{
13    /*
14     Workaround for the protected data mambers of TGMenuEntry
15     */
16public:
17    MGMenuEntry(TGMenuEntry *ent);
18    ~MGMenuEntry()
19    {
20        fLabel=0;
21    }
22
23    MGPopupMenu *GetPopup() { return (MGPopupMenu*)fPopup; }
24    TGHotString *GetLabel() { return fLabel; }
25    void *GetUserData()     { return fUserData; }
26};
27#else
28#define MGMenuEntry(a) (*a)
29#endif
30
31class MGPopupMenu : public TGPopupMenu
32{
33public:
34    MGPopupMenu(const TGWindow* p = 0, UInt_t w = 10, UInt_t h = 10, UInt_t options = 0) :
35        TGPopupMenu(p, w, h, options)
36    {
37    }
38
39    UInt_t GetKeyCode(TGMenuEntry *el);
40
41    void BindKeys(const TGWindow *w, TGMainFrame *frame);
42
43    Bool_t HandleKey(Event_t *evt);
44};
45
46class MGMenuBar : public TGMenuBar
47{
48public:
49    MGMenuBar(const TGWindow* p, UInt_t w, UInt_t h, UInt_t options = kHorizontalFrame|kRaisedFrame) :
50        TGMenuBar(p, w, h, options) {}
51
52    void BindKeys(TGMainFrame *frame);                   // root<=3.10.02
53    void BindKeys(Bool_t b);
54
55    Bool_t HandleKey(Event_t *event);
56};
57
58#endif
Note: See TracBrowser for help on using the repository browser.