Files
lazarus-ccr/bindings/pascocoa/appkit/NSPanel.inc
sekelsenmat fa69e42d57 Improves Cocoa bindings
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@574 8e941d3f-bd1b-0410-a28a-d453659cc2b4
2008-09-29 00:47:50 +00:00

149 lines
5.7 KiB
PHP

{%mainunit appkit.pas}
(*
NSPanel.h
Application Kit
Copyright (c) 1994-2005, Apple Computer, Inc.
All rights reserved.
*)
{$ifdef HEADER}
{$ifndef NSPANEL_PAS_H}
{$define NSPANEL_PAS_H}
{$include NSWindow.inc}
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
{.$endif}
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
{.$endif}
//APPKIT_EXTERN int NSRunAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN int NSRunInformationalAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN int NSRunCriticalAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN int NSRunAlertPanelRelativeToWindow(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, ...);
//APPKIT_EXTERN int NSRunInformationalAlertPanelRelativeToWindow(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, ...);
//APPKIT_EXTERN int NSRunCriticalAlertPanelRelativeToWindow(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, ...);
//APPKIT_EXTERN void NSBeginAlertSheet(NSString *title, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, id modalDelegate, SEL didEndSelector, SEL didDismissSelector, void *contextInfo, NSString *msg, ...);
//APPKIT_EXTERN void NSBeginInformationalAlertSheet(NSString *title, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, id modalDelegate, SEL didEndSelector, SEL didDismissSelector, void *contextInfo, NSString *msg, ...);
//APPKIT_EXTERN void NSBeginCriticalAlertSheet(NSString *title, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, NSWindow *docWindow, id modalDelegate, SEL didEndSelector, SEL didDismissSelector, void *contextInfo, NSString *msg, ...);
//APPKIT_EXTERN id NSGetAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN id NSGetInformationalAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN id NSGetCriticalAlertPanel(NSString *title, NSString *msg, NSString *defaultButton, NSString *alternateButton, NSString *otherButton, ...);
//APPKIT_EXTERN void NSReleaseAlertPanel(id panel);
// * NSRunAlertPanel() return values (also returned by runModalSession: when
// * the modal session is run with a panel returned by NSGetAlertPanel()).
//
const
NSAlertDefaultReturn = 1;
NSAlertAlternateReturn = 0;
NSAlertOtherReturn = 1;
NSAlertErrorReturn = 2;
const
NSOKButton = 1;
NSCancelButton = 0;
// Panel specific styleMask
const
NSUtilityWindowMask = 1 shl 4;
NSDocModalWindowMask = 1 shl 6;
const
NSNonactivatingPanelMask = 1 shl 7;
{$endif}
{$endif}
{$ifdef FORWARD}
NSPanel = class;
{$endif}
{$ifdef CLASSES}
{$ifndef NSPANEL_PAS_C}
{$define NSPANEL_PAS_C}
{$include NSWindow.inc}
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
{.$endif}
{ NSPanel }
NSPanel = class(NSWindow)
public
class function getClass: objc.id; override;
// All instance variables are private
function isFloatingPanel: LongBool;
procedure setFloatingPanel(_flag: LongBool);
function becomesKeyOnlyIfNeeded: LongBool;
procedure setBecomesKeyOnlyIfNeeded(_flag: LongBool);
function worksWhenModal: LongBool;
procedure setWorksWhenModal(_flag: LongBool);
end;
{$endif}
{$endif}
{$ifdef IMPLEMENTATION}
const
StrNSPanel_NSPanel = 'NSPanel';
StrNSPanel_isFloatingPanel = 'isFloatingPanel';
StrNSPanel_setFloatingPanel = 'setFloatingPanel:';
StrNSPanel_becomesKeyOnlyIfNeeded = 'becomesKeyOnlyIfNeeded';
StrNSPanel_setBecomesKeyOnlyIfNeeded = 'setBecomesKeyOnlyIfNeeded:';
StrNSPanel_worksWhenModal = 'worksWhenModal';
StrNSPanel_setWorksWhenModal = 'setWorksWhenModal:';
{ NSPanel }
class function NSPanel.getClass: objc.id;
begin
Result := objc_getClass(StrNSPanel_NSPanel);
end;
function NSPanel.isFloatingPanel: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSPanel_isFloatingPanel)), []));
end;
procedure NSPanel.setFloatingPanel(_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(StrNSPanel_setFloatingPanel)), _flag);
end;
function NSPanel.becomesKeyOnlyIfNeeded: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSPanel_becomesKeyOnlyIfNeeded)), []));
end;
procedure NSPanel.setBecomesKeyOnlyIfNeeded(_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(StrNSPanel_setBecomesKeyOnlyIfNeeded)), _flag);
end;
function NSPanel.worksWhenModal: LongBool;
begin
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSPanel_worksWhenModal)), []));
end;
procedure NSPanel.setWorksWhenModal(_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(StrNSPanel_setWorksWhenModal)), _flag);
end;
{$endif}