library: libGui #include "TRootCanvas.h"

# TRootCanvas

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

## class TRootCanvas : public TGMainFrame, public TCanvasImp

| Inheritance Chart:
`TObject`
| <- | `TGObject`
| <- | `TGWindow`
`TQObject`
| <- | `TGFrame`
| <- | `TGCompositeFrame`
| <- | `TGMainFrame`
`TCanvasImp`
| <- | `TRootCanvas` |

        private:

            void CreateCanvas(const char* name)
            void CreateEditor()
          Bool_t HandleContainerButton(Event_t* ev)
          Bool_t HandleContainerConfigure(Event_t* ev)
          Bool_t HandleContainerCrossing(Event_t* ev)
          Bool_t HandleContainerDoubleClick(Event_t* ev)
          Bool_t HandleContainerExpose(Event_t* ev)
          Bool_t HandleContainerKey(Event_t* ev)
          Bool_t HandleContainerMotion(Event_t* ev)

        public:

                          TRootCanvas(TCanvas* c = 0, const char* name = "ROOT Canvas", UInt_t width = 500, UInt_t height = 300)
                          TRootCanvas(TCanvas* c, const char* name, Int_t x, Int_t y, UInt_t width, UInt_t height)
                          TRootCanvas(const TRootCanvas&)
                  virtual ~TRootCanvas()
           static TClass* Class()
             virtual void Close()
             virtual void CloseWindow()
                     void FitCanvas()
             virtual void ForceUpdate()
                   UInt_t GetCheight() const
                   UInt_t GetCwidth() const
               TGMenuBar* GetMenuBar() const
           TGLayoutHints* GetMenuBarItemLayout() const
             TGStatusBar* GetStatusBar() const
           virtual UInt_t GetWindowGeometry(Int_t& x, Int_t& y, UInt_t& w, UInt_t& h)
             virtual void Iconify()
            virtual Int_t InitWindow()
          virtual TClass* IsA() const
                     void PrintCanvas()
           virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
             virtual void RaiseWindow()
             virtual void ReallyDelete()
             virtual void SetCanvasSize(UInt_t w, UInt_t h)
             virtual void SetStatusText(const char* txt = "0", Int_t partidx = 0)
             virtual void SetWindowPosition(Int_t x, Int_t y)
             virtual void SetWindowSize(UInt_t w, UInt_t h)
             virtual void SetWindowTitle(const char* newTitle)
             virtual void Show()
             virtual void ShowEditor(Bool_t show = kTRUE)
             virtual void ShowMembers(TMemberInspector& insp, char* parent)
             virtual void ShowMenuBar(Bool_t show = kTRUE)
             virtual void ShowStatusBar(Bool_t show = kTRUE)
             virtual void ShowToolBar(Bool_t show = kTRUE)
             virtual void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)

### Data Members

        private:

                    TGCanvas* fCanvasWindow       canvas widget
              TRootContainer* fCanvasContainer    container in canvas widget
                   TGMenuBar* fMenuBar            menubar
                 TGPopupMenu* fFileMenu           file menu
                 TGPopupMenu* fFileSaveMenu       save cascade submenu
                 TGPopupMenu* fEditMenu           edit menu
                 TGPopupMenu* fEditClearMenu      clear cascade submenu
                 TGPopupMenu* fViewMenu           view menu
                 TGPopupMenu* fViewWithMenu       view with... cascade submenu
                 TGPopupMenu* fOptionMenu         option menu
                 TGPopupMenu* fInspectMenu        inspect menu
                 TGPopupMenu* fClassesMenu        classes menu
                 TGPopupMenu* fHelpMenu           help menu
               TGLayoutHints* fMenuBarLayout      menubar layout hints
               TGLayoutHints* fMenuBarItemLayout  layout hints for menu in menubar
               TGLayoutHints* fMenuBarHelpLayout  layout hint for help menu in menubar
               TGLayoutHints* fCanvasLayout       layout for canvas widget
                 TGStatusBar* fStatusBar          statusbar widget
               TGLayoutHints* fStatusBarLayout    layout hints for statusbar
            TGCompositeFrame* fEditorFrame        side frame for current pad editor
               TGLayoutHints* fEditorLayout       layout for editor frame
            TGCompositeFrame* fMainFrame          main frame containing canvas and side frame
               TGLayoutHints* fToolBarLayout      layout for toolbar widget
                   TGToolBar* fToolBar            icon button toolbar
          TGHorizontal3DLine* fToolBarSep         toolbar separator
               TGLayoutHints* fMainFrameLayout    layout for main frame
            TGVertical3DLine* fVertical1          toolbar vertical separator
            TGVertical3DLine* fVertical2          toolbar vertical separator
          TGHorizontal3DLine* fHorizontal1        toolbar sepatator
               TGLayoutHints* fVertical1Layout    layout hints for separator
               TGLayoutHints* fVertical2Layout    layout hints for separator
               TGLayoutHints* fHorizontal1Layout  layout hints for separator
             TGDockableFrame* fToolDock
           TVirtualPadEditor* fEditor             pointer to currently loaded pad editor
                        Int_t fCanvasID           index in fWindows array of TGX11
                       Bool_t fAutoFit            when true canvas container keeps same size as canvas
                        Int_t fButton             currently pressed button

