// @(#)root/gui:$Id$
// Author: Fons Rademakers   09/01/98

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TGMenu
#define ROOT_TGMenu


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGMenuBar, TGPopupMenu, TGMenuTitle and TGMenuEntry                  //
//                                                                      //
// This header contains all different menu classes.                     //
//                                                                      //
// Selecting a menu item will generate the event:                       //
// kC_COMMAND, kCM_MENU, menu id, user data.                            //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TGString
#include "TGString.h"
#endif
#ifndef ROOT_TGPicture
#include "TGPicture.h"
#endif
#ifndef ROOT_TGWidget
#include "TGWidget.h"
#endif

//--- Menu entry status mask

enum EMenuEntryState {
   kMenuActiveMask     = BIT(0),
   kMenuEnableMask     = BIT(1),
   kMenuDefaultMask    = BIT(2),
   kMenuCheckedMask    = BIT(3),
   kMenuRadioMask      = BIT(4),
   kMenuHideMask       = BIT(5),
   kMenuRadioEntryMask = BIT(6)
};

//--- Menu entry types

enum EMenuEntryType {
   kMenuSeparator,
   kMenuLabel,
   kMenuEntry,
   kMenuPopup
};


class TGPopupMenu;
class TGMenuBar;
class TGMenuTitle;
class TTimer;
class TGSplitButton;

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGMenuEntry                                                          //
//                                                                      //
// This class contains all information about a menu entry.              //
// It is a fully protected class used internally by TGPopupMenu.        //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TGMenuEntry : public TObject {

friend class TGPopupMenu;
friend class TGMenuBar;

protected:
   Int_t             fEntryId;   // the entry id (used for event processing)
   void             *fUserData;  // pointer to user data structure
   EMenuEntryType    fType;      // type of entry
   Int_t             fStatus;    // entry status (OR of EMenuEntryState)
   Int_t             fEx, fEy;   // position of entry
   UInt_t            fEw, fEh;   // width and height of entry
   TGHotString      *fLabel;     // menu entry label
   TGString         *fShortcut;  // menu entry shortcut
   const TGPicture  *fPic;       // menu entry icon
   TGPopupMenu      *fPopup;     // pointer to popup menu (in case of cascading menus)

private:
   TGMenuEntry(const TGMenuEntry&);             // not implemented
   TGMenuEntry& operator=(const TGMenuEntry&);  // not implemented

public:
   TGMenuEntry(): fEntryId(0), fUserData(0), fType(), fStatus(0),
      fEx(0), fEy(0), fEw(0), fEh(0), fLabel(0), fShortcut(0), fPic(0), fPopup(0) { }
   virtual ~TGMenuEntry() { if (fLabel) delete fLabel; if (fShortcut) delete fShortcut; }

   Int_t          GetEntryId() const { return fEntryId; }
   const char    *GetName() const { return fLabel ? fLabel->GetString() : 0; }
   const char    *GetShortcutText() const { return fShortcut ? fShortcut->GetString() : 0; }
   virtual Int_t  GetStatus() const { return fStatus; }
   EMenuEntryType GetType() const { return fType; }
   TGPopupMenu   *GetPopup() const { return fPopup; }
   TGHotString   *GetLabel() const  { return fLabel; }
   TGString      *GetShortcut() const { return fShortcut; }
   Int_t          GetEx() const { return fEx; }
   Int_t          GetEy() const { return fEy; }
   UInt_t         GetEw() const { return fEw; }
   UInt_t         GetEh() const { return fEh; }
   const TGPicture *GetPic() const { return fPic; }
   void          *GetUserData() const { return fUserData; }

   ClassDef(TGMenuEntry,0);  // Menu entry class
};


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGPopupMenu                                                          //
//                                                                      //
// This class creates a popup menu object. Popup menu's are attached    //
// to TGMenuBar objects.                                                //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TGPopupMenu : public TGFrame {

friend class TGMenuTitle;
friend class TGMenuBar;
friend class TGSplitButton;

