library: libGui
#include "TGMdiMainFrame.h"

TGMdiMainFrame


class description - source file - inheritance tree (.pdf)

class TGMdiMainFrame : public TGCanvas

Inheritance Chart:
TObject
<-
TGObject
<-
TGWindow
TQObject
<-
TGFrame
<-
TGCanvas
<-
TGMdiMainFrame

    protected:
void AddMdiFrame(TGMdiFrame* f) TGMdiDecorFrame* GetDecorFrame(UInt_t id) const TGMdiDecorFrame* GetDecorFrame(TGMdiFrame* frame) const Bool_t RemoveMdiFrame(TGMdiFrame* f) Bool_t SetCurrent(TGMdiFrameList* newcurrent) void UpdateWinListMenu() public:
TGMdiMainFrame(const TGWindow* p, TGMdiMenuBar* menu, Int_t w, Int_t h, UInt_t options = 0, Pixel_t back = GetDefaultFrameBackground()) TGMdiMainFrame(const TGMdiMainFrame&) virtual ~TGMdiMainFrame() virtual void ArrangeFrames(Int_t mode) virtual void ArrangeMinimized() virtual void Cascade() virtual void CirculateDown() virtual void CirculateUp() static TClass* Class() virtual Int_t Close(TGMdiFrame* frame) virtual void CloseAll() void ConfigureWindow(TGMdiFrame* f, TGMdiGeometry& geom) virtual Int_t ContextHelp(TGMdiFrame* frame) virtual void FrameClosed(Int_t id) virtual void FrameCreated(Int_t id) virtual void FrameMaximized(Int_t id) virtual void FrameMinimized(Int_t id) virtual void FrameRestored(Int_t id) virtual void FramesArranged(Int_t mode) virtual void FreeMove(TGMdiFrame* frame) virtual void FreeSize(TGMdiFrame* frame) TGRectangle GetBBox() const TGFrame* GetContainer() const TGMdiFrame* GetCurrent() const TGMdiFrame* GetMdiFrame(UInt_t id) const TGMdiMenuBar* GetMenu() const TGRectangle GetMinimizedBBox() const Long_t GetNumberOfFrames() const TGMdiGeometry GetWindowGeometry(TGMdiFrame* f) const TGMdiFrameList* GetWindowList(Int_t current = kFALSE) const TGPopupMenu* GetWinListMenu() const virtual Bool_t HandleKey(Event_t* event) virtual TClass* IsA() const Bool_t IsMaximized(TGMdiFrame* f) Bool_t IsMinimized(TGMdiFrame* f) virtual void Layout() virtual void Maximize(TGMdiFrame* frame) virtual void Minimize(TGMdiFrame* frame) virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2) virtual void Restore(TGMdiFrame* frame) virtual void SavePrimitive(ofstream& out, Option_t* option) Bool_t SetCurrent(UInt_t newcurrent) Bool_t SetCurrent(TGMdiFrame* f) void SetResizeMode(Int_t mode = kMdiDefaultResizeMode) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual void TileHorizontal() virtual void TileVertical()

Data Members


    protected:
Int_t fCurrentX Int_t fCurrentY Int_t fResizeMode current MDI child XY position and resize mode Int_t fArrangementMode MDI childs arrangement mode TGFont* fFontCurrent TGFont* fFontNotCurrent fonts for active and inactive MDI childs Pixel_t fBackCurrent Pixel_t fForeCurrent back and fore colors for active MDI childs Pixel_t fBackNotCurrent Pixel_t fForeNotCurrent back and fore colors for inactive MDI childs TGGC* fBoxGC GC used to draw resizing box (rectangle) Long_t fNumberOfFrames number of MDI child windows TGMdiMenuBar* fMenuBar menu bar TGFrame* fContainer MDI container TGPopupMenu* fWinListMenu popup menu with list of MDI child windows TGMdiFrameList* fChildren list of MDI child windows TGMdiFrameList* fCurrent current list of MDI child windows public:
static const enum TGMdiMainFrame:: kMinimizedWidth

Class Description

                                                                      
 TGMdiMainFrame.                                                      
                                                                      
 This file contains the TGMdiMainFrame class.                         
                                                                      


TGMdiMainFrame(const TGWindow *p, TGMdiMenuBar *menuBar, Int_t w, Int_t h, UInt_t options, Pixel_t back) : TGCanvas(p, w, h, options | kDoubleBorder | kSunkenFrame | kMdiMainFrame, back)
 Create a MDI main frame.