## Class Description

     TRootCanvas

     This class creates a main window with menubar, scrollbars and a
     drawing area. The widgets used are the new native ROOT GUI widgets.

TRootCanvas(TCanvas *c, const char *name, UInt_t width, UInt_t height) : TGMainFrame(gClient->GetRoot(), width, height), TCanvasImp(c)

     Create a basic ROOT canvas.

TRootCanvas(TCanvas *c, const char *name, Int_t x, Int_t y, UInt_t width, UInt_t height) : TGMainFrame(gClient->GetRoot(), width, height), TCanvasImp(c)

     Create a basic ROOT canvas.

void CreateCanvas(const char *name)

     Create the actual canvas.

~TRootCanvas()

     Delete ROOT basic canvas. Order is significant. Delete in reverse
     order of creation.

void Close()

     Called via TCanvasImp interface by TCanvas.

void ReallyDelete()

     Really delete the canvas and this GUI.

void CloseWindow()

     In case window is closed via WM we get here.

UInt_t GetCwidth() const

     Return width of canvas container.

UInt_t GetCheight() const

     Return height of canvas container.

UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)

     Gets the size and position of the window containing the canvas. This
     size includes the menubar and borders.

void SetStatusText(const char *txt, Int_t partidx)

     Set text in status bar.

Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t)

     Handle menu and other command generated by the user.

Int_t InitWindow()

     Called by TCanvas ctor to get window indetifier.

void SetCanvasSize(UInt_t w, UInt_t h)

     Set size of canvas container. Units in pixels.

void SetWindowPosition(Int_t x, Int_t y)

     Set canvas position (units in pixels).

void SetWindowSize(UInt_t w, UInt_t h)

     Set size of canvas( units in pixels).

void RaiseWindow()

     Put canvas window on top of the window stack.

void SetWindowTitle(const char *title)

     Change title on window.

void FitCanvas()

     Fit canvas container to current window size.

void PrintCanvas()

     Print the canvas.

void ShowMenuBar(Bool_t show)

     Show or hide menubar.

void ShowStatusBar(Bool_t show)

     Show or hide statusbar.

void ShowEditor(Bool_t show)

     Show or hide side frame.

void CreateEditor()

     Create embedded editor.

void ShowToolBar(Bool_t show)

     Show or hide toolbar.

Bool_t HandleContainerButton(Event_t *event)

     Handle mouse button events in the canvas container.

Bool_t HandleContainerDoubleClick(Event_t *event)

     Handle mouse button double click events in the canvas container.

Bool_t HandleContainerConfigure(Event_t *)

     Handle configure (i.e. resize) event.

Bool_t HandleContainerKey(Event_t *event)

     Handle keyboard events in the canvas container.

Bool_t HandleContainerMotion(Event_t *event)

     Handle mouse motion event in the canvas container.

Bool_t HandleContainerExpose(Event_t *event)

     Handle expose events.

Bool_t HandleContainerCrossing(Event_t *event)

     Handle enter/leave events. Only leave is activated at the moment.

### Inline Functions

                      void ForceUpdate()
                      void Iconify()
                      void Show()
                TGMenuBar* GetMenuBar() const
            TGLayoutHints* GetMenuBarItemLayout() const
              TGStatusBar* GetStatusBar() const
                   TClass* Class()
                   TClass* IsA() const
                      void ShowMembers(TMemberInspector& insp, char* parent)
                      void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)
               TRootCanvas TRootCanvas(const TRootCanvas&)

Author: Fons Rademakers 15/01/98
Last update: root/gui:$Name: $:$Id: TRootCanvas.cxx,v 1.80 2005/06/10 07:02:44 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *