Improves Cocoa bindings

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@459 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2008-06-06 02:01:12 +00:00
parent 8562b56ece
commit 997a9ff8c0
7 changed files with 1351 additions and 60 deletions

View File

@ -27,10 +27,10 @@
#import <AppKit/NSFontPanel.h> #import <AppKit/NSFontPanel.h>
#import <AppKit/NSForm.h> #import <AppKit/NSForm.h>
#import <AppKit/NSFormCell.h> #import <AppKit/NSFormCell.h>
#import <AppKit/NSMatrix.h> #import <AppKit/NSMatrix.h>}
#import <AppKit/NSMenu.h> {$include NSMenu.inc}
#import <AppKit/NSMenuItem.h> {$include NSMenuItem.inc}
#import <AppKit/NSColor.h> {#import <AppKit/NSColor.h>
#import <AppKit/NSColorSpace.h>} #import <AppKit/NSColorSpace.h>}
{$include NSBitmapImageRep.inc} {$include NSBitmapImageRep.inc}
{#import <AppKit/NSBrowser.h> {#import <AppKit/NSBrowser.h>

View File

@ -0,0 +1,635 @@
{%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}
{$ifndef NSMENU_PAS__FORWARD}
{$define NSMENU_PAS__FORWARD}
NSMenu = class;
{$endif}
{$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}

View File

@ -0,0 +1,607 @@
{%mainunit appkit.pas}
(*
NSMenuItem.h
Application Kit
Copyright (c) 1996-2005, Apple Computer, Inc.
All rights reserved.
*)
{$ifdef HEADER}
{$ifndef NSMENUITEM_PAS_H}
{$define NSMENUITEM_PAS_H}
{$include AppKitDefines.inc}
{.$include NSUserInterfaceValidation.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}
{.$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}
{.$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}
//@protocol NSMenuItem <NSObject, NSCopying, NSCoding, NSValidatedUserInterfaceItem>
//+ (void)setUsesUserKeyEquivalents:(BOOL)flag;
//+ (BOOL)usesUserKeyEquivalents;
//+ (id <NSMenuItem>)separatorItem;
//- (id)initWithTitle:(NSString *)aString action:(SEL)aSelector keyEquivalent:(NSString *)charCode;
//- (void)setMenu:(NSMenu *)menu;
//- (NSMenu *)menu;
//- (BOOL)hasSubmenu;
//- (void)setSubmenu:(NSMenu *)submenu;
//- (NSMenu *)submenu;
//- (void)setTitle:(NSString *)aString;
//- (NSString *)title;
//- (void)setAttributedTitle:(NSAttributedString*)string;
//- (NSAttributedString*)attributedTitle;
//- (BOOL)isSeparatorItem;
//- (void)setKeyEquivalent:(NSString *)aKeyEquivalent;
//- (NSString *)keyEquivalent;
//- (void)setKeyEquivalentModifierMask:(unsigned int)mask;
//- (unsigned int)keyEquivalentModifierMask;
//- (NSString *)userKeyEquivalent;
//- (unsigned int)userKeyEquivalentModifierMask;
//- (void)setMnemonicLocation:(unsigned)location;
//- (unsigned)mnemonicLocation;
//- (NSString *)mnemonic;
//- (void)setTitleWithMnemonic:(NSString *)stringWithAmpersand;
//- (void)setImage:(NSImage *)menuImage;
//- (NSImage *)image;
//- (void)setState:(int)state;
//- (int)state;
//- (void)setOnStateImage:(NSImage *)image; // checkmark by default
//- (NSImage *)onStateImage;
//- (void)setOffStateImage:(NSImage *)image; // none by default
//- (NSImage *)offStateImage;
//- (void)setMixedStateImage:(NSImage *)image; // horizontal line by default?
//- (NSImage *)mixedStateImage;
//- (void)setEnabled:(BOOL)flag;
//- (BOOL)isEnabled;
//- (void) setAlternate:(BOOL)isAlternate;
//- (BOOL) isAlternate;
//- (void) setIndentationLevel:(int)indentationLevel;
//- (int) indentationLevel;
//- (void)setTarget:(id)anObject;
//- (id)target;
//- (void)setAction:(SEL)aSelector;
//- (SEL)action;
//- (void)setTag:(int)anInt;
//- (int)tag;
//- (void)setRepresentedObject:(id)anObject;
//- (id)representedObject;
//- (void) setToolTip:(NSString*)toolTip;
//- (NSString*) toolTip;
//@end
{$endif}
{$endif}
{$ifdef FORWARD}
{$ifndef NSMENUITEM_PAS__FORWARD}
{$define NSMENUITEM_PAS__FORWARD}
NSMenuItem = class;
{$endif}
{$endif}
{$ifdef CLASSES}
{$ifndef NSMENUITEM_PAS_C}
{$define NSMENUITEM_PAS_C}
{$include AppKitDefines.inc}
{.$include NSUserInterfaceValidation.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}
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
{.$endif}
{ NSMenuItem }
NSMenuItem = class(NSObject)
public
class function getClass: objc.id; override;
// All instance variables are private
class procedure setUsesUserKeyEquivalents(_flag: LongBool);
class function usesUserKeyEquivalents: LongBool;
constructor separatorItem;
constructor initWithTitle_action_keyEquivalent(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef);
procedure setMenu(_menu: objc.id {NSMenu});
function menu: objc.id;{NSMenu}
// Never call the set method directly it is there only for subclassers.
function hasSubmenu: LongBool;
procedure setSubmenu(_submenu: objc.id {NSMenu});
function submenu: objc.id;{NSMenu}
procedure setTitle(_aString: CFStringRef);
function title: CFStringRef;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure setAttributedTitle(__string: objc.id {NSAttributedString});
function attributedTitle: objc.id;{NSAttributedString}
{.$endif}
function isSeparatorItem: LongBool;
procedure setKeyEquivalent(_aKeyEquivalent: CFStringRef);
function keyEquivalent: CFStringRef;
procedure setKeyEquivalentModifierMask(_mask: LongWord);
function keyEquivalentModifierMask: LongWord;
function userKeyEquivalent: CFStringRef;
procedure setMnemonicLocation(_location: LongWord);
function mnemonicLocation: LongWord;
function mnemonic: CFStringRef;
procedure setTitleWithMnemonic(_stringWithAmpersand: CFStringRef);
procedure setImage(_menuImage: objc.id {NSImage});
function image: objc.id;{NSImage}
procedure setState(_state: Integer);
function state: Integer;
procedure setOnStateImage(_image: objc.id {NSImage});
// checkmark by default
function onStateImage: objc.id;{NSImage}
procedure setOffStateImage(_image: objc.id {NSImage});
// none by default
function offStateImage: objc.id;{NSImage}
procedure setMixedStateImage(_image: objc.id {NSImage});
// horizontal line by default?
function mixedStateImage: objc.id;{NSImage}
procedure setEnabled(_flag: LongBool);
function isEnabled: LongBool;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure setAlternate(_isAlternate: LongBool);
function isAlternate: LongBool;
procedure setIndentationLevel(_indentationLevel: Integer);
function indentationLevel: Integer;
{.$endif}
procedure setTarget(_anObject: objc.id);
function target: objc.id;
procedure setAction(_aSelector: SEL);
function action: SEL;
procedure setTag(_anInt: Integer);
function tag: Integer;
procedure setRepresentedObject(_anObject: objc.id);
function representedObject: objc.id;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure setToolTip(_toolTip: CFStringRef);
function toolTip: CFStringRef;
{.$endif}
end;
{$endif}
{$endif}
{$ifdef IMPLEMENTATION}
const
StrNSMenuItem_NSMenuItem = 'NSMenuItem';
StrNSMenuItem_setUsesUserKeyEquivalents = 'setUsesUserKeyEquivalents:';
StrNSMenuItem_usesUserKeyEquivalents = 'usesUserKeyEquivalents';
StrNSMenuItem_separatorItem = 'separatorItem';
StrNSMenuItem_initWithTitle_action_keyEquivalent = 'initWithTitle:action:keyEquivalent:';
StrNSMenuItem_setMenu = 'setMenu:';
StrNSMenuItem_menu = 'menu';
StrNSMenuItem_hasSubmenu = 'hasSubmenu';
StrNSMenuItem_setSubmenu = 'setSubmenu:';
StrNSMenuItem_submenu = 'submenu';
StrNSMenuItem_setTitle = 'setTitle:';
StrNSMenuItem_title = 'title';
StrNSMenuItem_setAttributedTitle = 'setAttributedTitle:';
StrNSMenuItem_attributedTitle = 'attributedTitle';
StrNSMenuItem_isSeparatorItem = 'isSeparatorItem';
StrNSMenuItem_setKeyEquivalent = 'setKeyEquivalent:';
StrNSMenuItem_keyEquivalent = 'keyEquivalent';
StrNSMenuItem_setKeyEquivalentModifierMask = 'setKeyEquivalentModifierMask:';
StrNSMenuItem_keyEquivalentModifierMask = 'keyEquivalentModifierMask';
StrNSMenuItem_userKeyEquivalent = 'userKeyEquivalent';
StrNSMenuItem_setMnemonicLocation = 'setMnemonicLocation:';
StrNSMenuItem_mnemonicLocation = 'mnemonicLocation';
StrNSMenuItem_mnemonic = 'mnemonic';
StrNSMenuItem_setTitleWithMnemonic = 'setTitleWithMnemonic:';
StrNSMenuItem_setImage = 'setImage:';
StrNSMenuItem_image = 'image';
StrNSMenuItem_setState = 'setState:';
StrNSMenuItem_state = 'state';
StrNSMenuItem_setOnStateImage = 'setOnStateImage:';
StrNSMenuItem_onStateImage = 'onStateImage';
StrNSMenuItem_setOffStateImage = 'setOffStateImage:';
StrNSMenuItem_offStateImage = 'offStateImage';
StrNSMenuItem_setMixedStateImage = 'setMixedStateImage:';
StrNSMenuItem_mixedStateImage = 'mixedStateImage';
StrNSMenuItem_setEnabled = 'setEnabled:';
StrNSMenuItem_isEnabled = 'isEnabled';
StrNSMenuItem_setAlternate = 'setAlternate:';
StrNSMenuItem_isAlternate = 'isAlternate';
StrNSMenuItem_setIndentationLevel = 'setIndentationLevel:';
StrNSMenuItem_indentationLevel = 'indentationLevel';
StrNSMenuItem_setTarget = 'setTarget:';
StrNSMenuItem_target = 'target';
StrNSMenuItem_setAction = 'setAction:';
StrNSMenuItem_action = 'action';
StrNSMenuItem_setTag = 'setTag:';
StrNSMenuItem_tag = 'tag';
StrNSMenuItem_setRepresentedObject = 'setRepresentedObject:';
StrNSMenuItem_representedObject = 'representedObject';
StrNSMenuItem_setToolTip = 'setToolTip:';
StrNSMenuItem_toolTip = 'toolTip';
{ NSMenuItem }
class function NSMenuItem.getClass: objc.id;
begin
Result := objc_getClass(StrNSMenuItem_NSMenuItem);
end;
class procedure NSMenuItem.setUsesUserKeyEquivalents(_flag: LongBool);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_flag: LongBool); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(getClass, sel_registerName(PChar(StrNSMenuItem_setUsesUserKeyEquivalents)), _flag);
end;
class function NSMenuItem.usesUserKeyEquivalents: LongBool;
begin
Result := LongBool(objc_msgSend(getClass, sel_registerName(PChar(StrNSMenuItem_usesUserKeyEquivalents)), []));
end;
constructor NSMenuItem.separatorItem;
type
TmsgSendWrapper = function (param1: objc.id; param2: SEL): objc.id; cdecl;
var
vmethod: TmsgSendWrapper;
begin
ClassID := getClass();
vmethod := TmsgSendWrapper(@objc_msgSend);
Handle := vmethod(ClassID, sel_registerName(PChar(StrNSMenuItem_separatorItem)));
end;
constructor NSMenuItem.initWithTitle_action_keyEquivalent(_aString: CFStringRef; _aSelector: SEL; _charCode: CFStringRef);
type
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_aString: CFStringRef; _aSelector: SEL; _charCode: 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(StrNSMenuItem_initWithTitle_action_keyEquivalent)), _aString, _aSelector, _charCode);
end;
procedure NSMenuItem.setMenu(_menu: objc.id {NSMenu});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menu: objc.id {NSMenu}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setMenu)), _menu);
end;
function NSMenuItem.menu: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_menu)), []));
end;
function NSMenuItem.hasSubmenu: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_hasSubmenu)), []));
end;
procedure NSMenuItem.setSubmenu(_submenu: objc.id {NSMenu});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_submenu: objc.id {NSMenu}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setSubmenu)), _submenu);
end;
function NSMenuItem.submenu: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_submenu)), []));
end;
procedure NSMenuItem.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(StrNSMenuItem_setTitle)), _aString);
end;
function NSMenuItem.title: CFStringRef;
begin
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_title)), []));
end;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure NSMenuItem.setAttributedTitle(__string: objc.id {NSAttributedString});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;__string: objc.id {NSAttributedString}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setAttributedTitle)), __string);
end;
function NSMenuItem.attributedTitle: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_attributedTitle)), []));
end;
{.$endif}
function NSMenuItem.isSeparatorItem: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_isSeparatorItem)), []));
end;
procedure NSMenuItem.setKeyEquivalent(_aKeyEquivalent: CFStringRef);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aKeyEquivalent: CFStringRef); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setKeyEquivalent)), _aKeyEquivalent);
end;
function NSMenuItem.keyEquivalent: CFStringRef;
begin
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_keyEquivalent)), []));
end;
procedure NSMenuItem.setKeyEquivalentModifierMask(_mask: LongWord);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_mask: LongWord); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setKeyEquivalentModifierMask)), _mask);
end;
function NSMenuItem.keyEquivalentModifierMask: LongWord;
begin
Result := LongWord(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_keyEquivalentModifierMask)), []));
end;
function NSMenuItem.userKeyEquivalent: CFStringRef;
begin
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_userKeyEquivalent)), []));
end;
procedure NSMenuItem.setMnemonicLocation(_location: LongWord);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_location: LongWord); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setMnemonicLocation)), _location);
end;
function NSMenuItem.mnemonicLocation: LongWord;
begin
Result := LongWord(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_mnemonicLocation)), []));
end;
function NSMenuItem.mnemonic: CFStringRef;
begin
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_mnemonic)), []));
end;
procedure NSMenuItem.setTitleWithMnemonic(_stringWithAmpersand: CFStringRef);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_stringWithAmpersand: CFStringRef); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setTitleWithMnemonic)), _stringWithAmpersand);
end;
procedure NSMenuItem.setImage(_menuImage: objc.id {NSImage});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_menuImage: objc.id {NSImage}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setImage)), _menuImage);
end;
function NSMenuItem.image: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_image)), []));
end;
procedure NSMenuItem.setState(_state: Integer);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_state: Integer); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setState)), _state);
end;
function NSMenuItem.state: Integer;
begin
Result := Integer(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_state)), []));
end;
procedure NSMenuItem.setOnStateImage(_image: objc.id {NSImage});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_image: objc.id {NSImage}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setOnStateImage)), _image);
end;
function NSMenuItem.onStateImage: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_onStateImage)), []));
end;
procedure NSMenuItem.setOffStateImage(_image: objc.id {NSImage});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_image: objc.id {NSImage}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setOffStateImage)), _image);
end;
function NSMenuItem.offStateImage: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_offStateImage)), []));
end;
procedure NSMenuItem.setMixedStateImage(_image: objc.id {NSImage});
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_image: objc.id {NSImage}); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setMixedStateImage)), _image);
end;
function NSMenuItem.mixedStateImage: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_mixedStateImage)), []));
end;
procedure NSMenuItem.setEnabled(_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(StrNSMenuItem_setEnabled)), _flag);
end;
function NSMenuItem.isEnabled: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_isEnabled)), []));
end;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure NSMenuItem.setAlternate(_isAlternate: LongBool);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_isAlternate: LongBool); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setAlternate)), _isAlternate);
end;
function NSMenuItem.isAlternate: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_isAlternate)), []));
end;
procedure NSMenuItem.setIndentationLevel(_indentationLevel: Integer);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_indentationLevel: Integer); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setIndentationLevel)), _indentationLevel);
end;
function NSMenuItem.indentationLevel: Integer;
begin
Result := Integer(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_indentationLevel)), []));
end;
{.$endif}
procedure NSMenuItem.setTarget(_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(StrNSMenuItem_setTarget)), _anObject);
end;
function NSMenuItem.target: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_target)), []));
end;
procedure NSMenuItem.setAction(_aSelector: SEL);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_aSelector: SEL); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setAction)), _aSelector);
end;
function NSMenuItem.action: SEL;
begin
Result := SEL(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_action)), []));
end;
procedure NSMenuItem.setTag(_anInt: Integer);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_anInt: Integer); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setTag)), _anInt);
end;
function NSMenuItem.tag: Integer;
begin
Result := Integer(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_tag)), []));
end;
procedure NSMenuItem.setRepresentedObject(_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(StrNSMenuItem_setRepresentedObject)), _anObject);
end;
function NSMenuItem.representedObject: objc.id;
begin
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_representedObject)), []));
end;
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
procedure NSMenuItem.setToolTip(_toolTip: CFStringRef);
type
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_toolTip: CFStringRef); cdecl;
var
vmethod: TmsgSendWrapper;
begin
vmethod := TmsgSendWrapper(@objc_msgSend);
vmethod(Handle, sel_registerName(PChar(StrNSMenuItem_setToolTip)), _toolTip);
end;
function NSMenuItem.toolTip: CFStringRef;
begin
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSMenuItem_toolTip)), []));
end;
{.$endif}
{$endif}

View File

@ -3,13 +3,15 @@ cd parser
DEFAULT_INI="default.ini" DEFAULT_INI="default.ini"
APPKIT_INI="../build/appkit.ini" APPKIT_INI="../build/appkit.ini"
FRAMEWORK="/System/Library/Frameworks/AppKit.framework/Headers" FRAMEWORK="/System/Library/Frameworks/AppKit.framework/Headers"
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSApplication.h > ../appkit/NSApplication.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSApplication.h > ../appkit/NSApplication.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSBitmapImageRep.h > ../appkit/NSBitmapImageRep.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSBitmapImageRep.h > ../appkit/NSBitmapImageRep.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSButton.h > ../appkit/NSButton.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSButton.h > ../appkit/NSButton.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSGraphics.h > ../appkit/NSGraphics.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSGraphics.h > ../appkit/NSGraphics.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSGraphicsContext.h > ../appkit/NSGraphicsContext.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSGraphicsContext.h > ../appkit/NSGraphicsContext.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSImage.h > ../appkit/NSImage.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSImage.h > ../appkit/NSImage.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSImageRep.h > ../appkit/NSImageRep.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSImageRep.h > ../appkit/NSImageRep.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSStatusBar.h > ../appkit/NSStatusBar.inc ./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSMenu.h > ../appkit/NSMenu.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSStatusItem.h > ../appkit/NSStatusItem.inc ./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSMenuItem.h > ../appkit/NSMenuItem.inc
./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSWindow.h > ../appkit/NSWindow.inc #./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSStatusBar.h > ../appkit/NSStatusBar.inc
#./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSStatusItem.h > ../appkit/NSStatusItem.inc
#./objcparser -ini=$DEFAULT_INI -ini=$APPKIT_INI $FRAMEWORK/NSWindow.h > ../appkit/NSWindow.inc

