Platforms to show: All Mac Windows Linux Cross-Platform
Back to DesktopNSOutlineControlMBS control.
DesktopNSOutlineControlMBS.acceptDrop(info as NSDraggingInfoMBS, item as NSOutlineViewItemMBS, index as Integer) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
info: An object that contains more information about this dragging operation.
item: The parent of the item over which the cursor was placed when the mouse button was released.
index: The index of the child of item over which the cursor was placed when the mouse button was released.
Return true if the drop operation was successful, otherwise false.
The data source should incorporate the data from the dragging pasteboard in the implementation of this method. You can get the data for the drop operation from info using the draggingPasteboard method.
The return value indicates success or failure of the drag operation to the system.
DesktopNSOutlineControlMBS.BoundsChanged
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.childOfItem(index as Integer, item as NSOutlineViewItemMBS) as NSOutlineViewItemMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
index: The index of the child item from item to return.
item: An item in the data source.
Return the child item at index of item. If item is nil, returns the appropriate child item of the root object.
Children of a given parent item are accessed sequentially. In order for the collapsed state of the outline view to remain consistent when it is reloaded you must always return the same object for a specified child and item.
Do not call reloadData from this method.
This event is called very frequently, so it must be efficient.
DesktopNSOutlineControlMBS.Closing
Type | Topic | Version |
event | Cocoa Controls | 21.5 |
The control is about to close.
In older Xojo versions, this event is named Close.
DesktopNSOutlineControlMBS.ColumnDidMove(notification as NSNotificationMBS, OldColumn as Integer, NewColumn as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.ColumnDidResize(notification as NSNotificationMBS, tableColumn as NSTableColumnMBS, OldWidth as Double)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.concludeDragOperation(info as NSDraggingInfoMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
sender: The object sending the message; use it to get details about the dragging operation.
For this method to be invoked, the previous performDragOperation must have returned true.
The destination implements this method to perform any tidying up that it needs to do, such as updating its visual representation now that it has incorporated the dragged data. This message is the last message sent from sender to the destination during a dragging session.
If the sender object's animatesToDestination property was set to true in prepareForDragOperation, then the drag image is still visible. At this point you should draw the final visual representation in the view. When this method returns, the drag image is removed form the screen. If your final visual representation matches the visual representation in the drag, this is a seamless transition.
DesktopNSOutlineControlMBS.ConstructContextualMenu(base as DesktopMenuItem, x as Integer, y as Integer) As Boolean
Type | Topic | Version |
event | Cocoa Controls | 22.1 |
DesktopNSOutlineControlMBS.ContextualMenuItemSelected(selectedItem As DesktopMenuItem) As Boolean
Type | Topic | Version |
event | Cocoa Controls | 21.5 |
This allows the control to react on its relevant menu items. Please return true if you handled it or false to give others a chance.
DesktopNSOutlineControlMBS.dataCell(tableColumn as NSTableColumnMBS, item as NSOutlineViewItemMBS) as NSCellMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
tableColumn: The table column for which the cell is required. This value may be nil.
item: The item for which the cell is required.
Return the cell to use in column tableColumn for item item, or nil. The cell must properly implement copyWithZone (since it may be copied by by the outline view).
You can return a different data cell for any particular combination of table column and item, or a cell that will be used for the entire row (a full-width cell). If tableColumn is non-nil, you should return a cell. Typically, you should default to returning the result from [tableColumn dataCellForRow:row].
When each row (identified by the item) is being drawn, this method is first called with a nil value for tableColumn. At this time, you can return a cell that is used to draw the entire row, acting like a group. If you do return a cell for the nil table column, your implementations of the other corresponding data source and delegate methods must be prepared to be invoked with a nil value for tableColumn. If do not return a cell for the nil table column, the method is called once for each column in the outline view, as usual.
DesktopNSOutlineControlMBS.didAddRowView(rowView as NSTableRowViewMBS, row as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
rowView: The new row view.
row: The row to which the view was added.
This evemt is for NSView-based outline views. At this point, you can choose to add in extra views or modify any properties on rowView.
DesktopNSOutlineControlMBS.didClickTableColumn(tableColumn as NSTableColumnMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.didDragTableColumn(tableColumn as NSTableColumnMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.didRemoveRowView(rowView as NSTableRowViewMBS, row as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
rowView: The row view that was removed.
row: The number of the row that was removed due to being moved offscreen, or -1 if the row was removed from the table so it is no longer valid.
The removed rowView may be reused by the table, so any additionally inserted views should be removed at this point.
DesktopNSOutlineControlMBS.didTile
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
The internal tile function properly sizes the table view and its header view and marks it as needing display.
DesktopNSOutlineControlMBS.DoubleClick
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.draggingEnded(info as NSDraggingInfoMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
sender: The object sending the message; use it to get details about the dragging operation.
This method might be used by a destination doing auto-expansion in order to collapse any auto-expands.
DesktopNSOutlineControlMBS.draggingExited(info as NSDraggingInfoMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
sender: The object sending the message; use it to get details about the dragging operation.
Return one (and only one) of the dragging operation constants described in NSDragOperation in the NSDraggingInfo reference. The default return value (if this method is not implemented by the destination) is the value returned by the previous draggingEntered message.
Invoked when a dragged image enters the destination but only if the destination has registered for the pasteboard data type involved in the drag operation. Specifically, this method is invoked when the mouse pointer enters the destination's bounds rectangle (if it is a view object) or its frame rectangle (if it is a window object).
This method must return a value that indicates which dragging operation the destination will perform when the image is released. In deciding which dragging operation to return, the method should evaluate the overlap between both the dragging operations allowed by the source (obtained from sender with the draggingSourceOperationMask method) and the dragging operations and pasteboard data types the destination itself supports.
If none of the operations is appropriate, this method should return NSDragOperationNone (this is the default response if the method is not implemented by the destination). A destination will still receive draggingUpdated and draggingExited even if NSDragOperationNone is returned by this method.
DesktopNSOutlineControlMBS.draggingSessionEnded(session as NSDraggingSessionMBS, screenPoint as NSPointMBS, operation as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
session: The dragging session that ended.
screenPoint: The point onscreen at which the drag ended.
operation: A mask specifying the types of drag operations permitted by the dragging source.
You can implement this optional delegate method to know when the dragging source operation ended at a specific location, such as the trash (by checking for an operation of NSDragOperationDelete).
DesktopNSOutlineControlMBS.draggingSessionWillBegin(session as NSDraggingSessionMBS, screenPoint as NSPointMBS, draggedItems() as NSOutlineViewItemMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
session: The dragging session that is about to begin.
screenPoint: The point onscreen at which the drag is to begin.
draggedItems: A array of items to be dragged, excluding items for which pasteboardWriterForItem returns nil.
The draggedItems array directly matches the pasteboard writer array used to begin the dragging session with the NSView method beginDraggingSessionWithItems. Hence, the order is deterministic, and can be used in acceptDrop when enumerating the NSDraggingInfo protocol's pasteboard classes.
DesktopNSOutlineControlMBS.FocusLost
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
The control lost focus.
In older Xojo versions, this event is named LostFocus.
This only fires if the control itself lost focus and not a sub control.
DesktopNSOutlineControlMBS.FocusReceived
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
The control itself got focus.
In older Xojo versions, this event is named GotFocus.
This only fires if the control itself got focus and not a sub control.
DesktopNSOutlineControlMBS.FrameChanged
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event notifies you, that the control changed it's bounding frame, which is position and/or size.
DesktopNSOutlineControlMBS.heightOfRowByItem(item as NSOutlineViewItemMBS) as Double
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
item: The row item.
Return the height of the row.
Values returned by this method should not include intercell spacing and must be greater than 0.
Implement this event to support an outline view with varying row heights.
For large tables in particular, you should make sure that this method is efficient. NSOutlineView may cache the values this method returns, so if you would like to change a row's height make sure to invalidate the row height by calling noteHeightOfRowsWithIndexesChanged. NSOutlineView automatically invalidates its entire row height cache in reloadData and noteNumberOfRowsChanged.
If you call viewAtColumn or rowViewAtRow within your implementation of this method, an exception is thrown.
To avoid the possibility of a hang due to unexpected recursion, don’t call geometry-calculating methods such as bounds, rectOfColumn, or any NSTableView method that calls tile within your implementation of this method.
DesktopNSOutlineControlMBS.isGroupItem(item as NSOutlineViewItemMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
item: An item in the outline view.
Return true to indicate a particular row should have the "group row" style drawn for that row, otherwise false.
If the cell in that row is an instance of NSTextFieldCell and contains only a string value, the “group row” style attributes are automatically applied for that cell.
DesktopNSOutlineControlMBS.isItemExpandable(item as NSOutlineViewItemMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
item: An item in the data source.
Returns true if item can be expanded to display its children, otherwise NO.
This method may be called quite often, so it must be efficient.
Do not call reloadData from this method.
DesktopNSOutlineControlMBS.ItemDidCollapse(notification as NSNotificationMBS, item as NSOutlineViewItemMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.ItemDidExpand(notification as NSNotificationMBS, item as NSOutlineViewItemMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.itemForPersistentObject(PersistentObject as Variant) as NSOutlineViewItemMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
object: An archived representation of an item in outlineView's data source.
Return the unarchived item corresponding to object. If the item is an archived object, this method may return the object.
When the outline view is restoring the saved expanded items, this method is called for each expanded item, to translate the archived object to an outline view item.
You must implement this method if you are automatically saving expanded items (that is, if autosaveExpandedItems returns true).
DesktopNSOutlineControlMBS.ItemWillCollapse(notification as NSNotificationMBS, item as NSOutlineViewItemMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.ItemWillExpand(notification as NSNotificationMBS, item as NSOutlineViewItemMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.LeftMouseDown(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.LeftMouseDragged(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.LeftMouseUp(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.MenuBarSelected
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
The event where you can enable menu items.
In older Xojo versions, this event is named EnableMenuItems.
DesktopNSOutlineControlMBS.MouseDown(x as Integer, y as Integer, Modifiers as Integer) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
The coordinates x and y are local to the control, i.e. they represent the position of the mouse click relative to the upper-left corner or the Control.
Return True if you are going to handle the MouseDown. In such a case:
- The Action event, if any, will not execute and the state of the object will not change.
- You will receive the MouseDrag and MouseUp events.
DesktopNSOutlineControlMBS.mouseDownInHeaderOfTableColumn(tableColumn as NSTableColumnMBS)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
DesktopNSOutlineControlMBS.MouseDrag(x as Integer, y as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
Mouse location is local to the control passed in to x, y.
As this event is fired continuously (hundreds of time per second), it is your responsibility to determine if the mouse has really moved.
DesktopNSOutlineControlMBS.MouseUp(x as Integer, y as Integer)
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
Use the x and y parameters to determine if the mouse button was released within the control's boundaries.
DesktopNSOutlineControlMBS.namesOfPromisedFilesDroppedAtDestination(dropDestination as folderItem, DraggedItems() as NSOutlineViewItemMBS) as string()
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
dropDestination: The drop location where the files are created.
items: The items being dragged.
Returns an array of filenames (not full paths) for the created files that the receiver promises to create.
For more information on file promise dragging, see documentation on the NSDraggingSource protocol and namesOfPromisedFilesDroppedAtDestination.
DesktopNSOutlineControlMBS.nextTypeSelectMatchFromItem(startItem as NSOutlineViewItemMBS, endItem as NSOutlineViewItemMBS, searchString as String) as NSOutlineViewItemMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
startItem: The first item to search.
endItem: The item before which to stop searching. It is possible for endItem to be less than startItem if the search will wrap.
searchString: The string for which to search.
Returns the first item—from within the range of startItem to endItem—that matches the searchString, or nil if there is no match.
Implement this method if you want to control how type selection works. You should include startItem as a possible match, but do not include endItem.
It is not necessary to implement this event in order to support type select.
DesktopNSOutlineControlMBS.numberOfChildrenOfItem(item as NSOutlineViewItemMBS) as Integer
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
item: An item in the data source.
Returns the number of child items encompassed by item. If item is nil, this method should return the number of children for the top-level item.
The numberOfChildrenOfItem method is called very frequently, so it must be efficient.
Do not call reloadData from this method.
DesktopNSOutlineControlMBS.objectValue(tableColumn as NSTableColumnMBS, item as NSOutlineViewItemMBS) as Variant
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
tableColumn: A column in outlineView.
item: An item in the data source in the specified tableColumn of the view.
Returns the item is located in the specified tableColumn of the view.
Do not call reloadData from this method.
DesktopNSOutlineControlMBS.Opening
Type | Topic | Version |
event | Cocoa Controls | 21.5 |
The control is about to was created and you can initialize it.
In older Xojo versions, this event is named Open.
DesktopNSOutlineControlMBS.OtherMouseDown(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.OtherMouseDragged(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.OtherMouseUp(e as NSEventMBS) as Boolean
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
This event is called before the normal event processing from Xojo happens. So return true to hide event from Xojo runtime.
DesktopNSOutlineControlMBS.pasteboardWriterForItem(item as NSOutlineViewItemMBS) as NSPasteboardItemMBS
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
event | Cocoa Controls | MBS MacControls Plugin | 21.5 | ✅ Yes | ❌ No | ❌ No | ❌ No |
item: The item for which to return a pasteboard writer.
Returns a NSPasteboardItem object.
If this method is implemented, then writeItems is not called.
The items on this page are in the following plugins: MBS MacControls Plugin.