blob: 80d131b46cfe4611514c86a39ce4dba1a16b4270 (
plain)
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
{ Parsed from Appkit.framework NSMenu.h }
{$ifdef TYPES}
{$ifndef NSMENU_PAS_T}
{$define NSMENU_PAS_T}
{ Constants }
const
NSMenuPropertyItemTitle = 1 shl 0;
NSMenuPropertyItemAttributedTitle = 1 shl 1;
NSMenuPropertyItemKeyEquivalent = 1 shl 2;
NSMenuPropertyItemImage = 1 shl 3;
NSMenuPropertyItemEnabled = 1 shl 4;
NSMenuPropertyItemAccessibilityDescription = 1 shl 5;
{ Types }
type
NSMenuProperties = NSUInteger;
NSMenuPropertiesPtr = ^NSMenuProperties;
{$endif}
{$endif}
{$ifdef RECORDS}
{$ifndef NSMENU_PAS_R}
{$define NSMENU_PAS_R}
{$endif}
{$endif}
{$ifdef FUNCTIONS}
{$ifndef NSMENU_PAS_F}
{$define NSMENU_PAS_F}
{$endif}
{$endif}
{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSMENU_PAS_S}
{$define NSMENU_PAS_S}
{ External string constants }
var
NSMenuWillSendActionNotification: NSString; cvar; external;
NSMenuDidSendActionNotification: NSString; cvar; external;
NSMenuDidAddItemNotification: NSString; cvar; external;
NSMenuDidRemoveItemNotification: NSString; cvar; external;
NSMenuDidChangeItemNotification: NSString; cvar; external;
NSMenuDidBeginTrackingNotification: NSString; cvar; external;
NSMenuDidEndTrackingNotification: NSString; cvar; external;
{$endif}
{$endif}
{$ifdef FORWARD}
NSMenuDelegateProtocol = objcprotocol;
NSMenu = objcclass;
NSMenuPointer = ^NSMenu;
NSMenuPtr = NSMenuPointer;
{$endif}
{$ifdef CLASSES}
{$ifndef NSMENU_PAS_C}
{$define NSMENU_PAS_C}
{ NSMenu }
NSMenu = objcclass external (NSObject, NSCopyingProtocol, NSCodingProtocol)
private
_supermenu: NSMenu;
_title: NSString;
_itemArray: id;
_extra: id;
__mFlags: record
case byte of
0: (_anonbitfield_NSMenu0: cuint);
1: (data: bitpacked record
noAutoenable: 0..1;
inMain: 0..1;
internalPerformAction: 0..1;
condenseSeparators: 0..1;
disabled: 0..1;
ownedByPopUp: 0..1;
delegateNeedsUpdate: 0..1;
delegateUpdateItem: 0..1;
delegateHasKeyEquiv: 0..1;
delegateHasAltKeyEquiv: 0..1;
excludeMarkColumn: 0..1;
isContextualMenu: 0..1;
cmPluginMode: 0..((1 shl 2)-1);
invertedCMPluginTypes: 0..((1 shl 2)-1);
allowsDifferentSelection: 0..1;
RESERVED: 0..((1 shl 15)-1);
end;
);
end;
_name: NSString;
public
function initWithTitle(aTitle: NSString): id; message 'initWithTitle:';
procedure setTitle(aString: NSString); message 'setTitle:';
function title: NSString; message 'title';
class procedure popUpContextMenu_withEvent_forView(menu: NSMenu; event: NSEvent; view: NSView); message 'popUpContextMenu:withEvent:forView:';
class procedure popUpContextMenu_withEvent_forView_withFont(menu: NSMenu; event: NSEvent; view: NSView; font_: NSFont); message 'popUpContextMenu:withEvent:forView:withFont:';
function popUpMenuPositioningItem_atLocation_inView(item: NSMenuItem; location: NSPoint; view: NSView): Boolean; message 'popUpMenuPositioningItem:atLocation:inView:';
class procedure setMenuBarVisible(visible: Boolean); message 'setMenuBarVisible:';
class function menuBarVisible: Boolean; message 'menuBarVisible';
function supermenu: NSMenu; message 'supermenu';
procedure insertItem_atIndex(newItem: NSMenuItem; index: NSInteger); message 'insertItem:atIndex:';
procedure addItem(newItem: NSMenuItem); message 'addItem:';
function insertItemWithTitle_action_keyEquivalent_atIndex(aString: NSString; aSelector: SEL; charCode: NSString; index: NSInteger): NSMenuItem; message 'insertItemWithTitle:action:keyEquivalent:atIndex:';
function addItemWithTitle_action_keyEquivalent(aString: NSString; aSelector: SEL; charCode: NSString): NSMenuItem; message 'addItemWithTitle:action:keyEquivalent:';
procedure removeItemAtIndex(index: NSInteger); message 'removeItemAtIndex:';
procedure removeItem(item: NSMenuItem); message 'removeItem:';
procedure setSubmenu_forItem(aMenu: NSMenu; anItem: NSMenuItem); message 'setSubmenu:forItem:';
procedure removeAllItems; message 'removeAllItems';
function itemArray: NSArray; message 'itemArray';
function numberOfItems: NSInteger; message 'numberOfItems';
function indexOfItem(index: NSMenuItem): NSInteger; message 'indexOfItem:';
function indexOfItemWithTitle(aTitle: NSString): NSInteger; message 'indexOfItemWithTitle:';
function indexOfItemWithTag(aTag: NSInteger): NSInteger; message 'indexOfItemWithTag:';
function indexOfItemWithRepresentedObject(object_: id): NSInteger; message 'indexOfItemWithRepresentedObject:';
function indexOfItemWithSubmenu(submenu: NSMenu): NSInteger; message 'indexOfItemWithSubmenu:';
function indexOfItemWithTarget_andAction(target: id; actionSelector: SEL): NSInteger; message 'indexOfItemWithTarget:andAction:';
function itemWithTitle(aTitle: NSString): NSMenuItem; message 'itemWithTitle:';
function itemWithTag(tag: NSInteger): NSMenuItem; message 'itemWithTag:';
procedure setAutoenablesItems(flag: Boolean); message 'setAutoenablesItems:';
function autoenablesItems: Boolean; message 'autoenablesItems';
procedure update; message 'update';
function performKeyEquivalent(theEvent: NSEvent): Boolean; message 'performKeyEquivalent:';
procedure itemChanged(item: NSMenuItem); message 'itemChanged:';
procedure performActionForItemAtIndex(index: NSInteger); message 'performActionForItemAtIndex:';
procedure setDelegate(anObject: NSMenuDelegateProtocol); message 'setDelegate:';
function delegate: NSMenuDelegateProtocol; message 'delegate';
function menuBarHeight: CGFloat; message 'menuBarHeight';
procedure cancelTracking; message 'cancelTracking';
procedure cancelTrackingWithoutAnimation; message 'cancelTrackingWithoutAnimation';
function highlightedItem: NSMenuItem; message 'highlightedItem';
function minimumWidth: CGFloat; message 'minimumWidth';
procedure setMinimumWidth(width: CGFloat); message 'setMinimumWidth:';
function size: NSSize; message 'size';
function font: NSFont; message 'font';
procedure setFont(font_: NSFont); message 'setFont:';
function allowsContextMenuPlugIns: Boolean; message 'allowsContextMenuPlugIns';
procedure setAllowsContextMenuPlugIns(allows: Boolean); message 'setAllowsContextMenuPlugIns:';
procedure setShowsStateColumn(showsState: Boolean); message 'setShowsStateColumn:';
function showsStateColumn: Boolean; message 'showsStateColumn';
class function menuZone: NSZonePtr; message 'menuZone';
procedure setMenuChangedMessagesEnabled(flag: Boolean); message 'setMenuChangedMessagesEnabled:';
function menuChangedMessagesEnabled: Boolean; message 'menuChangedMessagesEnabled';
procedure helpRequested(eventPtr: NSEvent); message 'helpRequested:';
function isTornOff: Boolean; message 'isTornOff';
{ Adopted Protocols }
function copyWithZone(zone_: NSZonePtr): id;
procedure encodeWithCoder(aCoder: NSCoder);
function initWithCoder(aDecoder: NSCoder): id;
end;
{ NSSubmenuActionCategory }
NSSubmenuActionCategory = objccategory external (NSMenu)
procedure submenuAction(sender: id); message 'submenuAction:';
end;
{ NSMenuValidationCategory }
NSMenuValidationCategory = objccategory external (NSObject)
function validateMenuItem(menuItem: NSMenuItem): Boolean; message 'validateMenuItem:';
end;
{ NSMenuPropertiesToUpdateCategory }
NSMenuPropertiesToUpdateCategory = objccategory external (NSMenu)
function propertiesToUpdate: NSMenuProperties; message 'propertiesToUpdate';
end;
{ NSDeprecated_NSMenuCategory }
NSDeprecated_NSMenuCategory = objccategory external name 'NSDeprecated' (NSMenu)
procedure setMenuRepresentation(menuRep: id); message 'setMenuRepresentation:'; deprecated 'in Mac OS X 10.2 and later';
function menuRepresentation: id; message 'menuRepresentation'; deprecated 'in Mac OS X 10.2 and later';
procedure setContextMenuRepresentation(menuRep: id); message 'setContextMenuRepresentation:'; deprecated 'in Mac OS X 10.2 and later';
function contextMenuRepresentation: id; message 'contextMenuRepresentation'; deprecated 'in Mac OS X 10.2 and later';
procedure setTearOffMenuRepresentation(menuRep: id); message 'setTearOffMenuRepresentation:'; deprecated 'in Mac OS X 10.2 and later';
function tearOffMenuRepresentation: id; message 'tearOffMenuRepresentation'; deprecated 'in Mac OS X 10.2 and later';
class procedure setMenuZone(aZone: NSZonePtr); message 'setMenuZone:'; deprecated 'in Mac OS X 10.2 and later';
function attachedMenu: NSMenu; message 'attachedMenu'; deprecated 'in Mac OS X 10.2 and later';
function isAttached: Boolean; message 'isAttached'; deprecated 'in Mac OS X 10.2 and later';
procedure sizeToFit; message 'sizeToFit'; deprecated 'in Mac OS X 10.2 and later';
function locationForSubmenu(aSubmenu: NSMenu): NSPoint; message 'locationForSubmenu:'; deprecated 'in Mac OS X 10.2 and later';
end;
{$endif}
{$endif}
{$ifdef PROTOCOLS}
{$ifndef NSMENU_PAS_P}
{$define NSMENU_PAS_P}
{ NSMenuDelegate Protocol }
NSMenuDelegateProtocol = objcprotocol external name 'NSMenuDelegate'
optional
procedure menuNeedsUpdate(menu: NSMenu); message 'menuNeedsUpdate:';
function numberOfItemsInMenu(menu: NSMenu): NSInteger; message 'numberOfItemsInMenu:';
function menu_updateItem_atIndex_shouldCancel(menu: NSMenu; item: NSMenuItem; index: NSInteger; shouldCancel: Boolean): Boolean; message 'menu:updateItem:atIndex:shouldCancel:';
function menuHasKeyEquivalent_forEvent_target_action(menu: NSMenu; event: NSEvent; target: idPtr; action: SELPtr): Boolean; message 'menuHasKeyEquivalent:forEvent:target:action:';
procedure menuWillOpen(menu: NSMenu); message 'menuWillOpen:';
procedure menuDidClose(menu: NSMenu); message 'menuDidClose:';
procedure menu_willHighlightItem(menu: NSMenu; item: NSMenuItem); message 'menu:willHighlightItem:';
function confinementRectForMenu_onScreen(menu: NSMenu; screen: NSScreen): NSRect; message 'confinementRectForMenu:onScreen:';
end;
{$endif}
{$endif}
|