protected:
   TList             *fEntryList;     // list of menu entries
   TGMenuEntry       *fCurrent;       // currently selected menu entry
   Bool_t             fStick;         // stick mode (popup menu stays sticked on screen)
   Bool_t             fHasGrab;       // true if menu has grabbed pointer
   Bool_t             fPoppedUp;      // true if menu is currently popped up
   UInt_t             fXl;            // Max width of all menu entries
   UInt_t             fMenuWidth;     // width of popup menu
   UInt_t             fMenuHeight;    // height of popup menu
   TTimer            *fDelay;         // delay before poping up cascading menu
   GContext_t         fNormGC;        // normal drawing graphics context
   GContext_t         fSelGC;         // graphics context for drawing selections
   GContext_t         fSelbackGC;     // graphics context for drawing selection background
   FontStruct_t       fFontStruct;    // font to draw menu entries
   FontStruct_t       fHifontStruct;  // font to draw highlighted entries
   Cursor_t           fDefaultCursor; // right pointing cursor
   const TGWindow    *fMsgWindow;     // window which handles menu events
   TGMenuBar         *fMenuBar;       // menu bar (if any)
   TGSplitButton     *fSplitButton;   // split button (if any)
   UInt_t             fEntrySep;      // separation distance between ebtris

   static const TGFont *fgDefaultFont;
   static const TGFont *fgHilightFont;
   static const TGGC   *fgDefaultGC;
   static const TGGC   *fgDefaultSelectedGC;
   static const TGGC   *fgDefaultSelectedBackgroundGC;

   void DrawTrianglePattern(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b);
   void DrawCheckMark(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b);
   void DrawRCheckMark(GContext_t gc, Int_t l, Int_t t, Int_t r, Int_t b);
   virtual void DoRedraw();
   virtual void DrawEntry(TGMenuEntry *entry);
   virtual void Reposition();

   static FontStruct_t  GetDefaultFontStruct();
   static FontStruct_t  GetHilightFontStruct();
   static const TGGC   &GetDefaultGC();
   static const TGGC   &GetDefaultSelectedGC();
   static const TGGC   &GetDefaultSelectedBackgroundGC();

private:
   TGPopupMenu(const TGPopupMenu&);             // not implemented
   TGPopupMenu& operator=(const TGPopupMenu&);  // not implemented

public:
   TGPopupMenu(const TGWindow *p = 0, UInt_t w = 10, UInt_t h = 10,
               UInt_t options = 0);
   virtual ~TGPopupMenu();

   virtual void AddEntry(TGHotString *s, Int_t id, void *ud = 0,
                         const TGPicture *p = 0, TGMenuEntry *before = 0);
   virtual void AddEntry(const char *s, Int_t id, void *ud = 0,
                         const TGPicture *p = 0, TGMenuEntry *before = 0);
   virtual void AddSeparator(TGMenuEntry *before = 0);
   virtual void AddLabel(TGHotString *s, const TGPicture *p = 0,
                         TGMenuEntry *before = 0);
   virtual void AddLabel(const char *s, const TGPicture *p = 0,
                         TGMenuEntry *before = 0);
   virtual void AddPopup(TGHotString *s, TGPopupMenu *popup,
                         TGMenuEntry *before = 0, const TGPicture *p = 0);
   virtual void AddPopup(const char *s, TGPopupMenu *popup,
                         TGMenuEntry *before = 0, const TGPicture *p = 0);
   virtual void   EnableEntry(Int_t id);
   virtual void   DisableEntry(Int_t id);
   virtual Bool_t IsEntryEnabled(Int_t id);
   virtual void   HideEntry(Int_t id);
   virtual Bool_t IsEntryHidden(Int_t id);
   virtual void   DefaultEntry(Int_t id);
   virtual void   CheckEntry(Int_t id);
   virtual void   CheckEntryByData(void *user_data);
   virtual void   UnCheckEntry(Int_t id);
   virtual void   UnCheckEntryByData(void *user_data);
   virtual void   UnCheckEntries();
   virtual Bool_t IsEntryChecked(Int_t id);
   virtual void   RCheckEntry(Int_t id, Int_t IDfirst, Int_t IDlast);
   virtual Bool_t IsEntryRChecked(Int_t id);
   virtual void   PlaceMenu(Int_t x, Int_t y, Bool_t stick_mode,
                            Bool_t grab_pointer);
   virtual Int_t  EndMenu(void *&userData);
   virtual void   DeleteEntry(Int_t id);
   virtual void   DeleteEntry(TGMenuEntry *entry);
   virtual TGMenuEntry *GetEntry(Int_t id);
   virtual TGMenuEntry *GetCurrent() const { return fCurrent; }
   virtual TGMenuEntry *GetEntry(const char *s);
   const TList    *GetListOfEntries() const { return fEntryList; }
   virtual void    DrawBorder();
   virtual Bool_t  HandleButton(Event_t *event);
   virtual Bool_t  HandleMotion(Event_t *event);
   virtual Bool_t  HandleCrossing(Event_t *event);
   virtual Bool_t  HandleTimer(TTimer *t);
   virtual void    Associate(const TGWindow *w) { fMsgWindow = w; }
   virtual void    SetMenuBar(TGMenuBar *bar) { fMenuBar = bar; }
   TGMenuBar      *GetMenuBar() const { return fMenuBar; }
   virtual void    Activate(Bool_t) { }
   virtual void    Activate(TGMenuEntry *entry);
   virtual void    SavePrimitive(std::ostream &out, Option_t *option = "");

   UInt_t GetEntrySep()  const { return fEntrySep; }
   virtual void SetEntrySep(UInt_t sep)  { fEntrySep = sep; }

   virtual void PoppedUp() { Emit("PoppedUp()"); }                        // *SIGNAL*
   virtual void PoppedDown() { Emit("PoppedDown()"); }                    // *SIGNAL*
   virtual void Highlighted(Int_t id) { Emit("Highlighted(Int_t)", id); } // *SIGNAL*
   virtual void Activated(Int_t id) { Emit("Activated(Int_t)", id); }     // *SIGNAL*

   ClassDef(TGPopupMenu,0)  // Popup menu
};


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGMenuTitle                                                          //
//                                                                      //
// This class creates a menu title. A menu title is a frame             //
// to which a popup menu can be attached. Menu titles are automatically //
// created when adding a popup menu to a menubar.                       //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TGMenuTitle : public TGFrame {

