summaryrefslogtreecommitdiff
path: root/packages/cocoaint/src/appkit/NSTextStorage.inc
blob: 1301441644ccef7964973a80e75ed51be9b962a7 (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
105
106
{ Parsed from Appkit.framework NSTextStorage.h }
{ Version: 2.1.2 - Wed Dec 8 10:06:06 CET 2010 }


{$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(NSMutableAttributedString)
  private
    _editedRange: NSRange;
    _editedDelta: NSInteger;
    __flags: bitpacked record
      case byte of
       0: (_anonbitfield_NSTextStorage2: cuint);
       1: (
        _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;
    _layoutManagers: NSMutableArray;
    _sideData: id;
    
  public
    class function alloc: NSTextStorage; message 'alloc';

    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_: id); message 'setDelegate:';
    function delegate: id; message 'delegate';
  end; external;

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