ROOT
Version v6.32
master
v6.34
v6.32
v6.30
v6.28
v6.26
v6.24
v6.22
v6.20
v6.18
v6.16
v6.14
v6.12
v6.10
v6.08
v6.06
v6.04
Reference Guide
▼
ROOT
ROOT Reference Documentation
Tutorials
►
Functional Parts
►
Namespaces
►
All Classes
▼
Files
▼
File List
►
bindings
►
core
►
documentation
►
geom
▼
graf2d
►
asimage
▼
cocoa
►
inc
▼
src
CocoaConstants.mm
CocoaGuiTypes.mm
►
CocoaPrivate.h
►
CocoaPrivate.mm
FontCache.mm
►
MenuLoader.mm
►
QuartzPixmap.mm
►
QuartzWindow.mm
ROOTApplicationDelegate.mm
►
ROOTOpenGLView.mm
TGCocoa.mm
TGOSXGL.mm
►
TGQuartz.mm
►
X11Atoms.mm
►
X11Buffer.mm
►
X11Colors.mm
►
X11Events.mm
►
XLFDParser.mm
►
fitsio
►
gpad
►
gpadv7
►
graf
►
gviz
►
postscript
►
quartz
►
win32gdk
►
x11
►
x11ttf
►
graf3d
►
gui
►
hist
►
html
►
io
►
main
►
math
►
montecarlo
►
net
►
proof
►
roofit
►
sql
►
tmva
►
tree
►
tutorials
►
v6-32-00-patches
►
File Members
Release Notes
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
MenuLoader.mm
Go to the documentation of this file.
1
#include <cassert>
2
3
#include <Cocoa/Cocoa.h>
4
5
#include "
CocoaConstants.h
"
6
#include "
MenuLoader.h
"
7
#include "
CocoaUtils.h
"
8
9
namespace
ROOT
{
10
namespace
MacOSX {
11
namespace
Details
{
12
13
//Fill ROOT's menu (standard Apple's menu at the top of desktop).
14
15
void
PopulateApplicationMenu
(
NSMenu
*
submenu
);
16
void
PopulateWindowMenu
(
NSMenu
*
submenu
);
17
void
PopulateHelpMenu
(
NSMenu
*
submenu
);
18
19
//Fill app's menu.
20
21
//______________________________________________________________________________
22
void
PopulateMainMenu
()
23
{
24
const
Util::AutoreleasePool
pool
;
25
26
NSMenu
*
const
mainMenu
= [[
NSMenu
alloc
]
initWithTitle
:
@"NSMainMenu"
];
27
const
Util::NSScopeGuard<NSMenu>
mainMenuGuard
(
mainMenu
);
28
29
// The strings in the menu bar come from the submenu titles,
30
// except for the application menu, whose title is ignored at runtime.
31
NSMenuItem
*
menuItem
= [
mainMenu
addItemWithTitle
:
@"Apple"
action
:
nil
keyEquivalent
:
@""
];
32
NSMenu
*
submenu
= [[
NSMenu
alloc
]
initWithTitle
:
@"Apple"
];
33
const
Util::NSScopeGuard<NSMenu>
submenuGuard1
(
submenu
);
34
35
PopulateApplicationMenu
(
submenu
);
36
[
mainMenu
setSubmenu
:
submenu
forItem
:
menuItem
];
37
38
menuItem
= [
mainMenu
addItemWithTitle
:
@"Window"
action
:
nil
keyEquivalent
:
@""
];
39
submenu
= [[
NSMenu
alloc
]
initWithTitle
:
NSLocalizedString
(
@"Window"
,
@"The Window menu"
)];
40
const
Util::NSScopeGuard<NSMenu>
submenuGuard2
(
submenu
);
41
PopulateWindowMenu
(
submenu
);
42
[
mainMenu
setSubmenu
:
submenu
forItem
:
menuItem
];
43
[
NSApp
setWindowsMenu
:
submenu
];
44
45
menuItem
= [
mainMenu
addItemWithTitle
:
@"Help"
action
:
NULL
keyEquivalent
:
@""
];
46
submenu
= [[
NSMenu
alloc
]
initWithTitle
:
NSLocalizedString
(
@"Help"
,
@"The Help menu"
)];
47
const
Util::NSScopeGuard<NSMenu>
submenuGuard3
(
submenu
);
48
PopulateHelpMenu
(
submenu
);
49
[
mainMenu
setSubmenu
:
submenu
forItem
:
menuItem
];
50
51
[
NSApp
setMainMenu
:
mainMenu
];
52
[
NSMenu
setMenuBarVisible
:
YES
];
53
}
54
55
//______________________________________________________________________________
56
void
PopulateApplicationMenu
(
NSMenu
*
aMenu
)
57
{
58
assert
(
aMenu
!=
nil
&&
"PopulateApplicationMenu, aMenu parameter is nil"
);
59
60
NSString
*
const
applicationName
=
@"root"
;
61
62
NSMenuItem
*
menuItem
= [
aMenu
addItemWithTitle
: [
NSString
stringWithFormat
:
@"%@ %@"
,
63
NSLocalizedString
(
@"About"
,
nil
),
applicationName
]
64
action
:
@selector
(
orderFrontStandardAboutPanel
:)
keyEquivalent
:
@""
];
65
[
menuItem
setTarget
:
NSApp
];
66
[
aMenu
addItem
: [
NSMenuItem
separatorItem
]];
67
68
menuItem
= [
aMenu
addItemWithTitle
: [
NSString
stringWithFormat
:
@"%@ %@"
,
69
NSLocalizedString
(
@"Hide"
,
nil
),
applicationName
]
action
:
@selector
(hide:)
keyEquivalent
:
@"h"
];
70
[
menuItem
setTarget
:
NSApp
];
71
72
menuItem
= [
aMenu
addItemWithTitle
:
NSLocalizedString
(
@"Hide Others"
,
nil
)
73
action
:
@selector
(
hideOtherApplications
:)
keyEquivalent
:
@"h"
];
74
[
menuItem
setKeyEquivalentModifierMask
:
Details::kCommandKeyMask
|
Details::kAlternateKeyMask
];
75
[
menuItem
setTarget
:
NSApp
];
76
77
menuItem
= [
aMenu
addItemWithTitle
:
NSLocalizedString
(
@"Show All"
,
nil
)
78
action
:
@selector
(
unhideAllApplications
:)
keyEquivalent
:
@""
];
79
[
menuItem
setTarget
:
NSApp
];
80
81
[
aMenu
addItem
: [
NSMenuItem
separatorItem
]];
82
menuItem
= [
aMenu
addItemWithTitle
: [
NSString
stringWithFormat
:
@"%@ %@"
,
83
NSLocalizedString
(
@"Quit"
,
nil
),
applicationName
]
action
:
@selector
(terminate:)
keyEquivalent
:
@"q"
];
84
[
menuItem
setTarget
:
NSApp
];
85
}
86
87
//______________________________________________________________________________
88
void
PopulateWindowMenu
(
NSMenu
*
aMenu
)
89
{
90
assert
(
aMenu
!=
nil
&&
"PopulateWindowMenu, aMenu parameter is nil"
);
91
92
[
aMenu
addItemWithTitle
:
NSLocalizedString
(
@"Zoom"
,
nil
)
93
action
:
@selector
(
performZoom
:)
keyEquivalent
:
@""
];
94
[
aMenu
addItem
: [
NSMenuItem
separatorItem
]];
95
[
aMenu
addItemWithTitle
:
NSLocalizedString
(
@"Bring All to Front"
,
nil
)
96
action
:
@selector
(
arrangeInFront
:)
keyEquivalent
:
@""
];
97
}
98
99
//______________________________________________________________________________
100
void
PopulateHelpMenu
(
NSMenu
*
aMenu
)
101
{
102
NSMenuItem
*
const
menuItem
= [
aMenu
addItemWithTitle
: [
NSString
stringWithFormat
:
@"%@ %@"
,
@"root"
,
103
NSLocalizedString
(
@"Help"
,
nil
)]
action
:
@selector
(
showHelp
:)
keyEquivalent
:
@"?"
];
104
[
menuItem
setTarget
:
NSApp
];
105
}
106
107
}
//Detail
108
}
//MacOSX
109
}
//ROOT
CocoaConstants.h
CocoaUtils.h
MenuLoader.h
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
ROOT::MacOSX::Util::AutoreleasePool
Definition
CocoaUtils.h:168
ROOT::MacOSX::Util::NSScopeGuard
Definition
CocoaUtils.h:118
ROOT::MacOSX::Details
Definition
TMacOSXSystem.h:30
ROOT::MacOSX::Details::PopulateMainMenu
void PopulateMainMenu()
Definition
MenuLoader.mm:22
ROOT::MacOSX::Details::kCommandKeyMask
const NSUInteger kCommandKeyMask
Definition
CocoaConstants.mm:38
ROOT::MacOSX::Details::PopulateApplicationMenu
void PopulateApplicationMenu(NSMenu *submenu)
Definition
MenuLoader.mm:56
ROOT::MacOSX::Details::kAlternateKeyMask
const NSUInteger kAlternateKeyMask
Definition
CocoaConstants.mm:37
ROOT::MacOSX::Details::PopulateHelpMenu
void PopulateHelpMenu(NSMenu *submenu)
Definition
MenuLoader.mm:100
ROOT::MacOSX::Details::PopulateWindowMenu
void PopulateWindowMenu(NSMenu *submenu)
Definition
MenuLoader.mm:88
ROOT
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
Definition
EExecutionPolicy.hxx:4
graf2d
cocoa
src
MenuLoader.mm
ROOT v6-32 - Reference Guide Generated on Wed Feb 19 2025 14:18:43 (GVA Time) using Doxygen 1.10.0