File: mbarman.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 (70 lines) | stat: -rw-r--r-- 2,486 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
///////////////////////////////////////////////////////////////////////////////
// Name:        wx/cocoa/mbarman.h
// Purpose:     wxMenuBarManager class
// Author:      David Elliott
// Modified by:
// Created:     2003/09/04
// Copyright:   (c) 2003 David Elliott
// Licence:     wxWindows licence
///////////////////////////////////////////////////////////////////////////////

#ifndef __WX_COCOA_MBARMAN_H__
#define __WX_COCOA_MBARMAN_H__

#if wxUSE_MENUS

#include "wx/toplevel.h"

DECLARE_WXCOCOA_OBJC_CLASS(wxMenuBarManagerObserver);

// ========================================================================
// wxMenuBarManager
// ========================================================================
class WXDLLIMPEXP_CORE wxMenuBarManager : public wxObject
{
// ------------------------------------------------------------------------
// initialization/destruction
// ------------------------------------------------------------------------
public:
    wxMenuBarManager();
    virtual ~wxMenuBarManager();
// ------------------------------------------------------------------------
// Single instance
// ------------------------------------------------------------------------
public:
    static wxMenuBarManager *GetInstance() { return sm_mbarmanInstance; }
    static void CreateInstance();
    static void DestroyInstance();
protected:
    static wxMenuBarManager *sm_mbarmanInstance;
// ------------------------------------------------------------------------
// Implementation
// ------------------------------------------------------------------------
public:
    void SetMainMenuBar(wxMenuBar* menubar);
    void WindowDidBecomeKey(NSNotification *notification);
#if 0
    void WindowDidResignKey(NSNotification *notification);
    void WindowDidBecomeMain(NSNotification *notification);
    void WindowDidResignMain(NSNotification *notification);
    void WindowWillClose(NSNotification *notification);
#endif // 0
    void UpdateMenuBar();
protected:
    void SetMenuBar(wxMenuBar* menubar);
    void InstallMenuBarForWindow(wxCocoaNSWindow *win);
    void InstallMainMenu();
    WX_NSMenu m_menuApp;
    WX_NSMenu m_menuServices;
    WX_NSMenu m_menuWindows;
    WX_NSMenu m_menuMain;
    // Is main menu bar the current one
    bool m_mainMenuBarInstalled;
    // Main menu (if app provides one)
    wxMenuBar *m_mainMenuBar;
    wxMenuBarManagerObserver *m_observer;
    WX_NSWindow m_currentNSWindow;
};

#endif // wxUSE_MENUS
#endif // _WX_COCOA_MBARMAN_H_