View File

@ -7,7 +7,7 @@
<MainUnit Value="0"/> <MainUnit Value="0"/>
<IconPath Value="./"/> <IconPath Value="./"/>
<TargetFileExt Value=""/> <TargetFileExt Value=""/>
<ActiveEditorIndexAtStart Value="1"/> <ActiveEditorIndexAtStart Value="4"/>
</General> </General>
<VersionInfo> <VersionInfo>
<ProjectVersion Value=""/> <ProjectVersion Value=""/>
@ -26,7 +26,7 @@
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/> <LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local> </local>
</RunParams> </RunParams>
<Units Count="66"> <Units Count="70">
<Unit0> <Unit0>
<Filename Value="statusitem.pas"/> <Filename Value="statusitem.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
@ -53,11 +53,9 @@
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="../../appkit/NSApplication.inc"/> <Filename Value="../../appkit/NSApplication.inc"/>
<CursorPos X="21" Y="79"/> <CursorPos X="31" Y="75"/>
<TopLine Value="69"/> <TopLine Value="69"/>
<EditorIndex Value="1"/>
<UsageCount Value="18"/> <UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="../../appkit/NSAlert.inc"/> <Filename Value="../../appkit/NSAlert.inc"/>
@ -74,11 +72,9 @@
</Unit5> </Unit5>
<Unit6> <Unit6>
<Filename Value="../../appkit/AppKit.inc"/> <Filename Value="../../appkit/AppKit.inc"/>
<CursorPos X="20" Y="11"/> <CursorPos X="47" Y="90"/>
<TopLine Value="1"/> <TopLine Value="84"/>
<EditorIndex Value="9"/>
<UsageCount Value="21"/> <UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSActionCell.h"/> <Filename Value="/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSActionCell.h"/>
@ -225,7 +221,7 @@
<Filename Value="../../appkit/NSStatusBar.inc"/> <Filename Value="../../appkit/NSStatusBar.inc"/>
<CursorPos X="15" Y="73"/> <CursorPos X="15" Y="73"/>
<TopLine Value="69"/> <TopLine Value="69"/>
<EditorIndex Value="4"/> <EditorIndex Value="1"/>
<UsageCount Value="23"/> <UsageCount Value="23"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit29> </Unit29>
@ -251,11 +247,9 @@
<Filename Value="controller.pas"/> <Filename Value="controller.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="controller"/> <UnitName Value="controller"/>
<CursorPos X="1" Y="110"/> <CursorPos X="37" Y="103"/>
<TopLine Value="100"/> <TopLine Value="100"/>
<EditorIndex Value="2"/>
<UsageCount Value="46"/> <UsageCount Value="46"/>
<Loaded Value="True"/>
</Unit33> </Unit33>
<Unit34> <Unit34>
<Filename Value="/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSImage.h"/> <Filename Value="/System/Library/Frameworks/AppKit.framework/Versions/C/Headers/NSImage.h"/>
@ -391,9 +385,11 @@
</Unit52> </Unit52>
<Unit53> <Unit53>
<Filename Value="../../foundation/Foundation.inc"/> <Filename Value="../../foundation/Foundation.inc"/>
<CursorPos X="57" Y="7"/> <CursorPos X="11" Y="18"/>
<TopLine Value="1"/> <TopLine Value="120"/>
<EditorIndex Value="4"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit53> </Unit53>
<Unit54> <Unit54>
<Filename Value="../../foundation/NSDate.inc"/> <Filename Value="../../foundation/NSDate.inc"/>
@ -432,7 +428,7 @@
<Filename Value="../../../../../lazarus/lcl/interfaces/carbon/carbontrayicon.inc"/> <Filename Value="../../../../../lazarus/lcl/interfaces/carbon/carbontrayicon.inc"/>
<CursorPos X="9" Y="75"/> <CursorPos X="9" Y="75"/>
<TopLine Value="68"/> <TopLine Value="68"/>
<EditorIndex Value="5"/> <EditorIndex Value="2"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit59> </Unit59>
@ -441,7 +437,7 @@
<UnitName Value="CarbonInt"/> <UnitName Value="CarbonInt"/>
<CursorPos X="53" Y="39"/> <CursorPos X="53" Y="39"/>
<TopLine Value="32"/> <TopLine Value="32"/>
<EditorIndex Value="6"/> <EditorIndex Value="3"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit60> </Unit60>
@ -460,50 +456,58 @@
</Unit62> </Unit62>
<Unit63> <Unit63>
<Filename Value="../../appkit/NSBitmapImageRep.inc"/> <Filename Value="../../appkit/NSBitmapImageRep.inc"/>
<CursorPos X="13" Y="9"/> <CursorPos X="42" Y="5"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="8"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit63> </Unit63>
<Unit64> <Unit64>
<Filename Value="../../appkit/NSImageRep.inc"/> <Filename Value="../../appkit/NSImageRep.inc"/>
<CursorPos X="3" Y="14"/> <CursorPos X="38" Y="420"/>
<TopLine Value="417"/> <TopLine Value="417"/>
<EditorIndex Value="7"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit64> </Unit64>
<Unit65> <Unit65>
<Filename Value="../../foundation/NSGeometry.inc"/> <Filename Value="../../foundation/NSGeometry.inc"/>
<CursorPos X="1" Y="14"/> <CursorPos X="57" Y="14"/>
<TopLine Value="12"/> <TopLine Value="12"/>
<EditorIndex Value="3"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit65> </Unit65>
<Unit66>
<Filename Value="../../appkit/NSMenuItem.inc"/>
<CursorPos X="53" Y="7"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit66>
<Unit67>
<Filename Value="../../appkit/NSMenu.inc"/>
<CursorPos X="36" Y="40"/>
<TopLine Value="31"/>
<UsageCount Value="10"/>
</Unit67>
<Unit68>
<Filename Value="/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSObject.h"/>
<CursorPos X="13" Y="21"/>
<TopLine Value="8"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="C++"/>
</Unit68>
<Unit69>
<Filename Value="/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSZone.h"/>
<CursorPos X="20" Y="4"/>
<TopLine Value="1"/>
<UsageCount Value="10"/>
<SyntaxHighlighter Value="C++"/>
</Unit69>
</Units> </Units>
<JumpHistory Count="5" HistoryIndex="4"> <JumpHistory Count="2" HistoryIndex="1">
<Position1> <Position1>
<Filename Value="controller.pas"/> <Filename Value="../../foundation/Foundation.inc"/>
<Caret Line="61" Column="22" TopLine="49"/> <Caret Line="8" Column="31" TopLine="1"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="controller.pas"/> <Filename Value="../../foundation/Foundation.inc"/>
<Caret Line="113" Column="39" TopLine="100"/> <Caret Line="82" Column="31" TopLine="69"/>
</Position2> </Position2>
<Position3>
<Filename Value="controller.pas"/>
<Caret Line="39" Column="16" TopLine="26"/>
</Position3>
<Position4>
<Filename Value="statusitem.pas"/>
<Caret Line="15" Column="16" TopLine="40"/>
</Position4>
<Position5>
<Filename Value="statusitem.pas"/>
<Caret Line="70" Column="33" TopLine="52"/>
</Position5>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>

