Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TGMdiMenu.h
Go to the documentation of this file.
1 // @(#)root/gui:$Id$
2 // Author: Bertrand Bellenot 20/08/2004
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, 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 /**************************************************************************
13 
14  This file is part of TGMdi, an extension to the xclass toolkit.
15  Copyright (C) 1998-2002 by Harald Radke, Hector Peraza.
16 
17  This application is free software; you can redistribute it and/or
18  modify it under the terms of the GNU Library General Public
19  License as published by the Free Software Foundation; either
20  version 2 of the License, or (at your option) any later version.
21 
22  This application is distributed in the hope that it will be useful,
23  but WITHOUT ANY WARRANTY; without even the implied warranty of
24  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
25  Library General Public License for more details.
26 
27  You should have received a copy of the GNU Library General Public
28  License along with this library; if not, write to the Free
29  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30 
31 **************************************************************************/
32 
33 #ifndef ROOT_TGMdiMenu
34 #define ROOT_TGMdiMenu
35 
36 //////////////////////////////////////////////////////////////////////////
37 // //
38 // TGMdiMenu. //
39 // //
40 // This file contains the TGMdiMenuBar class. //
41 // //
42 //////////////////////////////////////////////////////////////////////////
43 
44 #include "TGMenu.h"
45 #include "TGFrame.h"
46 
47 
48 class TGMdiMainFrame;
49 class TGMdiTitleIcon;
50 class TGMdiButtons;
51 
52 
53 class TGMdiMenuBar : public TGCompositeFrame {
54 
55 friend class TGMdiMainFrame;
56 
57 protected:
58  TGCompositeFrame *fLeft, *fRight; // left and right parts of MDI menu bar
59  TGMenuBar *fBar; // standard menu bar
60  TGLayoutHints *fLHint, *fLeftHint; // left layout hints
61  TGLayoutHints *fRightHint, *fBarHint; // right layout hints
62 
63  void AddFrames(TGMdiTitleIcon *icon, TGMdiButtons *buttons);
64  void RemoveFrames(TGMdiTitleIcon *icon, TGMdiButtons *buttons);
65  void ShowFrames(TGMdiTitleIcon *icon, TGMdiButtons *buttons);
66  void HideFrames(TGMdiTitleIcon *icon, TGMdiButtons *buttons);
67 
68 public:
69  TGMdiMenuBar(const TGWindow *p, Int_t w = 1, Int_t h = 20);
70  virtual ~TGMdiMenuBar();
71 
72  void AddPopup(TGHotString *s, TGPopupMenu *menu, TGLayoutHints *l);
73  TGMenuBar *GetMenuBar() const { return fBar;}
74  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
75 
76  ClassDef(TGMdiMenuBar, 0) // MDI menu bar
77 };
78 
79 #endif