protected:
   TGPopupMenu    *fMenu;             // attached popup menu
   TGHotString    *fLabel;            // menu title
   Int_t           fTitleId;          // id of selected menu item
   void           *fTitleData;        // user data associated with selected item
   Bool_t          fState;            // menu title state (active/not active)
   Int_t           fHkeycode;         // hot key code
   FontStruct_t    fFontStruct;       // font
   Pixel_t         fTextColor;        // text color
   GContext_t      fNormGC, fSelGC;   // normal and selection graphics contexts

   virtual void DoRedraw();

   static const TGFont *fgDefaultFont;
   static const TGGC   *fgDefaultSelectedGC;
   static const TGGC   *fgDefaultGC;

private:
   TGMenuTitle(const TGMenuTitle&);             // not implemented
   TGMenuTitle& operator=(const TGMenuTitle&);  // not implemented

public:
   static FontStruct_t  GetDefaultFontStruct();
   static const TGGC   &GetDefaultSelectedGC();
   static const TGGC   &GetDefaultGC();

   TGMenuTitle(const TGWindow *p = 0, TGHotString *s = 0, TGPopupMenu *menu = 0,
               GContext_t norm = GetDefaultGC()(),
               FontStruct_t font = GetDefaultFontStruct(),
               UInt_t options = 0);
   virtual ~TGMenuTitle() { if (fLabel) delete fLabel; }

   Pixel_t      GetTextColor() const { return fTextColor; }
   void         SetTextColor(Pixel_t col) { fTextColor = col; }
   virtual void SetState(Bool_t state);
   Bool_t       GetState() const { return fState; }
   Int_t        GetHotKeyCode() const { return fHkeycode; }
   TGPopupMenu *GetMenu() const { return fMenu; }
   const char  *GetName() const { return fLabel ? fLabel->GetString() : 0; }
   virtual void DoSendMessage();
   virtual void SavePrimitive(std::ostream &out, Option_t *option = "");

   ClassDef(TGMenuTitle,0)  // Menu title class
};


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGMenuBar                                                            //
//                                                                      //
// This class creates a menu bar.                                       //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

