You've already forked lazarus-ccr
372 lines
14 KiB
PHP
372 lines
14 KiB
PHP
![]() |
{%mainunit appkit.pas}
|
||
|
(*
|
||
|
NSToolbar.h
|
||
|
Application Kit
|
||
|
Copyright (c) 2000-2004, Apple Computer, Inc.
|
||
|
All rights reserved.
|
||
|
*)
|
||
|
|
||
|
{$ifdef HEADER}
|
||
|
{$ifndef NSTOOLBAR_PAS_H}
|
||
|
{$define NSTOOLBAR_PAS_H}
|
||
|
|
||
|
{$include AppKitDefines.inc}
|
||
|
|
||
|
type
|
||
|
NSToolbarDisplayMode = (
|
||
|
NSToolbarDisplayModeDefault,
|
||
|
NSToolbarDisplayModeIconAndLabel,
|
||
|
NSToolbarDisplayModeIconOnly,
|
||
|
NSToolbarDisplayModeLabelOnly
|
||
|
);
|
||
|
|
||
|
|
||
|
type
|
||
|
NSToolbarSizeMode = (
|
||
|
NSToolbarSizeModeDefault,
|
||
|
NSToolbarSizeModeRegular,
|
||
|
NSToolbarSizeModeSmall
|
||
|
);
|
||
|
|
||
|
|
||
|
//APPKIT_EXTERN NSString *NSToolbarWillAddItemNotification;
|
||
|
//APPKIT_EXTERN NSString *NSToolbarDidRemoveItemNotification;
|
||
|
{$endif}
|
||
|
{$endif}
|
||
|
|
||
|
{$ifdef FORWARD}
|
||
|
NSToolbar = class;
|
||
|
|
||
|
{$endif}
|
||
|
|
||
|
{$ifdef CLASSES}
|
||
|
{$ifndef NSTOOLBAR_PAS_C}
|
||
|
{$define NSTOOLBAR_PAS_C}
|
||
|
|
||
|
{$include AppKitDefines.inc}
|
||
|
|
||
|
{ NSToolbar }
|
||
|
|
||
|
NSToolbar = class(NSObject)
|
||
|
public
|
||
|
class function getClass: objc.id; override;
|
||
|
constructor initWithIdentifier(_identifier: CFStringRef);
|
||
|
// The identifier is used to form the toolbar's autosave name. Also, toolbars with
|
||
|
// the same identifier are implicitly synchronized so that they maintain the same state.
|
||
|
procedure insertItemWithItemIdentifier_atIndex(_itemIdentifier: CFStringRef; __index: Integer);
|
||
|
procedure removeItemAtIndex(__index: Integer);
|
||
|
// Primitives for explicitly adding and removing items. Any change made will be propogated
|
||
|
// immediately to all other toolbars with the same identifier.
|
||
|
procedure setDelegate(_delegate: objc.id);
|
||
|
function delegate: objc.id;
|
||
|
// Customizable toolbars must have a delegate, and must implement the required NSToolbarDelegate
|
||
|
// methods.
|
||
|
procedure setVisible(_shown: LongBool);
|
||
|
function isVisible: LongBool;
|
||
|
// toggles the visibliity of the toolbar.
|
||
|
procedure runCustomizationPalette(_sender: objc.id);
|
||
|
function customizationPaletteIsRunning: LongBool;
|
||
|
// Customizable toolbars (those with delegates) can show a palette which allows users
|
||
|
// to populate the toolbar with individual items or to reset the toolbar to some default
|
||
|
// set of items. The items and item sets in the palette are specified by the delegate
|
||
|
// (-toolbarAllowedItemIdentifiers: and -toolbarDefaultItemIdentifiers:). When the
|
||
|
// user is done configuring, they will dismiss the palette.
|
||
|
// ----- Toolbar Attributes -----
|
||
|
procedure setDisplayMode(_displayMode: NSToolbarDisplayMode);
|
||
|
function displayMode: NSToolbarDisplayMode;
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
||
|
procedure setSelectedItemIdentifier(_itemIdentifier: CFStringRef);
|
||
|
function selectedItemIdentifier: CFStringRef;
|
||
|
{.$endif}
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
|
||
|
procedure setSizeMode(_sizeMode: NSToolbarSizeMode);
|
||
|
function sizeMode: NSToolbarSizeMode;
|
||
|
{.$endif}
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4}
|
||
|
// Use this API to hide the baseline NSToolbar draws between itself and the main window
|
||
|
// contents. The default is YES. This method should only be used before the toolbar
|
||
|
// is attached to its window (-[NSWindow setToolbar:]).
|
||
|
procedure setShowsBaselineSeparator(_flag: LongBool);
|
||
|
function showsBaselineSeparator: LongBool;
|
||
|
{.$endif}
|
||
|
procedure setAllowsUserCustomization(_allowCustomization: LongBool);
|
||
|
function allowsUserCustomization: LongBool;
|
||
|
// This flag controls whether or not users can configure the toolbar by dragging items
|
||
|
// around, and whether or not the customization palette can be used. The default value
|
||
|
// is NO, but can be changed at any time. For instance, a developer may not want users
|
||
|
// to be able to edit the toolbar while some event is being processed.
|
||
|
// ----- Accessing toolbar info -----
|
||
|
function identifier: CFStringRef;
|
||
|
// All toolbars with the same name will share the same display attributes, and item
|
||
|
// order. Also, if a toolbar autosaves its configuration, the item identifier will
|
||
|
// be used as the autosave name.
|
||
|
function items: CFArrayRef;
|
||
|
// Allows you to access all current items in the toolbar.
|
||
|
function visibleItems: CFArrayRef;
|
||
|
// Allows you to access the current visible items (non clipped).
|
||
|
// ----- Autosaving The Configuration -----
|
||
|
procedure setAutosavesConfiguration(_flag: LongBool);
|
||
|
function autosavesConfiguration: LongBool;
|
||
|
// If autosavesConfiguration is YES, the toolbar will automatically write changes the
|
||
|
// user makes to user defaults. Customizable toolbars will want to set this flag to
|
||
|
// YES. Setting this to NO means changes in configuration are not written automatically,
|
||
|
// however you can use the configurationDictionary method to do it yourself. Default
|
||
|
// is NO.
|
||
|
procedure setConfigurationFromDictionary(_configDict: CFDictionaryRef);
|
||
|
function configurationDictionary: CFDictionaryRef;
|
||
|
// Set and get the current toolbar configuration using a dictionary representation.
|
||
|
// ----- Validation of the items -----
|
||
|
procedure validateVisibleItems;
|
||
|
end;
|
||
|
|
||
|
{$endif}
|
||
|
{$endif}
|
||
|
|
||
|
{$ifdef IMPLEMENTATION}
|
||
|
const
|
||
|
StrNSToolbar_NSToolbar = 'NSToolbar';
|
||
|
StrNSToolbar_initWithIdentifier = 'initWithIdentifier:';
|
||
|
StrNSToolbar_insertItemWithItemIdentifier_atIndex = 'insertItemWithItemIdentifier:atIndex:';
|
||
|
StrNSToolbar_removeItemAtIndex = 'removeItemAtIndex:';
|
||
|
StrNSToolbar_setDelegate = 'setDelegate:';
|
||
|
StrNSToolbar_delegate = 'delegate';
|
||
|
StrNSToolbar_setVisible = 'setVisible:';
|
||
|
StrNSToolbar_isVisible = 'isVisible';
|
||
|
StrNSToolbar_runCustomizationPalette = 'runCustomizationPalette:';
|
||
|
StrNSToolbar_customizationPaletteIsRunning = 'customizationPaletteIsRunning';
|
||
|
StrNSToolbar_setDisplayMode = 'setDisplayMode:';
|
||
|
StrNSToolbar_displayMode = 'displayMode';
|
||
|
StrNSToolbar_setSelectedItemIdentifier = 'setSelectedItemIdentifier:';
|
||
|
StrNSToolbar_selectedItemIdentifier = 'selectedItemIdentifier';
|
||
|
StrNSToolbar_setSizeMode = 'setSizeMode:';
|
||
|
StrNSToolbar_sizeMode = 'sizeMode';
|
||
|
StrNSToolbar_setShowsBaselineSeparator = 'setShowsBaselineSeparator:';
|
||
|
StrNSToolbar_showsBaselineSeparator = 'showsBaselineSeparator';
|
||
|
StrNSToolbar_setAllowsUserCustomization = 'setAllowsUserCustomization:';
|
||
|
StrNSToolbar_allowsUserCustomization = 'allowsUserCustomization';
|
||
|
StrNSToolbar_identifier = 'identifier';
|
||
|
StrNSToolbar_items = 'items';
|
||
|
StrNSToolbar_visibleItems = 'visibleItems';
|
||
|
StrNSToolbar_setAutosavesConfiguration = 'setAutosavesConfiguration:';
|
||
|
StrNSToolbar_autosavesConfiguration = 'autosavesConfiguration';
|
||
|
StrNSToolbar_setConfigurationFromDictionary = 'setConfigurationFromDictionary:';
|
||
|
StrNSToolbar_configurationDictionary = 'configurationDictionary';
|
||
|
StrNSToolbar_validateVisibleItems = 'validateVisibleItems';
|
||
|
|
||
|
{ NSToolbar }
|
||
|
|
||
|
class function NSToolbar.getClass: objc.id;
|
||
|
begin
|
||
|
Result := objc_getClass(StrNSToolbar_NSToolbar);
|
||
|
end;
|
||
|
|
||
|
constructor NSToolbar.initWithIdentifier(_identifier: CFStringRef);
|
||
|
type
|
||
|
TmsgSendWrapper = function (param1: objc.id; param2: SEL;_identifier: 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(StrNSToolbar_initWithIdentifier)), _identifier);
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.insertItemWithItemIdentifier_atIndex(_itemIdentifier: CFStringRef; __index: Integer);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_itemIdentifier: CFStringRef; __index: Integer); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_insertItemWithItemIdentifier_atIndex)), _itemIdentifier, __index);
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.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(StrNSToolbar_removeItemAtIndex)), __index);
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.setDelegate(_delegate: objc.id);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_delegate: objc.id); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setDelegate)), _delegate);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.delegate: objc.id;
|
||
|
begin
|
||
|
Result := objc.id(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_delegate)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.setVisible(_shown: LongBool);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_shown: LongBool); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setVisible)), _shown);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.isVisible: LongBool;
|
||
|
begin
|
||
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_isVisible)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.runCustomizationPalette(_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(StrNSToolbar_runCustomizationPalette)), _sender);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.customizationPaletteIsRunning: LongBool;
|
||
|
begin
|
||
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_customizationPaletteIsRunning)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.setDisplayMode(_displayMode: NSToolbarDisplayMode);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_displayMode: NSToolbarDisplayMode); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setDisplayMode)), _displayMode);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.displayMode: NSToolbarDisplayMode;
|
||
|
begin
|
||
|
Result := NSToolbarDisplayMode(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_displayMode)), []));
|
||
|
end;
|
||
|
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3}
|
||
|
procedure NSToolbar.setSelectedItemIdentifier(_itemIdentifier: CFStringRef);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_itemIdentifier: CFStringRef); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setSelectedItemIdentifier)), _itemIdentifier);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.selectedItemIdentifier: CFStringRef;
|
||
|
begin
|
||
|
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_selectedItemIdentifier)), []));
|
||
|
end;
|
||
|
|
||
|
{.$endif}
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_2}
|
||
|
procedure NSToolbar.setSizeMode(_sizeMode: NSToolbarSizeMode);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_sizeMode: NSToolbarSizeMode); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setSizeMode)), _sizeMode);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.sizeMode: NSToolbarSizeMode;
|
||
|
begin
|
||
|
Result := NSToolbarSizeMode(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_sizeMode)), []));
|
||
|
end;
|
||
|
|
||
|
{.$endif}
|
||
|
{.$ifdef MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4}
|
||
|
procedure NSToolbar.setShowsBaselineSeparator(_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(StrNSToolbar_setShowsBaselineSeparator)), _flag);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.showsBaselineSeparator: LongBool;
|
||
|
begin
|
||
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_showsBaselineSeparator)), []));
|
||
|
end;
|
||
|
|
||
|
{.$endif}
|
||
|
procedure NSToolbar.setAllowsUserCustomization(_allowCustomization: LongBool);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_allowCustomization: LongBool); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setAllowsUserCustomization)), _allowCustomization);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.allowsUserCustomization: LongBool;
|
||
|
begin
|
||
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_allowsUserCustomization)), []));
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.identifier: CFStringRef;
|
||
|
begin
|
||
|
Result := CFStringRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_identifier)), []));
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.items: CFArrayRef;
|
||
|
begin
|
||
|
Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_items)), []));
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.visibleItems: CFArrayRef;
|
||
|
begin
|
||
|
Result := CFArrayRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_visibleItems)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.setAutosavesConfiguration(_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(StrNSToolbar_setAutosavesConfiguration)), _flag);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.autosavesConfiguration: LongBool;
|
||
|
begin
|
||
|
Result := LongBool(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_autosavesConfiguration)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.setConfigurationFromDictionary(_configDict: CFDictionaryRef);
|
||
|
type
|
||
|
TmsgSendWrapper = procedure (param1: objc.id; param2: SEL;_configDict: CFDictionaryRef); cdecl;
|
||
|
var
|
||
|
vmethod: TmsgSendWrapper;
|
||
|
begin
|
||
|
vmethod := TmsgSendWrapper(@objc_msgSend);
|
||
|
vmethod(Handle, sel_registerName(PChar(StrNSToolbar_setConfigurationFromDictionary)), _configDict);
|
||
|
end;
|
||
|
|
||
|
function NSToolbar.configurationDictionary: CFDictionaryRef;
|
||
|
begin
|
||
|
Result := CFDictionaryRef(objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_configurationDictionary)), []));
|
||
|
end;
|
||
|
|
||
|
procedure NSToolbar.validateVisibleItems;
|
||
|
begin
|
||
|
objc_msgSend(Handle, sel_registerName(PChar(StrNSToolbar_validateVisibleItems)), []);
|
||
|
end;
|
||
|
|
||
|
{$endif}
|