View File

@ -93,10 +93,10 @@
#import <Foundation/NSXMLElement.h> #import <Foundation/NSXMLElement.h>
#import <Foundation/NSXMLNode.h> #import <Foundation/NSXMLNode.h>
#import <Foundation/NSXMLNodeOptions.h> #import <Foundation/NSXMLNodeOptions.h>
#import <Foundation/NSXMLParser.h> #import <Foundation/NSXMLParser.h>}
#import <Foundation/NSZone.h> {$include NSZone.inc}
#import <Foundation/NSExpression.h> {#import <Foundation/NSExpression.h>
#import <Foundation/NSPredicate.h> #import <Foundation/NSPredicate.h>
#import <Foundation/NSComparisonPredicate.h> #import <Foundation/NSComparisonPredicate.h>
#import <Foundation/NSCompoundPredicate.h> #import <Foundation/NSCompoundPredicate.h>

View File

@ -0,0 +1,43 @@
{ NSZone.h
Copyright (c) 1994-2005, Apple, Inc. All rights reserved.
}
{$ifdef HEADER}
{$ifndef NSZONE_PAS_H}
{$define NSZONE_PAS_H}
{$include NSObjCRuntime.inc}
type
NSZone = Pointer;
{
FOUNDATION_EXPORT NSZone *NSDefaultMallocZone(void);
FOUNDATION_EXPORT NSZone *NSCreateZone(unsigned startSize, unsigned granularity, BOOL canFree);
FOUNDATION_EXPORT void NSRecycleZone(NSZone *zone);
FOUNDATION_EXPORT void NSSetZoneName(NSZone *zone, NSString *name);
FOUNDATION_EXPORT NSString *NSZoneName(NSZone *zone);
FOUNDATION_EXPORT NSZone *NSZoneFromPointer(void *ptr);
FOUNDATION_EXPORT void *NSZoneMalloc(NSZone *zone, unsigned size);
FOUNDATION_EXPORT void *NSZoneCalloc(NSZone *zone, unsigned numElems, unsigned byteSize);
FOUNDATION_EXPORT void *NSZoneRealloc(NSZone *zone, void *ptr, unsigned size);
FOUNDATION_EXPORT void NSZoneFree(NSZone *zone, void *ptr);}
const
NSScannedOption = 1;
{FOUNDATION_EXPORT void *NSAllocateCollectable(unsigned long size, unsigned long options) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
FOUNDATION_EXPORT void *NSReallocateCollectable(void *ptr, unsigned long size, unsigned long options) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
FOUNDATION_EXPORT unsigned NSPageSize(void);
FOUNDATION_EXPORT unsigned NSLogPageSize(void);
FOUNDATION_EXPORT unsigned NSRoundUpToMultipleOfPageSize(unsigned bytes);
FOUNDATION_EXPORT unsigned NSRoundDownToMultipleOfPageSize(unsigned bytes);
FOUNDATION_EXPORT void *NSAllocateMemoryPages(unsigned bytes);
FOUNDATION_EXPORT void NSDeallocateMemoryPages(void *ptr, unsigned bytes);
FOUNDATION_EXPORT void NSCopyMemoryPages(const void *source, void *dest, unsigned bytes);
FOUNDATION_EXPORT unsigned NSRealMemoryAvailable(void);}
{$endif}
{$endif}