class TGMenuBar : public TGHorizontalFrame {

friend class TGPopupMenu;

protected:
   TGMenuTitle   *fCurrent;            // current menu title
   TList         *fTitles;             // list of menu titles
   Cursor_t       fDefaultCursor;      // right pointing cursor
   Bool_t         fStick;              // stick mode (popup menu stays sticked on screen)
   TList         *fTrash;              // garbage
   Bool_t         fKeyNavigate;        // kTRUE if arrow key navigation is on
   TGPopupMenu   *fMenuMore;           // extra >> menu
   TGLayoutHints *fMenuBarMoreLayout;  // layout of the extra menu
   Bool_t         fWithExt;            // indicates whether the >> menu is shown or not
   TList         *fOutLayouts;         // keeps trace of layouts of hidden menus
   TList         *fNeededSpace;        // keeps trace of space needed for hidden menus

   virtual void AddFrameBefore(TGFrame *f, TGLayoutHints *l = 0,
                               TGPopupMenu *before = 0);

   virtual void BindHotKey(Int_t keycode, Bool_t on = kTRUE);
   virtual void BindKeys(Bool_t on = kTRUE);
           void BindMenu(TGPopupMenu* subMenu, Bool_t on);

private:
   TGMenuBar(const TGMenuBar&);             // not implemented
   TGMenuBar& operator=(const TGMenuBar&);  // not implemented

public:
   TGMenuBar(const TGWindow *p = 0, UInt_t w = 60, UInt_t h = 20,
             UInt_t options = kHorizontalFrame | kRaisedFrame);
   virtual ~TGMenuBar();

   virtual void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l,
                         TGPopupMenu *before = 0);
   virtual void AddPopup(const char *s, TGPopupMenu *menu, TGLayoutHints *l,
                         TGPopupMenu *before = 0);
   virtual TGPopupMenu *AddPopup(const TString &s, Int_t padleft = 4, Int_t padright = 0,
                                 Int_t padtop = 0, Int_t padbottom = 0);
   virtual void AddTitle(TGMenuTitle *title, TGLayoutHints *l, TGPopupMenu *before = 0);

   virtual TGPopupMenu *GetPopup(const char *s);
   virtual TGPopupMenu *RemovePopup(const char *s);

   virtual TGMenuTitle *GetCurrent() const { return fCurrent; }
   virtual TList  *GetTitles() const { return fTitles; }
   virtual Bool_t  HandleButton(Event_t *event);
   virtual Bool_t  HandleMotion(Event_t *event);
   virtual Bool_t  HandleKey(Event_t *event);
   virtual void    SavePrimitive(std::ostream &out, Option_t *option = "");
   virtual void    Layout();
           void    PopupConnection();
   TGFrameElement* GetLastOnLeft();

   ClassDef(TGMenuBar,0)  // Menu bar class
};

#endif
 TGMenu.h:1
 TGMenu.h:2
 TGMenu.h:3
 TGMenu.h:4
 TGMenu.h:5
 TGMenu.h:6
 TGMenu.h:7
 TGMenu.h:8
 TGMenu.h:9
 TGMenu.h:10
 TGMenu.h:11
 TGMenu.h:12
 TGMenu.h:13
 TGMenu.h:14
 TGMenu.h:15
 TGMenu.h:16
 TGMenu.h:17
 TGMenu.h:18
 TGMenu.h:19
 TGMenu.h:20
 TGMenu.h:21
 TGMenu.h:22
 TGMenu.h:23
 TGMenu.h:24
 TGMenu.h:25
 TGMenu.h:26
 TGMenu.h:27
 TGMenu.h:28
 TGMenu.h:29
 TGMenu.h:30
 TGMenu.h:31
 TGMenu.h:32
 TGMenu.h:33
 TGMenu.h:34
 TGMenu.h:35
 TGMenu.h:36
 TGMenu.h:37
 TGMenu.h:38
 TGMenu.h:39
 TGMenu.h:40
 TGMenu.h:41
 TGMenu.h:42
 TGMenu.h:43
 TGMenu.h:44
 TGMenu.h:45
 TGMenu.h:46
 TGMenu.h:47
 TGMenu.h:48
 TGMenu.h:49
 TGMenu.h:50
 TGMenu.h:51
 TGMenu.h:52
 TGMenu.h:53
 TGMenu.h:54
 TGMenu.h:55
 TGMenu.h:56
 TGMenu.h:57
 TGMenu.h:58
 TGMenu.h:59
 TGMenu.h:60
 TGMenu.h:61
 TGMenu.h:62
 TGMenu.h:63
 TGMenu.h:64
 TGMenu.h:65
 TGMenu.h:66
 TGMenu.h:67
 TGMenu.h:68
 TGMenu.h:69
 TGMenu.h:70
 TGMenu.h:71
 TGMenu.h:72
 TGMenu.h:73
 TGMenu.h:74
 TGMenu.h:75
 TGMenu.h:76
 TGMenu.h:77
 TGMenu.h:78
 TGMenu.h:79
 TGMenu.h:80
 TGMenu.h:81
 TGMenu.h:82
 TGMenu.h:83
 TGMenu.h:84
 TGMenu.h:85
 TGMenu.h:86
 TGMenu.h:87
 TGMenu.h:88
 TGMenu.h:89
 TGMenu.h:90
 TGMenu.h:91
 TGMenu.h:92
 TGMenu.h:93
 TGMenu.h:94
 TGMenu.h:95
 TGMenu.h:96
 TGMenu.h:97
 TGMenu.h:98
 TGMenu.h:99
 TGMenu.h:100
 TGMenu.h:101
 TGMenu.h:102
 TGMenu.h:103
 TGMenu.h:104
 TGMenu.h:105
 TGMenu.h:106
 TGMenu.h:107
 TGMenu.h:108
 TGMenu.h:109
 TGMenu.h:110
 TGMenu.h:111
 TGMenu.h:112
 TGMenu.h:113
 TGMenu.h:114
 TGMenu.h:115
 TGMenu.h:116
 TGMenu.h:117
 TGMenu.h:118
 TGMenu.h:119
 TGMenu.h:120
 TGMenu.h:121
 TGMenu.h:122
 TGMenu.h:123
 TGMenu.h:124
 TGMenu.h:125
 TGMenu.h:126
 TGMenu.h:127
 TGMenu.h:128
 TGMenu.h:129
 TGMenu.h:130
 TGMenu.h:131
 TGMenu.h:132
 TGMenu.h:133
 TGMenu.h:134
 TGMenu.h:135
 TGMenu.h:136
 TGMenu.h:137
 TGMenu.h:138
 TGMenu.h:139
 TGMenu.h:140
 TGMenu.h:141
 TGMenu.h:142
 TGMenu.h:143
 TGMenu.h:144
 TGMenu.h:145
 TGMenu.h:146
 TGMenu.h:147
 TGMenu.h:148
 TGMenu.h:149
 TGMenu.h:150
 TGMenu.h:151
 TGMenu.h:152
 TGMenu.h:153
 TGMenu.h:154
 TGMenu.h:155
 TGMenu.h:156
 TGMenu.h:157
 TGMenu.h:158
 TGMenu.h:159
 TGMenu.h:160
 TGMenu.h:161
 TGMenu.h:162
 TGMenu.h:163
 TGMenu.h:164
 TGMenu.h:165
 TGMenu.h:166
 TGMenu.h:167
 TGMenu.h:168
 TGMenu.h:169
 TGMenu.h:170
 TGMenu.h:171
 TGMenu.h:172
 TGMenu.h:173
 TGMenu.h:174
 TGMenu.h:175
 TGMenu.h:176
 TGMenu.h:177
 TGMenu.h:178
 TGMenu.h:179
 TGMenu.h:180
 TGMenu.h:181
 TGMenu.h:182
 TGMenu.h:183
 TGMenu.h:184
 TGMenu.h:185
 TGMenu.h:186
 TGMenu.h:187
 TGMenu.h:188
 TGMenu.h:189
 TGMenu.h:190
 TGMenu.h:191
 TGMenu.h:192
 TGMenu.h:193
 TGMenu.h:194
 TGMenu.h:195
 TGMenu.h:196
 TGMenu.h:197
 TGMenu.h:198
 TGMenu.h:199
 TGMenu.h:200
 TGMenu.h:201
 TGMenu.h:202
 TGMenu.h:203
 TGMenu.h:204
 TGMenu.h:205
 TGMenu.h:206
 TGMenu.h:207
 TGMenu.h:208
 TGMenu.h:209
 TGMenu.h:210
 TGMenu.h:211
 TGMenu.h:212
 TGMenu.h:213
 TGMenu.h:214
 TGMenu.h:215
 TGMenu.h:216
 TGMenu.h:217
 TGMenu.h:218
 TGMenu.h:219
 TGMenu.h:220
 TGMenu.h:221
 TGMenu.h:222
 TGMenu.h:223
 TGMenu.h:224
 TGMenu.h:225
 TGMenu.h:226
 TGMenu.h:227
 TGMenu.h:228
 TGMenu.h:229
 TGMenu.h:230
 TGMenu.h:231
 TGMenu.h:232
 TGMenu.h:233
 TGMenu.h:234
 TGMenu.h:235
 TGMenu.h:236
 TGMenu.h:237
 TGMenu.h:238
 TGMenu.h:239
 TGMenu.h:240
 TGMenu.h:241
 TGMenu.h:242
 TGMenu.h:243
 TGMenu.h:244
 TGMenu.h:245
 TGMenu.h:246
 TGMenu.h:247
 TGMenu.h:248
 TGMenu.h:249
 TGMenu.h:250
 TGMenu.h:251
 TGMenu.h:252
 TGMenu.h:253
 TGMenu.h:254
 TGMenu.h:255
 TGMenu.h:256
 TGMenu.h:257
 TGMenu.h:258
 TGMenu.h:259
 TGMenu.h:260
 TGMenu.h:261
 TGMenu.h:262
 TGMenu.h:263
 TGMenu.h:264
 TGMenu.h:265
 TGMenu.h:266
 TGMenu.h:267
 TGMenu.h:268
 TGMenu.h:269
 TGMenu.h:270
 TGMenu.h:271
 TGMenu.h:272
 TGMenu.h:273
 TGMenu.h:274
 TGMenu.h:275
 TGMenu.h:276
 TGMenu.h:277
 TGMenu.h:278
 TGMenu.h:279
 TGMenu.h:280
 TGMenu.h:281
 TGMenu.h:282
 TGMenu.h:283
 TGMenu.h:284
 TGMenu.h:285
 TGMenu.h:286
 TGMenu.h:287
 TGMenu.h:288
 TGMenu.h:289
 TGMenu.h:290
 TGMenu.h:291
 TGMenu.h:292
 TGMenu.h:293
 TGMenu.h:294
 TGMenu.h:295
 TGMenu.h:296
 TGMenu.h:297
 TGMenu.h:298
 TGMenu.h:299
 TGMenu.h:300
 TGMenu.h:301
 TGMenu.h:302
 TGMenu.h:303
 TGMenu.h:304
 TGMenu.h:305
 TGMenu.h:306
 TGMenu.h:307
 TGMenu.h:308
 TGMenu.h:309
 TGMenu.h:310
 TGMenu.h:311
 TGMenu.h:312
 TGMenu.h:313
 TGMenu.h:314
 TGMenu.h:315
 TGMenu.h:316
 TGMenu.h:317
 TGMenu.h:318
 TGMenu.h:319
 TGMenu.h:320
 TGMenu.h:321
 TGMenu.h:322
 TGMenu.h:323
 TGMenu.h:324
 TGMenu.h:325
 TGMenu.h:326
 TGMenu.h:327
 TGMenu.h:328
 TGMenu.h:329
 TGMenu.h:330
 TGMenu.h:331
 TGMenu.h:332
 TGMenu.h:333
 TGMenu.h:334
 TGMenu.h:335
 TGMenu.h:336
 TGMenu.h:337
 TGMenu.h:338
 TGMenu.h:339
 TGMenu.h:340
 TGMenu.h:341
 TGMenu.h:342
 TGMenu.h:343
 TGMenu.h:344
 TGMenu.h:345
 TGMenu.h:346
 TGMenu.h:347
 TGMenu.h:348
 TGMenu.h:349
 TGMenu.h:350
 TGMenu.h:351
 TGMenu.h:352
 TGMenu.h:353
 TGMenu.h:354
 TGMenu.h:355
 TGMenu.h:356
 TGMenu.h:357
 TGMenu.h:358
 TGMenu.h:359
 TGMenu.h:360
 TGMenu.h:361
 TGMenu.h:362
 TGMenu.h:363
 TGMenu.h:364
 TGMenu.h:365
 TGMenu.h:366
 TGMenu.h:367
 TGMenu.h:368
 TGMenu.h:369