1 ///////////////////////////////////////////////////////////////////////////// 
   2 // Name:        wx/gtk1/toplevel.h 
   4 // Author:      Robert Roebling 
   6 // Copyright:   (c) 1998 Robert Roebling, Julian Smart 
   7 // Licence:     wxWindows licence 
   8 ///////////////////////////////////////////////////////////////////////////// 
  10 #ifndef __GTKTOPLEVELH__ 
  11 #define __GTKTOPLEVELH__ 
  13 //----------------------------------------------------------------------------- 
  14 // wxTopLevelWindowGTK 
  15 //----------------------------------------------------------------------------- 
  17 class WXDLLIMPEXP_CORE wxTopLevelWindowGTK 
: public wxTopLevelWindowBase
 
  21     wxTopLevelWindowGTK() { Init(); } 
  22     wxTopLevelWindowGTK(wxWindow 
*parent
, 
  24                         const wxString
& title
, 
  25                         const wxPoint
& pos 
= wxDefaultPosition
, 
  26                         const wxSize
& size 
= wxDefaultSize
, 
  27                         long style 
= wxDEFAULT_FRAME_STYLE
, 
  28                         const wxString
& name 
= wxFrameNameStr
) 
  32         Create(parent
, id
, title
, pos
, size
, style
, name
); 
  35     bool Create(wxWindow 
*parent
, 
  37                 const wxString
& title
, 
  38                 const wxPoint
& pos 
= wxDefaultPosition
, 
  39                 const wxSize
& size 
= wxDefaultSize
, 
  40                 long style 
= wxDEFAULT_FRAME_STYLE
, 
  41                 const wxString
& name 
= wxFrameNameStr
); 
  43     virtual ~wxTopLevelWindowGTK(); 
  45     // implement base class pure virtuals 
  46     virtual void Maximize(bool maximize 
= true); 
  47     virtual bool IsMaximized() const; 
  48     virtual void Iconize(bool iconize 
= true); 
  49     virtual bool IsIconized() const; 
  50     virtual void SetIcon(const wxIcon
& icon
); 
  51     virtual void SetIcons(const wxIconBundle
& icons
); 
  52     virtual void Restore(); 
  54     virtual bool ShowFullScreen(bool show
, long style 
= wxFULLSCREEN_ALL
); 
  55     virtual bool IsFullScreen() const { return m_fsIsShowing
; }; 
  57     virtual bool SetShape(const wxRegion
& region
); 
  59     virtual void RequestUserAttention(int flags 
= wxUSER_ATTENTION_INFO
); 
  61     virtual void SetWindowStyleFlag( long style 
); 
  63     virtual bool Show(bool show 
= true); 
  67     virtual bool IsActive(); 
  69     virtual void SetTitle( const wxString 
&title 
); 
  70     virtual wxString 
GetTitle() const { return m_title
; } 
  72     // Experimental, to allow help windows to be 
  73     // viewable from within modal dialogs 
  74     virtual void AddGrab(); 
  75     virtual void RemoveGrab(); 
  76     virtual bool IsGrabbed() const { return m_grabbed
; } 
  78     // implementation from now on 
  79     // -------------------------- 
  81     // move the window to the specified location and resize it: this is called 
  82     // from both DoSetSize() and DoSetClientSize() 
  83     virtual void DoMoveWindow(int x
, int y
, int width
, int height
); 
  86     virtual void GtkOnSize( int x
, int y
, int width
, int height 
); 
  87     virtual void OnInternalIdle(); 
  89     // do *not* call this to iconize the frame, this is a private function! 
  90     void SetIconizeState(bool iconic
); 
  94     GtkWidget    
*m_mainWidget
; 
  95     bool          m_insertInClientArea
;  /* not from within OnCreateXXX */ 
  97     bool          m_fsIsShowing
;         /* full screen */ 
  98     long          m_fsSaveGdkFunc
, m_fsSaveGdkDecor
; 
 100     wxRect        m_fsSaveFrame
; 
 102     // m_windowStyle translated to GDK's terms 
 106     // private gtk_timeout_add result for mimicing wxUSER_ATTENTION_INFO and 
 107     // wxUSER_ATTENTION_ERROR difference, -2 for no hint, -1 for ERROR hint, rest for GtkTimeout handle. 
 111     // common part of all ctors 
 114     // override wxWindow methods to take into account tool/menu/statusbars 
 115     virtual void DoSetSize(int x
, int y
, 
 116                            int width
, int height
, 
 117                            int sizeFlags 
= wxSIZE_AUTO
); 
 119     virtual void DoSetClientSize(int width
, int height
); 
 120     virtual void DoGetClientSize( int *width
, int *height 
) const; 
 124     // is the frame currently iconized? 
 126     // is the frame currently grabbed explicitly 
 127     // by the application? 
 131 #endif // __GTKTOPLEVELH__