summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/cocoaint/src/appkit/NSPasteboardItem.inc
blob: a6bf6bdcb13157eb2f6ae71b5e7442ce9838684a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
{ Parsed from Appkit.framework NSPasteboardItem.h }

{$ifdef TYPES}
{$ifndef NSPASTEBOARDITEM_PAS_T}
{$define NSPASTEBOARDITEM_PAS_T}

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSPASTEBOARDITEM_PAS_R}
{$define NSPASTEBOARDITEM_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSPASTEBOARDITEM_PAS_F}
{$define NSPASTEBOARDITEM_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSPASTEBOARDITEM_PAS_S}
{$define NSPASTEBOARDITEM_PAS_S}

{$endif}
{$endif}

{$ifdef FORWARD}
  NSPasteboardItemDataProviderProtocol = objcprotocol;
  NSPasteboardItem = objcclass;
  NSPasteboardItemPointer = ^NSPasteboardItem;
  NSPasteboardItemPtr = NSPasteboardItemPointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSPASTEBOARDITEM_PAS_C}
{$define NSPASTEBOARDITEM_PAS_C}

{ NSPasteboardItem }
  NSPasteboardItem = objcclass external (NSObject, NSPasteboardWritingProtocol, NSPasteboardReadingProtocol)
  private
    _pasteboard: NSPasteboard;
    _index: NSUInteger;
    _gen: NSInteger;
    _auxObject: id;
    _reserved: Pointer;
    
  public
    function types: NSArray; message 'types';
    function availableTypeFromArray(types_: NSArray): NSString; message 'availableTypeFromArray:';
    function setDataProvider_forTypes(dataProvider: NSPasteboardItemDataProviderProtocol; types_: NSArray): Boolean; message 'setDataProvider:forTypes:';
    function setData_forType(data: NSData; type_: NSString): Boolean; message 'setData:forType:';
    function setString_forType(string_: NSString; type_: NSString): Boolean; message 'setString:forType:';
    function setPropertyList_forType(propertyList: id; type_: NSString): Boolean; message 'setPropertyList:forType:';
    function dataForType(type_: NSString): NSData; message 'dataForType:';
    function stringForType(type_: NSString): NSString; message 'stringForType:';
    function propertyListForType(type_: NSString): id; message 'propertyListForType:';

    { Adopted Protocols }
    function writableTypesForPasteboard(pasteboard: NSPasteboard): NSArray;
    function writingOptionsForType_pasteboard(type_: NSString; pasteboard: NSPasteboard): NSPasteboardWritingOptions;
    function pasteboardPropertyListForType(type_: NSString): id;
    class function readableTypesForPasteboard(pasteboard: NSPasteboard): NSArray;
    class function readingOptionsForType_pasteboard(type_: NSString; pasteboard: NSPasteboard): NSPasteboardReadingOptions;
    function initWithPasteboardPropertyList_ofType(propertyList: id; type_: NSString): id;
  end;

{$endif}
{$endif}
{$ifdef PROTOCOLS}
{$ifndef NSPASTEBOARDITEM_PAS_P}
{$define NSPASTEBOARDITEM_PAS_P}
  
{ NSPasteboardItemDataProvider Protocol }
  NSPasteboardItemDataProviderProtocol = objcprotocol external name 'NSPasteboardItemDataProvider'
  required
    procedure pasteboard_item_provideDataForType(pasteboard: NSPasteboard; item: NSPasteboardItem; type_: NSString); message 'pasteboard:item:provideDataForType:';
  optional
    procedure pasteboardFinishedWithDataProvider(pasteboard: NSPasteboard); message 'pasteboardFinishedWithDataProvider:';
  end;
{$endif}
{$endif}