The user interface of a path control object.


@interface NSPathCell : NSActionCell


NSPathCell maintains a collection of NSPathComponentCell objects that represent a particular path to be displayed to the user.

The path shown can be set with the clickedPathComponentCell method. Doing so removes all displayed NSPathComponentCell objects and automatically fills the control with NSPathComponentCell objects set to have the appropriate icons, display titles, and NSURL values for the particular path component they represent. Alternatively, you can fill the control manually by setting the cell array or directly modifying existing cells.

Both an action and double-click action can be set for the path control. To find out what path component cell was clicked in the action, you can read the value of clickedPathComponentCell. When the style is set to NSPathStylePopUp, the action is still sent, and the clickedPathComponentCell value for the represented menu item is correctly set. The clickedPathComponentCell value is valid only when the action is being sent. It is also valid when the keyboard is used to invoke the action.

Automatic animated expansion of partially hidden NSPathComponentCell objects happens if you correctly call mouseEntered: and mouseExited: for each NSPathComponentCell in the NSPathCell object. This is not required if the pathStyle is set to NSPathStylePopUp, or if you wish to not have the animation.

NSPathCell supports several path display styles. NSPathStyleStandard has a light blue background with arrows indicating the path. NSPathStyleNavigationBar has more defined arrows (chevrons) and looks a little like a segmented button. NSPathStylePopUp looks and works like an NSPopUpButton object to display the full path, or, if the cell is editable, select a new path.

If the cell’s editable method returns YES (the default), you can drag and drop into the cell to change the value. You can constrain what can be dropped using UTIs (Uniform Type Identifiers) with allowedTypes or the appropriate delegate methods on NSPathControl.

If the cell’s selectable method returns YES (the default), the cell's contents can automatically be dragged out. The proper UTI, filename, and URL are placed on the pasteboard. You can further control or limit this by using the appropriate delegate methods on NSPathControl.

If the cell is editable and has the path style set to NSPathStylePopUp, an additional item in the pop-up menu allows selecting another location. By default, an NSOpenPanel object is configured based on the allowed types. The NSOpenPanel object can be customized with a delegate method.


Displaying Hidden Components

- mouseEntered:withFrame:inView:

Displays the cell component over which the mouse is hovering.

- mouseExited:withFrame:inView:

Hides the cell component over which the mouse is hovering.

Setting the Allowed Types


Sets the component types allowed in the path when the cell is editable.

Setting the Control Style


Sets the receiver’s path style.

- setControlSize:

Sets the receiver’s control size.

Setting the Object Value

- setObjectValue:

Sets the receiver’s object value.

Setting Cell Appearance


Sets the value of the placeholder attributed string.


Returns the placeholder string.


Returns the current background color of the receiver.

Managing Path Components


Returns the class used to create pathComponentCell objects when automatically filling up the control.

- rectOfPathComponentCell:withFrame:inView:

Returns the current rectangle being displayed for a given path component cell, with respect to a given frame in a given view.

- pathComponentCellAtPoint:withFrame:inView:

Returns the cell located at the given point within the given frame of the given view.


Sets the value of the path displayed by the receiver.


Sets the array of NSPathComponentCell objects currently being displayed.

Setting the Double-Click Action


Sets the receiver’s double-click action.

Setting the Path


Returns the path displayed by the receiver.


Sets the value of the path displayed by the receiver.

Setting the Delegate


Sets the receiver’s delegate.



NSPathStyle constants represent the different visual and behavioral styles an NSPathControl or NSPathCell object can have.


Inherits From

See Also



A set of methods that enable the delegate of a path cell object to customize the Open panel or pop-up menu of a path whose style is set to NSPathStylePopUp.


A component of a path.