summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/cocoaint/src/appkit/NSTextStorage.inc
blob: e9278887d525942e228fff08af72d13f399c8ffd (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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
{ Parsed from Appkit.framework NSTextStorage.h }

{$ifdef TYPES}
{$ifndef NSTEXTSTORAGE_PAS_T}
{$define NSTEXTSTORAGE_PAS_T}

{ Constants }

const
  NSTextStorageEditedAttributes = 1;
  NSTextStorageEditedCharacters = 2;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSTEXTSTORAGE_PAS_R}
{$define NSTEXTSTORAGE_PAS_R}

{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSTEXTSTORAGE_PAS_F}
{$define NSTEXTSTORAGE_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSTEXTSTORAGE_PAS_S}
{$define NSTEXTSTORAGE_PAS_S}

{ External string constants }
var
  NSTextStorageWillProcessEditingNotification: NSString; cvar; external;
  NSTextStorageDidProcessEditingNotification: NSString; cvar; external;

{$endif}
{$endif}

{$ifdef FORWARD}
  NSTextStorageDelegateProtocol = objcprotocol;
  NSTextStorage = objcclass;
  NSTextStoragePointer = ^NSTextStorage;
  NSTextStoragePtr = NSTextStoragePointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSTEXTSTORAGE_PAS_C}
{$define NSTEXTSTORAGE_PAS_C}

{ NSTextStorage }
  NSTextStorage = objcclass external (NSMutableAttributedString)
  private
    _editedRange: NSRange;
    _editedDelta: NSInteger;
    __flags: record
      case byte of
       0: (_anonbitfield_NSTextStorage2: cuint);
       1: (data: bitpacked record
        _editedMask: 0..((1 shl 8)-1);
        _anonbitfield_NSTextStorage0: 0..((1 shl 8)-1);
        disabled: 0..((1 shl 16)-1);
        {$ifdef cpu64}
        _anonbitfield_NSTextStorage1: 0..((1 shl 32)-1);
        {$endif}
       end;
      );
      end;
    _layoutManagers: NSMutableArray;
    _sideData: id;
    
  public
    procedure addLayoutManager(obj: NSLayoutManager); message 'addLayoutManager:';
    procedure removeLayoutManager(obj: NSLayoutManager); message 'removeLayoutManager:';
    function layoutManagers: NSArray; message 'layoutManagers';
    procedure edited_range_changeInLength(editedMask_: NSUInteger; range: NSRange; delta: NSInteger); message 'edited:range:changeInLength:';
    procedure processEditing; message 'processEditing';
    procedure invalidateAttributesInRange(range: NSRange); message 'invalidateAttributesInRange:';
    procedure ensureAttributesAreFixedInRange(range: NSRange); message 'ensureAttributesAreFixedInRange:';
    function fixesAttributesLazily: Boolean; message 'fixesAttributesLazily';
    function editedMask: NSUInteger; message 'editedMask';
    function editedRange: NSRange; message 'editedRange';
    function changeInLength: NSInteger; message 'changeInLength';
    procedure setDelegate(delegate_: NSTextStorageDelegateProtocol); message 'setDelegate:';
    function delegate: NSTextStorageDelegateProtocol; message 'delegate';
  end;

{$endif}
{$endif}
{$ifdef PROTOCOLS}
{$ifndef NSTEXTSTORAGE_PAS_P}
{$define NSTEXTSTORAGE_PAS_P}
  
{ NSTextStorageDelegate Protocol }
  NSTextStorageDelegateProtocol = objcprotocol external name 'NSTextStorageDelegate'
  optional
    procedure textStorageWillProcessEditing(notification: NSNotification); message 'textStorageWillProcessEditing:';
    procedure textStorageDidProcessEditing(notification: NSNotification); message 'textStorageDidProcessEditing:';
  end;
{$endif}
{$endif}