1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/motif/toplevel.h
3// Purpose:     wxTopLevelWindow Motif implementation
4// Author:      Mattia Barbon
5// Modified by:
6// Created:     12/10/2002
7// RCS-ID:      $Id: toplevel.h 35692 2005-09-25 20:29:58Z VZ $
8// Copyright:   (c) Mattia Barbon
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef __MOTIFTOPLEVELH__
13#define __MOTIFTOPLEVELH__
14
15class WXDLLIMPEXP_CORE wxTopLevelWindowMotif : public wxTopLevelWindowBase
16{
17public:
18    wxTopLevelWindowMotif() { Init(); }
19    wxTopLevelWindowMotif( wxWindow* parent, wxWindowID id,
20                           const wxString& title,
21                           const wxPoint& pos = wxDefaultPosition,
22                           const wxSize& size = wxDefaultSize,
23                           long style = wxDEFAULT_FRAME_STYLE,
24                           const wxString& name = wxFrameNameStr )
25    {
26        Init();
27
28        Create( parent, id, title, pos, size, style, name );
29    }
30
31    bool Create( wxWindow* parent, wxWindowID id,
32                 const wxString& title,
33                 const wxPoint& pos = wxDefaultPosition,
34                 const wxSize& size = wxDefaultSize,
35                 long style = wxDEFAULT_FRAME_STYLE,
36                 const wxString& name = wxFrameNameStr );
37
38    virtual ~wxTopLevelWindowMotif();
39
40    virtual bool ShowFullScreen( bool show, long style = wxFULLSCREEN_ALL );
41    virtual bool IsFullScreen() const;
42
43    virtual void Maximize(bool maximize = true);
44    virtual void Restore();
45    virtual void Iconize(bool iconize = true);
46    virtual bool IsMaximized() const;
47    virtual bool IsIconized() const;
48
49    virtual void Raise();
50    virtual void Lower();
51
52    virtual wxString GetTitle() const { return m_title; }
53    virtual void SetTitle( const wxString& title ) { m_title = title; }
54
55    virtual void DoSetSizeHints( int minW, int minH,
56                               int maxW = -1, int maxH = -1,
57                               int incW = -1, int incH = -1 );
58
59    virtual bool SetShape( const wxRegion& region );
60
61    WXWidget GetShellWidget() const;
62protected:
63    // common part of all constructors
64    void Init();
65    // common part of wxDialog/wxFrame destructors
66    void PreDestroy();
67
68    virtual void DoGetPosition(int* x, int* y) const;
69
70private:
71    // really create the Motif widget for TLW
72    virtual bool XmDoCreateTLW(wxWindow* parent,
73                               wxWindowID id,
74                               const wxString& title,
75                               const wxPoint& pos,
76                               const wxSize& size,
77                               long style,
78                               const wxString& name) = 0;
79
80
81    wxString m_title;
82};
83
84#endif // __MOTIFTOPLEVELH__
85