summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/cocoaint/src/appkit/NSBrowser.inc
blob: 7220f820606f71a24c725b4d8cdb5633102f8aa9 (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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
{ Parsed from Appkit.framework NSBrowser.h }

{$ifdef TYPES}
{$ifndef NSBROWSER_PAS_T}
{$define NSBROWSER_PAS_T}

{ Defines }
const
  NSAppKitVersionNumberWithContinuousScrollingBrowser = 680.0;
  NSAppKitVersionNumberWithColumnResizingBrowser = 685.0;

{ Constants }

const
  NSBrowserNoColumnResizing = 0;
  NSBrowserAutoColumnResizing = 1;
  NSBrowserUserColumnResizing = 2;

const
  NSBrowserDropOn = 0;
  NSBrowserDropAbove = 1;

{ Types }
type
  NSBrowserColumnResizingType = NSUInteger;
  NSBrowserColumnResizingTypePtr = ^NSBrowserColumnResizingType;
  NSBrowserDropOperation = NSUInteger;
  NSBrowserDropOperationPtr = ^NSBrowserDropOperation;

{$endif}
{$endif}

{$ifdef RECORDS}
{$ifndef NSBROWSER_PAS_R}
{$define NSBROWSER_PAS_R}

{ Records }
type
  __Brflags = record
    case byte of
    0: (_anonbitfield_NSBrowser0: cuint);
    1: (data: bitpacked record
{$ifdef fpc_big_endian}
          allowsMultipleSelection: 0..1;
          allowsBranchSelection: 0..1;
          reuseColumns: 0..1;
          isTitled: 0..1;
          titleFromPrevious: 0..1;
          separateColumns: 0..1;
          delegateImplementsWillDisplayCell: 0..1;
          delegateSetsTitles: 0..1;
          delegateSelectsCellsByString: 0..1;
          delegateDoesNotCreateRowsInMatrix: 0..1;
          delegateValidatesColumns: 0..1;
          acceptArrowKeys: 0..1;
          dontDrawTitles: 0..1;
          sendActionOnArrowKeys: 0..1;
          prohibitEmptySel: 0..1;
          hasHorizontalScroller: 0..1;
          time: 0..1;
          allowsIncrementalSearching: 0..1;
          delegateSelectsCellsByRow: 0..1;
          disableCompositing: 0..((1 shl 6)-1);
          refusesFirstResponder: 0..1;
          acceptsFirstMouse: 0..1;
          actionNeedsToBeSent: 0..1;
          usesSmallSizeTitleFont: 0..1;
          usesSmallScrollers: 0..1;
          prefersAllColumnUserResizing: 0..1;
          firstVisibleCalculationDisabled: 0..1;
{$else}
          firstVisibleCalculationDisabled: 0..1;
          prefersAllColumnUserResizing: 0..1;
          usesSmallScrollers: 0..1;
          usesSmallSizeTitleFont: 0..1;
          actionNeedsToBeSent: 0..1;
          acceptsFirstMouse: 0..1;
          refusesFirstResponder: 0..1;
          disableCompositing: 0..((1 shl 6)-1);
          delegateSelectsCellsByRow: 0..1;
          allowsIncrementalSearching: 0..1;
          time: 0..1;
          hasHorizontalScroller: 0..1;
          prohibitEmptySel: 0..1;
          sendActionOnArrowKeys: 0..1;
          dontDrawTitles: 0..1;
          acceptArrowKeys: 0..1;
          delegateValidatesColumns: 0..1;
          delegateDoesNotCreateRowsInMatrix: 0..1;
          delegateSelectsCellsByString: 0..1;
          delegateSetsTitles: 0..1;
          delegateImplementsWillDisplayCell: 0..1;
          separateColumns: 0..1;
          titleFromPrevious: 0..1;
          isTitled: 0..1;
          reuseColumns: 0..1;
          allowsBranchSelection: 0..1;
          allowsMultipleSelection: 0..1;
{$endif}
         end;
       );
  end;
_Brflags = __Brflags;
__BrflagsPtr = ^__Brflags;


{$endif}
{$endif}

{$ifdef FUNCTIONS}
{$ifndef NSBROWSER_PAS_F}
{$define NSBROWSER_PAS_F}

{$endif}
{$endif}

{$ifdef EXTERNAL_SYMBOLS}
{$ifndef NSBROWSER_PAS_S}
{$define NSBROWSER_PAS_S}

{ External string constants }
var
  NSBrowserColumnConfigurationDidChangeNotification: NSString; cvar; external;

{$endif}
{$endif}

{$ifdef FORWARD}
  NSBrowserDelegateProtocol = objcprotocol;
  NSBrowser = objcclass;
  NSBrowserPointer = ^NSBrowser;
  NSBrowserPtr = NSBrowserPointer;

{$endif}

{$ifdef CLASSES}
{$ifndef NSBROWSER_PAS_C}
{$define NSBROWSER_PAS_C}

{ NSBrowser }
  NSBrowser = objcclass external (NSControl)
  private
    _target: id;
    _action: SEL;
    _delegate: id;
    _doubleAction: SEL;
    _matrixClass: Pobjc_class;
    _cellPrototype: id;
    _columnSize: NSSize;
    _numberOfVisibleColumns: cshort;
    _minColumnWidth: cshort;
    _firstVisibleColumn: cshort;
    _maxVisibleColumns: cshort;
    _titles: NSMutableArray;
    _pathSeparator: NSString;
    _columns: NSMutableArray;
    _brAuxiliaryStorage: id;
    _firstColumnTitle: NSString;
    _scroller: NSScroller;
    _brflags: _Brflags;
    
  public
    class function cellClass: Pobjc_class; message 'cellClass';
    procedure loadColumnZero; message 'loadColumnZero';
    function isLoaded: Boolean; message 'isLoaded';
    procedure setDoubleAction(aSelector: SEL); message 'setDoubleAction:';
    function doubleAction: SEL; message 'doubleAction';
    procedure setMatrixClass(factoryId: Pobjc_class); message 'setMatrixClass:';
    function matrixClass: Pobjc_class; message 'matrixClass';
    procedure setCellClass(factoryId: Pobjc_class); message 'setCellClass:';
    procedure setCellPrototype(aCell: NSCell); message 'setCellPrototype:';
    function cellPrototype: id; message 'cellPrototype';
    procedure setDelegate(anObject: NSBrowserDelegateProtocol); message 'setDelegate:';
    function delegate: NSBrowserDelegateProtocol; message 'delegate';
    procedure setReusesColumns(flag: Boolean); message 'setReusesColumns:';
    function reusesColumns: Boolean; message 'reusesColumns';
    procedure setHasHorizontalScroller(flag: Boolean); message 'setHasHorizontalScroller:';
    function hasHorizontalScroller: Boolean; message 'hasHorizontalScroller';
    procedure setAutohidesScroller(flag: Boolean); message 'setAutohidesScroller:';
    function autohidesScroller: Boolean; message 'autohidesScroller';
    procedure setSeparatesColumns(flag: Boolean); message 'setSeparatesColumns:';
    function separatesColumns: Boolean; message 'separatesColumns';
    procedure setTitled(flag: Boolean); message 'setTitled:';
    function isTitled: Boolean; message 'isTitled';
    procedure setMinColumnWidth(columnWidth: CGFloat); message 'setMinColumnWidth:';
    function minColumnWidth: CGFloat; message 'minColumnWidth';
    procedure setMaxVisibleColumns(columnCount: NSInteger); message 'setMaxVisibleColumns:';
    function maxVisibleColumns: NSInteger; message 'maxVisibleColumns';
    procedure setAllowsMultipleSelection(flag: Boolean); message 'setAllowsMultipleSelection:';
    function allowsMultipleSelection: Boolean; message 'allowsMultipleSelection';
    procedure setAllowsBranchSelection(flag: Boolean); message 'setAllowsBranchSelection:';
    function allowsBranchSelection: Boolean; message 'allowsBranchSelection';
    procedure setAllowsEmptySelection(flag: Boolean); message 'setAllowsEmptySelection:';
    function allowsEmptySelection: Boolean; message 'allowsEmptySelection';
    procedure setTakesTitleFromPreviousColumn(flag: Boolean); message 'setTakesTitleFromPreviousColumn:';
    function takesTitleFromPreviousColumn: Boolean; message 'takesTitleFromPreviousColumn';
    procedure setSendsActionOnArrowKeys(flag: Boolean); message 'setSendsActionOnArrowKeys:';
    function sendsActionOnArrowKeys: Boolean; message 'sendsActionOnArrowKeys';
    function itemAtIndexPath(indexPath: NSIndexPath): id; message 'itemAtIndexPath:';
    function itemAtRow_inColumn(row: NSInteger; column: NSInteger): id; message 'itemAtRow:inColumn:';
    function indexPathForColumn(column: NSInteger): NSIndexPath; message 'indexPathForColumn:';
    function isLeafItem(item: id): Boolean; message 'isLeafItem:';
    procedure reloadDataForRowIndexes_inColumn(rowIndexes: NSIndexSet; column: NSInteger); message 'reloadDataForRowIndexes:inColumn:';
    function parentForItemsInColumn(column: NSInteger): id; message 'parentForItemsInColumn:';
    procedure scrollRowToVisible_inColumn(row: NSInteger; column: NSInteger); message 'scrollRowToVisible:inColumn:';
    procedure setTitle_ofColumn(aString: NSString; column: NSInteger); message 'setTitle:ofColumn:';
    function titleOfColumn(column: NSInteger): NSString; message 'titleOfColumn:';
    procedure setPathSeparator(newString: NSString); message 'setPathSeparator:';
    function pathSeparator: NSString; message 'pathSeparator';
    function setPath(path_: NSString): Boolean; message 'setPath:';
    function path: NSString; message 'path';
    function pathToColumn(column: NSInteger): NSString; message 'pathToColumn:';
    function clickedColumn: NSInteger; message 'clickedColumn';
    function clickedRow: NSInteger; message 'clickedRow';
    function selectedColumn: NSInteger; message 'selectedColumn';
    function selectedCell: id; message 'selectedCell';
    function selectedCellInColumn(column: NSInteger): id; message 'selectedCellInColumn:';
    function selectedCells: NSArray; message 'selectedCells';
    procedure selectRow_inColumn(row: NSInteger; column: NSInteger); message 'selectRow:inColumn:';
    function selectedRowInColumn(column: NSInteger): NSInteger; message 'selectedRowInColumn:';
    function selectionIndexPath: NSIndexPath; message 'selectionIndexPath';
    procedure setSelectionIndexPath(path_: NSIndexPath); message 'setSelectionIndexPath:';
    function selectionIndexPaths: NSArray; message 'selectionIndexPaths';
    procedure setSelectionIndexPaths(paths: NSArray); message 'setSelectionIndexPaths:';
    procedure selectRowIndexes_inColumn(indexes: NSIndexSet; column: NSInteger); message 'selectRowIndexes:inColumn:';
    function selectedRowIndexesInColumn(column: NSInteger): NSIndexSet; message 'selectedRowIndexesInColumn:';
    procedure reloadColumn(column: NSInteger); message 'reloadColumn:';
    procedure validateVisibleColumns; message 'validateVisibleColumns';
    procedure scrollColumnsRightBy(shiftAmount: NSInteger); message 'scrollColumnsRightBy:';
    procedure scrollColumnsLeftBy(shiftAmount: NSInteger); message 'scrollColumnsLeftBy:';
    procedure scrollColumnToVisible(column: NSInteger); message 'scrollColumnToVisible:';
    function lastColumn: NSInteger; message 'lastColumn';
    procedure setLastColumn(column: NSInteger); message 'setLastColumn:';
    procedure addColumn; message 'addColumn';
    function numberOfVisibleColumns: NSInteger; message 'numberOfVisibleColumns';
    function firstVisibleColumn: NSInteger; message 'firstVisibleColumn';
    function lastVisibleColumn: NSInteger; message 'lastVisibleColumn';
    function columnOfMatrix(matrix: NSMatrix): NSInteger; message 'columnOfMatrix:';
    function matrixInColumn(column: NSInteger): NSMatrix; message 'matrixInColumn:';
    function loadedCellAtRow_column(row: NSInteger; col: NSInteger): id; message 'loadedCellAtRow:column:';
    procedure selectAll(sender: id); message 'selectAll:';
    procedure tile; message 'tile';
    procedure doClick(sender: id); message 'doClick:';
    procedure doDoubleClick(sender: id); message 'doDoubleClick:';
    function sendAction: Boolean; message 'sendAction';
    function titleFrameOfColumn(column: NSInteger): NSRect; message 'titleFrameOfColumn:';
    procedure drawTitleOfColumn_inRect(column: NSInteger; aRect: NSRect); message 'drawTitleOfColumn:inRect:';
    function titleHeight: CGFloat; message 'titleHeight';
    function frameOfColumn(column: NSInteger): NSRect; message 'frameOfColumn:';
    function frameOfInsideOfColumn(column: NSInteger): NSRect; message 'frameOfInsideOfColumn:';
    function frameOfRow_inColumn(row: NSInteger; column: NSInteger): NSRect; message 'frameOfRow:inColumn:';
    function getRow_column_forPoint(row: NSIntegerPtr; column: NSIntegerPtr; point: NSPoint): Boolean; message 'getRow:column:forPoint:';
    function columnWidthForColumnContentWidth(columnContentWidth: CGFloat): CGFloat; message 'columnWidthForColumnContentWidth:';
    function columnContentWidthForColumnWidth(columnWidth: CGFloat): CGFloat; message 'columnContentWidthForColumnWidth:';
    procedure setColumnResizingType(columnResizingType_: NSBrowserColumnResizingType); message 'setColumnResizingType:';
    function columnResizingType: NSBrowserColumnResizingType; message 'columnResizingType';
    procedure setPrefersAllColumnUserResizing(prefersAllColumnResizing: Boolean); message 'setPrefersAllColumnUserResizing:';
    function prefersAllColumnUserResizing: Boolean; message 'prefersAllColumnUserResizing';
    procedure setWidth_ofColumn(columnWidth: CGFloat; columnIndex: NSInteger); message 'setWidth:ofColumn:';
    function widthOfColumn(column: NSInteger): CGFloat; message 'widthOfColumn:';
    procedure setRowHeight(height: CGFloat); message 'setRowHeight:';
    function rowHeight: CGFloat; message 'rowHeight';
    procedure noteHeightOfRowsWithIndexesChanged_inColumn(indexSet: NSIndexSet; columnIndex: NSInteger); message 'noteHeightOfRowsWithIndexesChanged:inColumn:';
    procedure setDefaultColumnWidth(columnWidth: CGFloat); message 'setDefaultColumnWidth:';
    function defaultColumnWidth: CGFloat; message 'defaultColumnWidth';
    procedure setColumnsAutosaveName(name: NSString); message 'setColumnsAutosaveName:';
    function columnsAutosaveName: NSString; message 'columnsAutosaveName';
    class procedure removeSavedColumnsWithAutosaveName(name: NSString); message 'removeSavedColumnsWithAutosaveName:';
    function canDragRowsWithIndexes_inColumn_withEvent(rowIndexes: NSIndexSet; column: NSInteger; event: NSEvent): Boolean; message 'canDragRowsWithIndexes:inColumn:withEvent:';
    function draggingImageForRowsWithIndexes_inColumn_withEvent_offset(rowIndexes: NSIndexSet; column: NSInteger; event: NSEvent; dragImageOffset: NSPointPointer): NSImage; message 'draggingImageForRowsWithIndexes:inColumn:withEvent:offset:';
    procedure setDraggingSourceOperationMask_forLocal(mask: NSDragOperation; isLocal: Boolean); message 'setDraggingSourceOperationMask:forLocal:';
    function allowsTypeSelect: Boolean; message 'allowsTypeSelect';
    procedure setAllowsTypeSelect(value: Boolean); message 'setAllowsTypeSelect:';
    procedure setBackgroundColor(color: NSColor); message 'setBackgroundColor:';
    function backgroundColor: NSColor; message 'backgroundColor';
    procedure editItemAtIndexPath_withEvent_select(indexPath: NSIndexPath; theEvent: NSEvent; select: Boolean); message 'editItemAtIndexPath:withEvent:select:';
  end;

{ NSDeprecated_NSBrowserCategory }
  NSDeprecated_NSBrowserCategory = objccategory external name 'NSDeprecated' (NSBrowser)
    procedure setAcceptsArrowKeys(flag: Boolean); message 'setAcceptsArrowKeys:'; deprecated 'in Mac OS X 10.6 and later';
    function acceptsArrowKeys: Boolean; message 'acceptsArrowKeys'; deprecated 'in Mac OS X 10.6 and later';
    procedure displayColumn(column: NSInteger); message 'displayColumn:'; deprecated 'in Mac OS X 10.3 and later';
    procedure displayAllColumns; message 'displayAllColumns'; deprecated 'in Mac OS X 10.3 and later';
    procedure scrollViaScroller(sender: NSScroller); message 'scrollViaScroller:'; deprecated 'in Mac OS X 10.3 and later';
    procedure updateScroller; message 'updateScroller'; deprecated 'in Mac OS X 10.3 and later';
  end;

{$endif}
{$endif}
{$ifdef PROTOCOLS}
{$ifndef NSBROWSER_PAS_P}
{$define NSBROWSER_PAS_P}
  
{ NSBrowserDelegate Protocol }
  NSBrowserDelegateProtocol = objcprotocol external name 'NSBrowserDelegate'
  optional
    function browser_numberOfRowsInColumn(sender: NSBrowser; column: NSInteger): NSInteger; message 'browser:numberOfRowsInColumn:';
    procedure browser_createRowsForColumn_inMatrix(sender: NSBrowser; column: NSInteger; matrix: NSMatrix); message 'browser:createRowsForColumn:inMatrix:';
    function browser_numberOfChildrenOfItem(browser: NSBrowser; item: id): NSInteger; message 'browser:numberOfChildrenOfItem:';
    function browser_child_ofItem(browser: NSBrowser; index: NSInteger; item: id): id; message 'browser:child:ofItem:';
    function browser_isLeafItem(browser: NSBrowser; item: id): Boolean; message 'browser:isLeafItem:';
    function browser_objectValueForItem(browser: NSBrowser; item: id): id; message 'browser:objectValueForItem:';
    function browser_heightOfRow_inColumn(browser: NSBrowser; row: NSInteger; columnIndex: NSInteger): CGFloat; message 'browser:heightOfRow:inColumn:';
    function rootItemForBrowser(browser: NSBrowser): id; message 'rootItemForBrowser:';
    procedure browser_setObjectValue_forItem(browser: NSBrowser; object_: id; item: id); message 'browser:setObjectValue:forItem:';
    function browser_shouldEditItem(browser: NSBrowser; item: id): Boolean; message 'browser:shouldEditItem:';
    procedure browser_willDisplayCell_atRow_column(sender: NSBrowser; cell: id; row: NSInteger; column: NSInteger); message 'browser:willDisplayCell:atRow:column:';
    function browser_titleOfColumn(sender: NSBrowser; column: NSInteger): NSString; message 'browser:titleOfColumn:';
    function browser_selectCellWithString_inColumn(sender: NSBrowser; title: NSString; column: NSInteger): Boolean; message 'browser:selectCellWithString:inColumn:';
    function browser_selectRow_inColumn(sender: NSBrowser; row: NSInteger; column: NSInteger): Boolean; message 'browser:selectRow:inColumn:';
    function browser_isColumnValid(sender: NSBrowser; column: NSInteger): Boolean; message 'browser:isColumnValid:';
    procedure browserWillScroll(sender: NSBrowser); message 'browserWillScroll:';
    procedure browserDidScroll(sender: NSBrowser); message 'browserDidScroll:';
    function browser_shouldSizeColumn_forUserResize_toWidth(browser: NSBrowser; columnIndex: NSInteger; forUserResize: Boolean; suggestedWidth: CGFloat): CGFloat; message 'browser:shouldSizeColumn:forUserResize:toWidth:';
    function browser_sizeToFitWidthOfColumn(browser: NSBrowser; columnIndex: NSInteger): CGFloat; message 'browser:sizeToFitWidthOfColumn:';
    procedure browserColumnConfigurationDidChange(notification: NSNotification); message 'browserColumnConfigurationDidChange:';
    function browser_shouldShowCellExpansionForRow_column(browser: NSBrowser; row: NSInteger; column: NSInteger): Boolean; message 'browser:shouldShowCellExpansionForRow:column:';
    function browser_writeRowsWithIndexes_inColumn_toPasteboard(browser: NSBrowser; rowIndexes: NSIndexSet; column: NSInteger; pasteboard: NSPasteboard): Boolean; message 'browser:writeRowsWithIndexes:inColumn:toPasteboard:';
    function browser_namesOfPromisedFilesDroppedAtDestination_forDraggedRowsWithIndexes_inColumn(browser: NSBrowser; dropDestination: NSURL; rowIndexes: NSIndexSet; column: NSInteger): NSArray; message 'browser:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:inColumn:';
    function browser_canDragRowsWithIndexes_inColumn_withEvent(browser: NSBrowser; rowIndexes: NSIndexSet; column: NSInteger; event: NSEvent): Boolean; message 'browser:canDragRowsWithIndexes:inColumn:withEvent:';
    function browser_draggingImageForRowsWithIndexes_inColumn_withEvent_offset(browser: NSBrowser; rowIndexes: NSIndexSet; column: NSInteger; event: NSEvent; dragImageOffset: NSPointPointer): NSImage; message 'browser:draggingImageForRowsWithIndexes:inColumn:withEvent:offset:';
    function browser_validateDrop_proposedRow_column_dropOperation(browser: NSBrowser; info: NSDraggingInfoProtocol; row: NSIntegerPtr; column: NSIntegerPtr; dropOperation: NSBrowserDropOperationPtr): NSDragOperation; message 'browser:validateDrop:proposedRow:column:dropOperation:';
    function browser_acceptDrop_atRow_column_dropOperation(browser: NSBrowser; info: NSDraggingInfoProtocol; row: NSInteger; column: NSInteger; dropOperation: NSBrowserDropOperation): Boolean; message 'browser:acceptDrop:atRow:column:dropOperation:';
    function browser_typeSelectStringForRow_inColumn(browser: NSBrowser; row: NSInteger; column: NSInteger): NSString; message 'browser:typeSelectStringForRow:inColumn:';
    function browser_shouldTypeSelectForEvent_withCurrentSearchString(browser: NSBrowser; event: NSEvent; searchString: NSString): Boolean; message 'browser:shouldTypeSelectForEvent:withCurrentSearchString:';
    function browser_nextTypeSelectMatchFromRow_toRow_inColumn_forString(browser: NSBrowser; startRow: NSInteger; endRow: NSInteger; column: NSInteger; searchString: NSString): NSInteger; message 'browser:nextTypeSelectMatchFromRow:toRow:inColumn:forString:';
    function browser_previewViewControllerForLeafItem(browser: NSBrowser; item: id): NSViewController; message 'browser:previewViewControllerForLeafItem:';
    function browser_headerViewControllerForItem(browser: NSBrowser; item: id): NSViewController; message 'browser:headerViewControllerForItem:';
    procedure browser_didChangeLastColumn_toColumn(browser: NSBrowser; oldLastColumn: NSInteger; column: NSInteger); message 'browser:didChangeLastColumn:toColumn:';
    function browser_selectionIndexesForProposedSelection_inColumn(browser: NSBrowser; proposedSelectionIndexes: NSIndexSet; column: NSInteger): NSIndexSet; message 'browser:selectionIndexesForProposedSelection:inColumn:';
  end;
{$endif}
{$endif}