~registry/dolphin-emu/triforce

« back to all changes in this revision

Viewing changes to Externals/wxWidgets3/include/wx/cocoa/toplevel.h

  • Committer: Sérgio Benjamim
  • Date: 2015-02-13 05:54:40 UTC
  • Revision ID: sergio_br2@yahoo.com.br-20150213055440-ey2rt3sjpy27km78
Dolphin Triforce branch from code.google, commit b957980 (4.0-315).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
///////////////////////////////////////////////////////////////////////////////
 
2
// Name:        wx/cocoa/toplevel.h
 
3
// Purpose:     wxTopLevelWindowCocoa is the Cocoa implementation of wxTLW
 
4
// Author:      David Elliott
 
5
// Modified by:
 
6
// Created:     2002/12/08
 
7
// Copyright:   (c) 2002 David Elliott
 
8
// Licence:     wxWindows licence
 
9
///////////////////////////////////////////////////////////////////////////////
 
10
 
 
11
#ifndef __WX_COCOA_TOPLEVEL_H__
 
12
#define __WX_COCOA_TOPLEVEL_H__
 
13
 
 
14
#include "wx/hashmap.h"
 
15
#include "wx/cocoa/NSWindow.h"
 
16
 
 
17
class WXDLLIMPEXP_FWD_CORE wxMenuBar;
 
18
 
 
19
// ========================================================================
 
20
// wxTopLevelWindowCocoa
 
21
// ========================================================================
 
22
class WXDLLIMPEXP_CORE wxTopLevelWindowCocoa : public wxTopLevelWindowBase, protected wxCocoaNSWindow
 
23
{
 
24
    DECLARE_EVENT_TABLE();
 
25
    DECLARE_NO_COPY_CLASS(wxTopLevelWindowCocoa);
 
26
// ------------------------------------------------------------------------
 
27
// initialization
 
28
// ------------------------------------------------------------------------
 
29
public:
 
30
    inline wxTopLevelWindowCocoa()
 
31
    :   wxCocoaNSWindow(this)
 
32
    {   Init(); }
 
33
 
 
34
    inline wxTopLevelWindowCocoa(wxWindow *parent,
 
35
                        wxWindowID winid,
 
36
                        const wxString& title,
 
37
                        const wxPoint& pos = wxDefaultPosition,
 
38
                        const wxSize& size = wxDefaultSize,
 
39
                        long style = wxDEFAULT_FRAME_STYLE,
 
40
                        const wxString& name = wxFrameNameStr)
 
41
    :   wxCocoaNSWindow(this)
 
42
    {
 
43
        Init();
 
44
        Create(parent, winid, title, pos, size, style, name);
 
45
    }
 
46
 
 
47
    bool Create(wxWindow *parent,
 
48
                wxWindowID winid,
 
49
                const wxString& title,
 
50
                const wxPoint& pos = wxDefaultPosition,
 
51
                const wxSize& size = wxDefaultSize,
 
52
                long style = wxDEFAULT_FRAME_STYLE,
 
53
                const wxString& name = wxFrameNameStr);
 
54
 
 
55
    virtual ~wxTopLevelWindowCocoa();
 
56
 
 
57
protected:
 
58
    // common part of all ctors
 
59
    void Init();
 
60
 
 
61
// ------------------------------------------------------------------------
 
62
// Cocoa specifics
 
63
// ------------------------------------------------------------------------
 
64
public:
 
65
    inline WX_NSWindow GetNSWindow() { return m_cocoaNSWindow; }
 
66
    virtual void CocoaDelegate_windowWillClose(void);
 
67
    virtual bool CocoaDelegate_windowShouldClose(void);
 
68
    virtual void CocoaDelegate_windowDidBecomeKey(void);
 
69
    virtual void CocoaDelegate_windowDidResignKey(void);
 
70
    virtual void CocoaDelegate_windowDidBecomeMain(void);
 
71
    virtual void CocoaDelegate_windowDidResignMain(void);
 
72
    virtual void CocoaDelegate_wxMenuItemAction(WX_NSMenuItem sender);
 
73
    virtual bool CocoaDelegate_validateMenuItem(WX_NSMenuItem sender);
 
74
    virtual wxMenuBar* GetAppMenuBar(wxCocoaNSWindow *win);
 
75
    static void DeactivatePendingWindow();
 
76
protected:
 
77
    void SetNSWindow(WX_NSWindow cocoaNSWindow);
 
78
    WX_NSWindow m_cocoaNSWindow;
 
79
    static wxCocoaNSWindowHash sm_cocoaHash;
 
80
    virtual void CocoaReplaceView(WX_NSView oldView, WX_NSView newView);
 
81
    static unsigned int NSWindowStyleForWxStyle(long style);
 
82
    static NSRect MakeInitialNSWindowContentRect(const wxPoint& pos, const wxSize& size, unsigned int cocoaStyleMask);
 
83
 
 
84
    static wxTopLevelWindowCocoa *sm_cocoaDeactivateWindow;
 
85
// ------------------------------------------------------------------------
 
86
// Implementation
 
87
// ------------------------------------------------------------------------
 
88
public:
 
89
    virtual bool Destroy();
 
90
    // Pure virtuals
 
91
    virtual void Maximize(bool maximize = true);
 
92
    virtual bool IsMaximized() const;
 
93
    virtual void Iconize(bool iconize = true);
 
94
    virtual bool IsIconized() const;
 
95
    virtual void Restore();
 
96
    virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
 
97
    virtual bool IsFullScreen() const;
 
98
    // other
 
99
    virtual bool Show( bool show = true );
 
100
    virtual bool Close( bool force = false );
 
101
    virtual void OnCloseWindow(wxCloseEvent& event);
 
102
    virtual void CocoaSetWxWindowSize(int width, int height);
 
103
    virtual void DoMoveWindow(int x, int y, int width, int height);
 
104
    virtual void DoGetSize(int *width, int *height) const;
 
105
    virtual void DoGetPosition(int *x, int *y) const;
 
106
    virtual void SetTitle( const wxString& title);
 
107
    virtual wxString GetTitle() const;
 
108
 
 
109
    // Default button (item)
 
110
    wxWindow *SetDefaultItem(wxWindow *win);
 
111
 
 
112
// Things I may/may not do
 
113
//    virtual void SetIcons(const wxIconBundle& icons);
 
114
//    virtual void Clear() ;
 
115
//    virtual void Raise();
 
116
//    virtual void Lower();
 
117
protected:
 
118
    // is the frame currently iconized?
 
119
    bool m_iconized;
 
120
    // has the frame been closed
 
121
    bool m_closed;
 
122
    // should the frame be maximized when it will be shown? set by Maximize()
 
123
    // when it is called while the frame is hidden
 
124
    bool m_maximizeOnShow;
 
125
};
 
126
 
 
127
// list of all frames and modeless dialogs
 
128
extern WXDLLIMPEXP_DATA_CORE(wxWindowList) wxModelessWindows;
 
129
 
 
130
#endif // __WX_COCOA_TOPLEVEL_H__