~TGMdiMainFrame()
 MDI main frame destructor.

void SetResizeMode(Int_t mode)
 Set MDI windows resize mode (opaque or transparent).

Bool_t HandleKey(Event_t *event)
 Handle keyboards events into MDI main frame.

void AddMdiFrame(TGMdiFrame *frame)
 Add new MDI child window.

Bool_t RemoveMdiFrame(TGMdiFrame *frame)
 Remove MDI child window.

Bool_t SetCurrent(UInt_t id)
 Set current (active) MDI child window (by id).

Bool_t SetCurrent(TGMdiFrame *f)
 Set current (active) MDI child window (by frame pointer).

Bool_t SetCurrent(TGMdiFrameList *newcurrent)
 Set current (active) MDI child window (by frame list).

void CirculateUp()
 Bring the lowest window to the top.

void CirculateDown()
 Send the highest window to the bottom.

TGMdiDecorFrame* GetDecorFrame(TGMdiFrame *frame) const
 Return decor frame of MDI child window (by frame pointer).

TGMdiDecorFrame* GetDecorFrame(UInt_t id) const
 Return decor frame of MDI child window (by id).

TGMdiFrame* GetMdiFrame(UInt_t id) const
 Return frame of MDI child window (by id).

TGRectangle GetBBox() const
 Return resizing box (rectangle) for current MDI child.

TGRectangle GetMinimizedBBox() const
 Return minimized box (rectangle) for current MDI child.

void UpdateWinListMenu()
 Update MDI menu entries with current list of MDI child windows.

void Layout()
 Recalculates the postion and the size of all MDI child windows.

void ArrangeFrames(Int_t mode)
 Automatic repositionning and resizing of every MDI child window.
 depending on mode : tile horizontal, tile vertical, or cascade.

void ArrangeMinimized()
 This is an attempt to an "smart" minimized window re-arrangement.

Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
 Process messages MDI main frame.

void Maximize(TGMdiFrame *mdiframe)
 Maximize MDI child window mdiframe.

void Restore(TGMdiFrame *mdiframe)
 Restore size of MDI child window mdiframe.

void Minimize(TGMdiFrame *mdiframe)
 Minimize MDI child window mdiframe.

Int_t Close(TGMdiFrame *mdiframe)
 Close MDI child window mdiframe.

void FreeMove(TGMdiFrame *mdiframe)
 Allow to move MDI child window mdiframe.

void FreeSize(TGMdiFrame *mdiframe)
 Allow to resize MDI child window mdiframe.

Int_t ContextHelp(TGMdiFrame *mdiframe)
 Calls Help() method of MDI child window mdiframe.

TGMdiFrame* GetCurrent() const
 Return pointer on current (active) MDI child window.

TGMdiGeometry GetWindowGeometry(TGMdiFrame *f) const
 Get MDI geometry of MDI child window f.

void ConfigureWindow(TGMdiFrame *f, TGMdiGeometry &geom)
 Set MDI geometry for MDI child window f.

void CloseAll()
 Close all MDI child windows.

Bool_t IsMaximized(TGMdiFrame *f)
 Check if MDI child window f is maximized;

Bool_t IsMinimized(TGMdiFrame *f)
 Check if MDI child window f is minimized;

void SavePrimitive(ofstream &out, Option_t *option)
 Save a MDI main frame as a C++ statement(s) on output stream out



Inline Functions


                   void Cascade()
                   void TileHorizontal()
                   void TileVertical()
               TGFrame* GetContainer() const
           TGPopupMenu* GetWinListMenu() const
          TGMdiMenuBar* GetMenu() const
        TGMdiFrameList* GetWindowList(Int_t current = kFALSE) const
                 Long_t GetNumberOfFrames() const
                   void FrameCreated(Int_t id)
                   void FrameClosed(Int_t id)
                   void FrameMaximized(Int_t id)
                   void FrameMinimized(Int_t id)
                   void FrameRestored(Int_t id)
                   void FramesArranged(Int_t mode)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)
         TGMdiMainFrame TGMdiMainFrame(const TGMdiMainFrame&)


Author: Bertrand Bellenot 20/08/2004
Last update: root/gui:$Name: $:$Id: TGMdiMainFrame.cxx,v 1.18 2005/11/21 00:25:38 rdm Exp $
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.