You've already forked lazarus-ccr
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@487 8e941d3f-bd1b-0410-a28a-d453659cc2b4
634 lines
23 KiB
PHP
634 lines
23 KiB
PHP
{%mainunit appkit.pas}
|
|
(*
|
|
NSMenu.h
|
|
Application Kit
|
|
Copyright (c) 1996-2005, Apple Computer, Inc.
|
|
All rights reserved.
|
|
*)
|
|
|
|
{$ifdef HEADER}
|
|
{$ifndef NSMENU_PAS_H}
|
|
{$define NSMENU_PAS_H}
|
|
|
|
{$include AppKitDefines.inc}
|
|
{$include NSMenuItem.inc}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
{.$endif}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
{.$endif}
|
|
|
|
//APPKIT_EXTERN NSString *NSMenuWillSendActionNotification;
|
|
//APPKIT_EXTERN NSString *NSMenuDidSendActionNotification;
|
|
//APPKIT_EXTERN NSString *NSMenuDidAddItemNotification;
|
|
//APPKIT_EXTERN NSString *NSMenuDidRemoveItemNotification;
|
|
//APPKIT_EXTERN NSString *NSMenuDidChangeItemNotification;
|
|
//APPKIT_EXTERN NSString *NSMenuDidEndTrackingNotification AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER;
|
|
{$endif}
|
|
{$endif}
|
|
|
|
{$ifdef FORWARD}
|
|
NSMenu = class;
|
|
|
|
{$endif}
|
|
|
|
{$ifdef CLASSES}
|
|
{$ifndef NSMENU_PAS_C}
|
|
{$define NSMENU_PAS_C}
|
|
|
|
{$include AppKitDefines.inc}
|
|
{$include NSMenuItem.inc}
|
|
|
|
{ NSMenu }
|
|
|
|
NSMenu = class(NSObject)
|
|
public
|
|
class function getClass: objc.id; override;
|
|
// All instance variables are private
|
|
class procedure setMenuZone(_aZone: NSZone);
|
|
class function menuZone: NSZone;
|
|
class procedure popUpContextMenu_withEvent_forView(_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView});
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
class procedure popUpContextMenu_withEvent_forView_withFont(_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView}; _font: objc.id {NSFont});
|
|
{.$endif}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
|
|
class procedure setMenuBarVisible(_visible: LongBool);
|
|
class function menuBarVisible: LongBool;
|
|
{.$endif}
|
|
constructor initWithTitle(_aTitle: CFStringRef);
|
|
procedure setTitle(_aString: CFStringRef);
|
|
function title: CFStringRef;
|
|
procedure setSupermenu(_supermenu: objc.id {NSMenu});
|
|
function supermenu: objc.id;{NSMenu}
|
|
// Never call the set method directly it is there only for subclassers.
|
|
procedure insertItem_atIndex(_newItem: objc.id; __index: Integer);
|
|
procedure addItem(_newItem: objc.id);
|
|
function insertItemWithTitle_action_keyEquivalent_atIndex(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef; __index: Integer): objc.id;
|
|
function addItemWithTitle_action_keyEquivalent(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef): objc.id;
|
|
procedure removeItemAtIndex(__index: Integer);
|
|
procedure removeItem(_item: objc.id);
|
|
procedure setSubmenu_forItem(_aMenu: objc.id {NSMenu}; _anItem: objc.id);
|
|
function itemArray: CFArrayRef;
|
|
function numberOfItems: Integer;
|
|
function indexOfItem(__index: objc.id): Integer;
|
|
function indexOfItemWithTitle(_aTitle: CFStringRef): Integer;
|
|
function indexOfItemWithTag(_aTag: Integer): Integer;
|
|
function indexOfItemWithRepresentedObject(__object: objc.id): Integer;
|
|
function indexOfItemWithSubmenu(_submenu: objc.id {NSMenu}): Integer;
|
|
function indexOfItemWithTarget_andAction(_target: objc.id; _actionSelector: SEL): Integer;
|
|
function itemAtIndex(__index: Integer): objc.id;
|
|
function itemWithTitle(_aTitle: CFStringRef): objc.id;
|
|
function itemWithTag(_tag: Integer): objc.id;
|
|
procedure setAutoenablesItems(_flag: LongBool);
|
|
function autoenablesItems: LongBool;
|
|
function performKeyEquivalent(_theEvent: objc.id {NSEvent}): LongBool;
|
|
procedure update;
|
|
procedure setMenuChangedMessagesEnabled(_flag: LongBool);
|
|
function menuChangedMessagesEnabled: LongBool;
|
|
procedure itemChanged(_item: objc.id);
|
|
procedure helpRequested(_eventPtr: objc.id {NSEvent});
|
|
procedure setMenuRepresentation(_menuRep: objc.id);
|
|
function menuRepresentation: objc.id;
|
|
procedure setContextMenuRepresentation(_menuRep: objc.id);
|
|
function contextMenuRepresentation: objc.id;
|
|
procedure setTearOffMenuRepresentation(_menuRep: objc.id);
|
|
function tearOffMenuRepresentation: objc.id;
|
|
function isTornOff: LongBool;
|
|
// These methods are platform specific. They really make little sense on Windows.
|
|
// Their use is discouraged.
|
|
function attachedMenu: objc.id;{NSMenu}
|
|
function isAttached: LongBool;
|
|
procedure sizeToFit;
|
|
function locationForSubmenu(_aSubmenu: objc.id {NSMenu}): NSPoint;
|
|
procedure performActionForItemAtIndex(__index: Integer);
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
procedure setDelegate(_anObject: objc.id);
|
|
function delegate: objc.id;
|
|
{.$endif}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4}
|
|
function menuBarHeight: Single;
|
|
{.$endif}
|
|
procedure submenuAction(_sender: objc.id);
|
|
end;
|
|
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
{.$endif}
|
|
{$endif}
|
|
{$endif}
|
|
|
|
{$ifdef IMPLEMENTATION}
|
|
const
|
|
StrNSMenu_NSMenu = 'NSMenu';
|
|
StrNSMenu_setMenuZone = 'setMenuZone:';
|
|
StrNSMenu_menuZone = 'menuZone';
|
|
StrNSMenu_popUpContextMenu_withEvent_forView = 'popUpContextMenu:withEvent:forView:';
|
|
StrNSMenu_popUpContextMenu_withEvent_forView_withFont = 'popUpContextMenu:withEvent:forView:withFont:';
|
|
StrNSMenu_setMenuBarVisible = 'setMenuBarVisible:';
|
|
StrNSMenu_menuBarVisible = 'menuBarVisible';
|
|
StrNSMenu_initWithTitle = 'initWithTitle:';
|
|
StrNSMenu_setTitle = 'setTitle:';
|
|
StrNSMenu_title = 'title';
|
|
StrNSMenu_setSupermenu = 'setSupermenu:';
|
|
StrNSMenu_supermenu = 'supermenu';
|
|
StrNSMenu_insertItem_atIndex = 'insertItem:atIndex:';
|
|
StrNSMenu_addItem = 'addItem:';
|
|
StrNSMenu_insertItemWithTitle_action_keyEquivalent_atIndex = 'insertItemWithTitle:action:keyEquivalent:atIndex:';
|
|
StrNSMenu_addItemWithTitle_action_keyEquivalent = 'addItemWithTitle:action:keyEquivalent:';
|
|
StrNSMenu_removeItemAtIndex = 'removeItemAtIndex:';
|
|
StrNSMenu_removeItem = 'removeItem:';
|
|
StrNSMenu_setSubmenu_forItem = 'setSubmenu:forItem:';
|
|
StrNSMenu_itemArray = 'itemArray';
|
|
StrNSMenu_numberOfItems = 'numberOfItems';
|
|
StrNSMenu_indexOfItem = 'indexOfItem:';
|
|
StrNSMenu_indexOfItemWithTitle = 'indexOfItemWithTitle:';
|
|
StrNSMenu_indexOfItemWithTag = 'indexOfItemWithTag:';
|
|
StrNSMenu_indexOfItemWithRepresentedObject = 'indexOfItemWithRepresentedObject:';
|
|
StrNSMenu_indexOfItemWithSubmenu = 'indexOfItemWithSubmenu:';
|
|
StrNSMenu_indexOfItemWithTarget_andAction = 'indexOfItemWithTarget:andAction:';
|
|
StrNSMenu_itemAtIndex = 'itemAtIndex:';
|
|
StrNSMenu_itemWithTitle = 'itemWithTitle:';
|
|
StrNSMenu_itemWithTag = 'itemWithTag:';
|
|
StrNSMenu_setAutoenablesItems = 'setAutoenablesItems:';
|
|
StrNSMenu_autoenablesItems = 'autoenablesItems';
|
|
StrNSMenu_performKeyEquivalent = 'performKeyEquivalent:';
|
|
StrNSMenu_update = 'update';
|
|
StrNSMenu_setMenuChangedMessagesEnabled = 'setMenuChangedMessagesEnabled:';
|
|
StrNSMenu_menuChangedMessagesEnabled = 'menuChangedMessagesEnabled';
|
|
StrNSMenu_itemChanged = 'itemChanged:';
|
|
StrNSMenu_helpRequested = 'helpRequested:';
|
|
StrNSMenu_setMenuRepresentation = 'setMenuRepresentation:';
|
|
StrNSMenu_menuRepresentation = 'menuRepresentation';
|
|
StrNSMenu_setContextMenuRepresentation = 'setContextMenuRepresentation:';
|
|
StrNSMenu_contextMenuRepresentation = 'contextMenuRepresentation';
|
|
StrNSMenu_setTearOffMenuRepresentation = 'setTearOffMenuRepresentation:';
|
|
StrNSMenu_tearOffMenuRepresentation = 'tearOffMenuRepresentation';
|
|
StrNSMenu_isTornOff = 'isTornOff';
|
|
StrNSMenu_attachedMenu = 'attachedMenu';
|
|
StrNSMenu_isAttached = 'isAttached';
|
|
StrNSMenu_sizeToFit = 'sizeToFit';
|
|
StrNSMenu_locationForSubmenu = 'locationForSubmenu:';
|
|
StrNSMenu_performActionForItemAtIndex = 'performActionForItemAtIndex:';
|
|
StrNSMenu_setDelegate = 'setDelegate:';
|
|
StrNSMenu_delegate = 'delegate';
|
|
StrNSMenu_menuBarHeight = 'menuBarHeight';
|
|
|
|
StrNSMenu_submenuAction = 'submenuAction:';
|
|
|
|
{ NSMenu }
|
|
|
|
class function NSMenu.getClass: objc.id;
|
|
begin
|
|
Result := objc_getClass(StrNSMenu_NSMenu);
|
|
end;
|
|
|
|
class procedure NSMenu.setMenuZone(_aZone: NSZone);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aZone: NSZone); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(getClass, sel_registerName(PChar(StrNSMenu_setMenuZone)), _aZone);
|
|
end;
|
|
|
|
class function NSMenu.menuZone: NSZone;
|
|
begin
|
|
Result := NSZone(objc_msgSend(getClass, sel_registerName(PChar(StrNSMenu_menuZone)), []));
|
|
end;
|
|
|
|
class procedure NSMenu.popUpContextMenu_withEvent_forView(_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView});
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView}); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(getClass, sel_registerName(PChar(StrNSMenu_popUpContextMenu_withEvent_forView)), _menu, _event, _view);
|
|
end;
|
|
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
class procedure NSMenu.popUpContextMenu_withEvent_forView_withFont(_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView}; _font: objc.id {NSFont});
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menu: objc.id {NSMenu}; _event: objc.id {NSEvent}; _view: objc.id {NSView}; _font: objc.id {NSFont}); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(getClass, sel_registerName(PChar(StrNSMenu_popUpContextMenu_withEvent_forView_withFont)), _menu, _event, _view, _font);
|
|
end;
|
|
|
|
{.$endif}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
|
|
class procedure NSMenu.setMenuBarVisible(_visible: LongBool);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_visible: LongBool); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(getClass, sel_registerName(PChar(StrNSMenu_setMenuBarVisible)), _visible);
|
|
end;
|
|
|
|
class function NSMenu.menuBarVisible: LongBool;
|
|
begin
|
|
Result := LongBool(objc_msgSend(getClass, sel_registerName(PChar(StrNSMenu_menuBarVisible)), []));
|
|
end;
|
|
|
|
{.$endif}
|
|
constructor NSMenu.initWithTitle(_aTitle: CFStringRef);
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aTitle: CFStringRef): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
ClassID := getClass();
|
|
allocbuf := objc_msgSend(ClassID, sel_registerName(PChar(Str_alloc)), []);
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Handle := vmethod(allocbuf, sel_registerName(PChar(StrNSMenu_initWithTitle)), _aTitle);
|
|
end;
|
|
|
|
procedure NSMenu.setTitle(_aString: CFStringRef);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aString: CFStringRef); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setTitle)), _aString);
|
|
end;
|
|
|
|
function NSMenu.title: CFStringRef;
|
|
begin
|
|
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_title)), []));
|
|
end;
|
|
|
|
procedure NSMenu.setSupermenu(_supermenu: objc.id {NSMenu});
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_supermenu: objc.id {NSMenu}); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setSupermenu)), _supermenu);
|
|
end;
|
|
|
|
function NSMenu.supermenu: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_supermenu)), []));
|
|
end;
|
|
|
|
procedure NSMenu.insertItem_atIndex(_newItem: objc.id; __index: Integer);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_newItem: objc.id; __index: Integer); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_insertItem_atIndex)), _newItem, __index);
|
|
end;
|
|
|
|
procedure NSMenu.addItem(_newItem: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_newItem: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_addItem)), _newItem);
|
|
end;
|
|
|
|
function NSMenu.insertItemWithTitle_action_keyEquivalent_atIndex(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef; __index: Integer): objc.id;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef; __index: Integer): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := objc.id(vmethod(Handle, sel_registerName(PChar(StrNSMenu_insertItemWithTitle_action_keyEquivalent_atIndex)), _aString, _aSelector, _charCode, __index));
|
|
end;
|
|
|
|
function NSMenu.addItemWithTitle_action_keyEquivalent(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef): objc.id;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := objc.id(vmethod(Handle, sel_registerName(PChar(StrNSMenu_addItemWithTitle_action_keyEquivalent)), _aString, _aSelector, _charCode));
|
|
end;
|
|
|
|
procedure NSMenu.removeItemAtIndex(__index: Integer);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;__index: Integer); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_removeItemAtIndex)), __index);
|
|
end;
|
|
|
|
procedure NSMenu.removeItem(_item: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_item: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_removeItem)), _item);
|
|
end;
|
|
|
|
procedure NSMenu.setSubmenu_forItem(_aMenu: objc.id {NSMenu}; _anItem: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aMenu: objc.id {NSMenu}; _anItem: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setSubmenu_forItem)), _aMenu, _anItem);
|
|
end;
|
|
|
|
function NSMenu.itemArray: CFArrayRef;
|
|
begin
|
|
Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_itemArray)), []));
|
|
end;
|
|
|
|
function NSMenu.numberOfItems: Integer;
|
|
begin
|
|
Result := Integer(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_numberOfItems)), []));
|
|
end;
|
|
|
|
function NSMenu.indexOfItem(__index: objc.id): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;__index: objc.id): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItem)), __index));
|
|
end;
|
|
|
|
function NSMenu.indexOfItemWithTitle(_aTitle: CFStringRef): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aTitle: CFStringRef): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItemWithTitle)), _aTitle));
|
|
end;
|
|
|
|
function NSMenu.indexOfItemWithTag(_aTag: Integer): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aTag: Integer): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItemWithTag)), _aTag));
|
|
end;
|
|
|
|
function NSMenu.indexOfItemWithRepresentedObject(__object: objc.id): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;__object: objc.id): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItemWithRepresentedObject)), __object));
|
|
end;
|
|
|
|
function NSMenu.indexOfItemWithSubmenu(_submenu: objc.id {NSMenu}): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_submenu: objc.id {NSMenu}): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItemWithSubmenu)), _submenu));
|
|
end;
|
|
|
|
function NSMenu.indexOfItemWithTarget_andAction(_target: objc.id; _actionSelector: SEL): Integer;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_target: objc.id; _actionSelector: SEL): Integer; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := Integer(vmethod(Handle, sel_registerName(PChar(StrNSMenu_indexOfItemWithTarget_andAction)), _target, _actionSelector));
|
|
end;
|
|
|
|
function NSMenu.itemAtIndex(__index: Integer): objc.id;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;__index: Integer): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := objc.id(vmethod(Handle, sel_registerName(PChar(StrNSMenu_itemAtIndex)), __index));
|
|
end;
|
|
|
|
function NSMenu.itemWithTitle(_aTitle: CFStringRef): objc.id;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aTitle: CFStringRef): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := objc.id(vmethod(Handle, sel_registerName(PChar(StrNSMenu_itemWithTitle)), _aTitle));
|
|
end;
|
|
|
|
function NSMenu.itemWithTag(_tag: Integer): objc.id;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_tag: Integer): objc.id; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := objc.id(vmethod(Handle, sel_registerName(PChar(StrNSMenu_itemWithTag)), _tag));
|
|
end;
|
|
|
|
procedure NSMenu.setAutoenablesItems(_flag: LongBool);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_flag: LongBool); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setAutoenablesItems)), _flag);
|
|
end;
|
|
|
|
function NSMenu.autoenablesItems: LongBool;
|
|
begin
|
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_autoenablesItems)), []));
|
|
end;
|
|
|
|
function NSMenu.performKeyEquivalent(_theEvent: objc.id {NSEvent}): LongBool;
|
|
type
|
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_theEvent: objc.id {NSEvent}): LongBool; cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
Result := LongBool(vmethod(Handle, sel_registerName(PChar(StrNSMenu_performKeyEquivalent)), _theEvent));
|
|
end;
|
|
|
|
procedure NSMenu.update;
|
|
begin
|
|
objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_update)), []);
|
|
end;
|
|
|
|
procedure NSMenu.setMenuChangedMessagesEnabled(_flag: LongBool);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_flag: LongBool); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setMenuChangedMessagesEnabled)), _flag);
|
|
end;
|
|
|
|
function NSMenu.menuChangedMessagesEnabled: LongBool;
|
|
begin
|
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_menuChangedMessagesEnabled)), []));
|
|
end;
|
|
|
|
procedure NSMenu.itemChanged(_item: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_item: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_itemChanged)), _item);
|
|
end;
|
|
|
|
procedure NSMenu.helpRequested(_eventPtr: objc.id {NSEvent});
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_eventPtr: objc.id {NSEvent}); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_helpRequested)), _eventPtr);
|
|
end;
|
|
|
|
procedure NSMenu.setMenuRepresentation(_menuRep: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menuRep: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setMenuRepresentation)), _menuRep);
|
|
end;
|
|
|
|
function NSMenu.menuRepresentation: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_menuRepresentation)), []));
|
|
end;
|
|
|
|
procedure NSMenu.setContextMenuRepresentation(_menuRep: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menuRep: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setContextMenuRepresentation)), _menuRep);
|
|
end;
|
|
|
|
function NSMenu.contextMenuRepresentation: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_contextMenuRepresentation)), []));
|
|
end;
|
|
|
|
procedure NSMenu.setTearOffMenuRepresentation(_menuRep: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menuRep: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setTearOffMenuRepresentation)), _menuRep);
|
|
end;
|
|
|
|
function NSMenu.tearOffMenuRepresentation: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_tearOffMenuRepresentation)), []));
|
|
end;
|
|
|
|
function NSMenu.isTornOff: LongBool;
|
|
begin
|
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_isTornOff)), []));
|
|
end;
|
|
|
|
function NSMenu.attachedMenu: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_attachedMenu)), []));
|
|
end;
|
|
|
|
function NSMenu.isAttached: LongBool;
|
|
begin
|
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_isAttached)), []));
|
|
end;
|
|
|
|
procedure NSMenu.sizeToFit;
|
|
begin
|
|
objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_sizeToFit)), []);
|
|
end;
|
|
|
|
function NSMenu.locationForSubmenu(_aSubmenu: objc.id {NSMenu}): NSPoint;
|
|
type
|
|
TmsgSendWrapper = procedure (result_param: Pointer; param1: objc.id; param2: SEL;_aSubmenu: objc.id {NSMenu}); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend_fpret);
|
|
vmethod(@Result, Handle, sel_registerName(PChar(StrNSMenu_locationForSubmenu)), _aSubmenu);
|
|
end;
|
|
|
|
procedure NSMenu.performActionForItemAtIndex(__index: Integer);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;__index: Integer); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_performActionForItemAtIndex)), __index);
|
|
end;
|
|
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
|
procedure NSMenu.setDelegate(_anObject: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_anObject: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_setDelegate)), _anObject);
|
|
end;
|
|
|
|
function NSMenu.delegate: objc.id;
|
|
begin
|
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_delegate)), []));
|
|
end;
|
|
|
|
{.$endif}
|
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4}
|
|
function NSMenu.menuBarHeight: Single;
|
|
begin
|
|
Result := Single(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenu_menuBarHeight)), []));
|
|
end;
|
|
|
|
{.$endif}
|
|
procedure NSMenu.submenuAction(_sender: objc.id);
|
|
type
|
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_sender: objc.id); cdecl;
|
|
var
|
|
vmethod: TmsgSendWrapper;
|
|
begin
|
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
|
vmethod(Handle, sel_registerName(PChar(StrNSMenu_submenuAction)), _sender);
|
|
end;
|
|
|
|
{$endif}
|