File: toplevel.h

package info (click to toggle)
wxpython3.0 3.0.2.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 482,760 kB
  • ctags: 518,293
  • sloc: cpp: 2,127,226; python: 294,045; makefile: 51,942; ansic: 19,033; sh: 3,013; xml: 1,629; perl: 17
file content (116 lines) | stat: -rw-r--r-- 3,961 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
///////////////////////////////////////////////////////////////////////////////
// Name:        wx/x11/toplevel.h
// Purpose:     wxTopLevelWindowX11 is the X11 implementation of wxTLW
// Author:      Julian Smart
// Modified by:
// Created:     20.09.01
// Copyright:   (c) 2002 Julian Smart
// Licence:     wxWindows licence
///////////////////////////////////////////////////////////////////////////////

#ifndef _WX_X11_TOPLEVEL_H_
#define _WX_X11_TOPLEVEL_H_

// ----------------------------------------------------------------------------
// wxTopLevelWindowX11
// ----------------------------------------------------------------------------

class WXDLLIMPEXP_CORE wxTopLevelWindowX11 : public wxTopLevelWindowBase
{
public:
    // constructors and such
    wxTopLevelWindowX11() { Init(); }

    wxTopLevelWindowX11(wxWindow *parent,
                        wxWindowID id,
                        const wxString& title,
                        const wxPoint& pos = wxDefaultPosition,
                        const wxSize& size = wxDefaultSize,
                        long style = wxDEFAULT_FRAME_STYLE,
                        const wxString& name = wxFrameNameStr)
    {
        Init();

        (void)Create(parent, id, title, pos, size, style, name);
    }

    bool Create(wxWindow *parent,
                wxWindowID id,
                const wxString& title,
                const wxPoint& pos = wxDefaultPosition,
                const wxSize& size = wxDefaultSize,
                long style = wxDEFAULT_FRAME_STYLE,
                const wxString& name = wxFrameNameStr);

    virtual ~wxTopLevelWindowX11();

    // implement base class pure virtuals
    virtual void Maximize(bool maximize = true);
    virtual bool IsMaximized() const;
    virtual void Iconize(bool iconize = true);
    virtual bool IsIconized() const;
    virtual void SetIcons(const wxIconBundle& icons);
    virtual void Restore();

    virtual bool Show( bool show = true );

    virtual bool ShowFullScreen( bool show, long style = wxFULLSCREEN_ALL );
    virtual bool IsFullScreen() const { return m_fsIsShowing; }

    virtual void SetTitle( const wxString& title);
    virtual wxString GetTitle() const;

    // implementation
    void SetNeedResizeInIdle( bool set = true )
        { m_needResizeInIdle = set; }
    void SetConfigureGeometry( int x, int y, int width, int height )
        { m_x = x; m_y = y; m_width = width; m_height = height; }

    virtual bool SetShape(const wxRegion& region);

    // For implementation purposes - sometimes decorations make the
    // client area smaller
    virtual wxPoint GetClientAreaOrigin() const;

    virtual void OnInternalIdle();

protected:
    // common part of all ctors
    void Init();

    // set the icon for the window
    void DoSetIcon( const wxIcon& icon );

    // For implementation of delayed resize events
    bool m_needResizeInIdle;

    virtual void DoGetClientSize( int *width, int *height ) const;
    virtual void DoGetSize( int *width, int *height ) const;
    virtual void DoSetClientSize(int width, int height);
    virtual void DoSetSize(int x, int y,
        int width, int height,
        int sizeFlags = wxSIZE_AUTO);
    virtual void DoGetPosition( int *x, int *y ) const;

    // Is the frame currently iconized?
    bool m_iconized;

    // Should the frame be maximized when it will be shown? set by Maximize()
    // when it is called while the frame is hidden
    bool m_maximizeOnShow;

    // Data to save/restore when calling ShowFullScreen
    long                  m_fsStyle;   // Passed to ShowFullScreen
    wxRect                m_fsOldSize;
    bool                  m_fsIsMaximized;
    bool                  m_fsIsShowing;
    wxString              m_title;

    // Geometry
    int                   m_x,m_y,m_width,m_height;
};

// list of all frames and modeless dialogs
//extern WXDLLIMPEXP_DATA_CORE(wxWindowList) wxModelessWindows;

#endif // _WX_X11_TOPLEVEL_H_