Struct NSTabViewController

Source
#[repr(C)]
pub struct NSTabViewController { /* private fields */ }
Available on crate features NSResponder and NSTabViewController and NSViewController only.
Expand description

NSTabViewController is a container view controller that displays a single child view controller at a time from its childViewControllers.It provides standard tab-style UI for user selection of tabs, or allows custom UI to be easily created by providing targets for bindings. ChildViewControllers’ views are lazily loaded; they are only loaded once their tab is selected and visible. The NSTabViewController is set as the delegate of its managed NSTabView. Any overrides of NSTabViewDelegate methods must call super. Properties of the TabView such as the tabStyle can be directly manipulated, but calling methods that add and remove tabViewItems or changing the delegate is not allowed. NSViewController’s methods -addChildViewController:,``-insertViewController:atIndex:,and -removeChildViewControllerAtIndex:can all be used as convience methods to add children; default TabViewItems will be appropriately created or destroyed. The default NSTabViewItem created with with +[NSTabViewItem tabViewItemForViewController:].

See also Apple’s documentation

Implementations§

Source§

impl NSTabViewController

Source

pub unsafe fn tabStyle(&self) -> NSTabViewControllerTabStyle

The style that this NSTabViewController displays its UI as. Defaults to NSTabViewControllerTabStyleSegmentedControlOnTop.

Source

pub unsafe fn setTabStyle(&self, tab_style: NSTabViewControllerTabStyle)

Setter for tabStyle.

Source

pub unsafe fn tabView(&self) -> Retained<NSTabView>

Available on crate features NSTabView and NSView only.

Access to the tab view that the controller is controlling. To provide a custom NSTabView, assign the value anytime before self.viewLoadedis YES.Querying the value will create it on-demand, if needed. Check self.viewLoadedbefore querying the value to avoid prematurely creating the view. Note that the -tabViewmay not be equal to the viewController.view.Properties such as the tabStyle can be directly manipulated, but calling methods that add and remove tabViewItems or changing the delegate is not allowed. The NSTabViewController will be made the delegate of the NSTabView. Internally, the NSTabView is always used to switch between displayed childViewControllers, regardless of the style displayed.

Source

pub unsafe fn setTabView(&self, tab_view: &NSTabView)

Available on crate features NSTabView and NSView only.

Setter for tabView.

Source

pub unsafe fn transitionOptions(&self) -> NSViewControllerTransitionOptions

This defines how NSTabViewController transitions from one view to another. Transitions go through [self transitionFromViewController:toViewController:options:completionHandler:]. The default value is NSViewControllerTransitionCrossfade|NSViewControllerTransitionAllowUserInteraction.

Source

pub unsafe fn setTransitionOptions( &self, transition_options: NSViewControllerTransitionOptions, )

Setter for transitionOptions.

Source

pub unsafe fn canPropagateSelectedChildViewControllerTitle(&self) -> bool

If YES and the receiving NSTabViewController has a nil title, -titlewill return its selected child ViewController’s title. If NO, it will continue to return nil. The default value is YES.

Source

pub unsafe fn setCanPropagateSelectedChildViewControllerTitle( &self, can_propagate_selected_child_view_controller_title: bool, )

Source

pub unsafe fn tabViewItems(&self) -> Retained<NSArray<NSTabViewItem>>

Available on crate feature NSTabViewItem only.

The array of tab view items that correspond to the current child view controllers. After a child view controller is added to the receiving TabViewController, a NSTabViewItem with the default values will be created for it. Once the child is removed, its corresponding tabViewItem will be removed from the tabViewItems array.

Source

pub unsafe fn setTabViewItems(&self, tab_view_items: &NSArray<NSTabViewItem>)

Available on crate feature NSTabViewItem only.

Setter for tabViewItems.

Source

pub unsafe fn selectedTabViewItemIndex(&self) -> NSInteger

Read and write the current selected TabViewItem that is being shown. This value is KVC compliant and can be the target of a binding. For instance, a NSSegmentedControl’s selection can be bound to this value with:

 [segmentedControl bind:NSSelectedIndexBinding toObject:tabViewController withKeyPath:@“selectedTabViewItemIndex" options:nil];
Source

pub unsafe fn setSelectedTabViewItemIndex( &self, selected_tab_view_item_index: NSInteger, )

Source

pub unsafe fn addTabViewItem(&self, tab_view_item: &NSTabViewItem)

Available on crate feature NSTabViewItem only.

Adds a TabViewItem to the end of the TabViewController. The tabViewItem’s viewController’s view will only be loaded once its tab is selected.

Parameter tabViewItem: The TabViewItem to add. It must have a viewControllerset by the time it is added or an exception will be thrown. An exception will also be thrown if tabViewItem is nil.

Source

pub unsafe fn insertTabViewItem_atIndex( &self, tab_view_item: &NSTabViewItem, index: NSInteger, )

Available on crate feature NSTabViewItem only.

Adds a TabViewItem to a given index in the TabViewController. The tabViewItem’s viewController’s view will only be loaded once its tab is selected. -selectedTabViewItemIndexwill be adjusted if the insertion index is before it. Subclasses must call through -insertTabViewItem:atIndex:to add a TabViewItem.

Parameter tabViewItem: The TabViewItem to add. It must have a viewControllerset by the time it is added or an exception will be thrown. An exception will also be thrown if tabViewItem is nil.

Parameter index: The index to add the TabViewItem at. Will throw an exception if index< 0 or index> tabViewItems.count

Source

pub unsafe fn removeTabViewItem(&self, tab_view_item: &NSTabViewItem)

Available on crate feature NSTabViewItem only.

Removes a TabViewItem from the receiver. If the removed tabViewItem currently selected, the next (or previous, if there is no next) tabViewItem will become selected. If this is the only tabViewItem in the TabViewController, the selectedTabViewItemIndex will become -1.Subclasses must call through -removeTabViewItem:to remove a TabViewItem.

Parameter tabViewItem: The TabViewItem to remove. An exception will be thrown if tabViewItemis not in the NSTabViewController or if it is nil.

Source

pub unsafe fn tabViewItemForViewController( &self, view_controller: &NSViewController, ) -> Option<Retained<NSTabViewItem>>

Available on crate feature NSTabViewItem only.

Convenience method for getting the associated tab view item for a particular childViewController.

Parameter viewController: The ViewController to look up.

Returns: The corresponding TabViewItem. Returns nil if viewControlleris not a child of the TabViewController.

Source

pub unsafe fn viewDidLoad(&self)

Source

pub unsafe fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )

Available on crate features NSTabView and NSTabViewItem and NSView only.
Source

pub unsafe fn tabView_didSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )

Available on crate features NSTabView and NSTabViewItem and NSView only.
Source

pub unsafe fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool

Available on crate features NSTabView and NSTabViewItem and NSView only.
Source

pub unsafe fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, flag: bool, ) -> Option<Retained<NSToolbarItem>>

Available on crate features NSToolbar and NSToolbarItem only.
Source

pub unsafe fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>

Available on crate feature NSToolbar only.
Source

pub unsafe fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>

Available on crate feature NSToolbar only.
Source

pub unsafe fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>

Available on crate feature NSToolbar only.
Source§

impl NSTabViewController

Methods declared on superclass NSViewController.

Source

pub unsafe fn initWithNibName_bundle( this: Allocated<Self>, nib_name_or_nil: Option<&NSNibName>, nib_bundle_or_nil: Option<&NSBundle>, ) -> Retained<Self>

Available on crate feature NSNib only.
Source

pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>

Source§

impl NSTabViewController

Methods declared on superclass NSResponder.

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

Source§

impl NSTabViewController

Methods declared on superclass NSObject.

Source

pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>

Methods from Deref<Target = NSViewController>§

Source

pub unsafe fn nibName(&self) -> Option<Retained<NSNibName>>

Available on crate feature NSNib only.
Source

pub unsafe fn nibBundle(&self) -> Option<Retained<NSBundle>>

Source

pub unsafe fn representedObject(&self) -> Option<Retained<AnyObject>>

Source

pub unsafe fn setRepresentedObject( &self, represented_object: Option<&AnyObject>, )

Setter for representedObject.

Source

pub unsafe fn title(&self) -> Option<Retained<NSString>>

Source

pub unsafe fn setTitle(&self, title: Option<&NSString>)

Setter for title.

Source

pub unsafe fn view(&self) -> Retained<NSView>

Available on crate feature NSView only.
Source

pub unsafe fn setView(&self, view: &NSView)

Available on crate feature NSView only.

Setter for view.

Source

pub unsafe fn viewIfLoaded(&self) -> Option<Retained<NSView>>

Available on crate feature NSView only.
Source

pub unsafe fn loadView(&self)

Source

pub unsafe fn loadViewIfNeeded(&self)

Source

pub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo( &self, delegate: Option<&AnyObject>, did_commit_selector: Option<Sel>, context_info: *mut c_void, )

Source

pub unsafe fn commitEditing(&self) -> bool

Source

pub unsafe fn discardEditing(&self)

Source

pub unsafe fn viewDidLoad(&self)

Source

pub unsafe fn isViewLoaded(&self) -> bool

Source

pub unsafe fn viewWillAppear(&self)

Source

pub unsafe fn viewDidAppear(&self)

Source

pub unsafe fn viewWillDisappear(&self)

Source

pub unsafe fn viewDidDisappear(&self)

Source

pub unsafe fn preferredContentSize(&self) -> NSSize

Source

pub unsafe fn setPreferredContentSize(&self, preferred_content_size: NSSize)

Source

pub unsafe fn updateViewConstraints(&self)

Source

pub unsafe fn viewWillLayout(&self)

Source

pub unsafe fn viewDidLayout(&self)

Source

pub unsafe fn presentViewController_animator( &self, view_controller: &NSViewController, animator: &ProtocolObject<dyn NSViewControllerPresentationAnimator>, )

Source

pub unsafe fn dismissViewController(&self, view_controller: &NSViewController)

Source

pub unsafe fn dismissController(&self, sender: Option<&AnyObject>)

Source

pub unsafe fn presentedViewControllers( &self, ) -> Option<Retained<NSArray<NSViewController>>>

Source

pub unsafe fn presentingViewController( &self, ) -> Option<Retained<NSViewController>>

Source

pub unsafe fn presentViewControllerAsSheet( &self, view_controller: &NSViewController, )

Source

pub unsafe fn presentViewControllerAsModalWindow( &self, view_controller: &NSViewController, )

Source

pub unsafe fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior( &self, view_controller: &NSViewController, positioning_rect: NSRect, positioning_view: &NSView, preferred_edge: NSRectEdge, behavior: NSPopoverBehavior, )

Available on crate features NSPopover and NSView only.
Source

pub unsafe fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior_hasFullSizeContent( &self, view_controller: &NSViewController, positioning_rect: NSRect, positioning_view: &NSView, preferred_edge: NSRectEdge, behavior: NSPopoverBehavior, has_full_size_content: bool, )

Available on crate features NSPopover and NSView only.
Source

pub unsafe fn transitionFromViewController_toViewController_options_completionHandler( &self, from_view_controller: &NSViewController, to_view_controller: &NSViewController, options: NSViewControllerTransitionOptions, completion: Option<&DynBlock<dyn Fn()>>, )

Available on crate feature block2 only.
Source

pub unsafe fn parentViewController(&self) -> Option<Retained<NSViewController>>

Source

pub unsafe fn childViewControllers(&self) -> Retained<NSArray<NSViewController>>

Source

pub unsafe fn setChildViewControllers( &self, child_view_controllers: &NSArray<NSViewController>, )

Source

pub unsafe fn addChildViewController( &self, child_view_controller: &NSViewController, )

Source

pub unsafe fn removeFromParentViewController(&self)

Source

pub unsafe fn insertChildViewController_atIndex( &self, child_view_controller: &NSViewController, index: NSInteger, )

Source

pub unsafe fn removeChildViewControllerAtIndex(&self, index: NSInteger)

Source

pub unsafe fn preferredContentSizeDidChangeForViewController( &self, view_controller: &NSViewController, )

Source

pub unsafe fn viewWillTransitionToSize(&self, new_size: NSSize)

Source

pub unsafe fn storyboard(&self) -> Option<Retained<NSStoryboard>>

Available on crate feature NSStoryboard only.
Source

pub unsafe fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>

Source

pub unsafe fn sourceItemView(&self) -> Option<Retained<NSView>>

Available on crate feature NSView only.
Source

pub unsafe fn setSourceItemView(&self, source_item_view: Option<&NSView>)

Available on crate feature NSView only.

Setter for sourceItemView.

Source

pub unsafe fn preferredScreenOrigin(&self) -> NSPoint

Source

pub unsafe fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint)

Source

pub unsafe fn preferredMinimumSize(&self) -> NSSize

Source

pub unsafe fn preferredMaximumSize(&self) -> NSSize

Methods from Deref<Target = NSResponder>§

Source

pub unsafe fn interfaceStyle(&self) -> NSInterfaceStyle

👎Deprecated
Available on crate feature NSInterfaceStyle only.
Source

pub unsafe fn setInterfaceStyle(&self, interface_style: NSInterfaceStyle)

👎Deprecated
Available on crate feature NSInterfaceStyle only.
Source

pub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>

Source

pub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)

Setter for nextResponder.

Source

pub unsafe fn tryToPerform_with( &self, action: Sel, object: Option<&AnyObject>, ) -> bool

Source

pub unsafe fn performKeyEquivalent(&self, event: &NSEvent) -> bool

Available on crate feature NSEvent only.
Source

pub unsafe fn validRequestorForSendType_returnType( &self, send_type: Option<&NSPasteboardType>, return_type: Option<&NSPasteboardType>, ) -> Option<Retained<AnyObject>>

Available on crate feature NSPasteboard only.
Source

pub unsafe fn mouseDown(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn rightMouseDown(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn otherMouseDown(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn mouseUp(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn rightMouseUp(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn otherMouseUp(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn mouseMoved(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn mouseDragged(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn scrollWheel(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn rightMouseDragged(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn otherMouseDragged(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn mouseEntered(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn mouseExited(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn keyDown(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn keyUp(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn flagsChanged(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn tabletPoint(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn tabletProximity(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn cursorUpdate(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn magnifyWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn rotateWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn swipeWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn beginGestureWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn endGestureWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn smartMagnifyWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn changeModeWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn touchesBeganWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn touchesMovedWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn touchesEndedWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn touchesCancelledWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn quickLookWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn pressureChangeWithEvent(&self, event: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn contextMenuKeyDown(&self, event: &NSEvent)

Available on crate feature NSEvent only.

Handle a key event that should present a context menu at the user focus.

Most applications should not override this method. Instead, you should customize the context menu displayed from a keyboard event by implementing menuForEvent: and selectionAnchorRect, or showContextMenuForSelection:, rather than this method.

You should only override this method when you do not want the system-provided default behavior for the context menu hotkey, either for a specific key combination, or for the hotkey in general. For example, if your application already provides a different behavior for control-Return (the default context menu hotkey definition), and you want to preserve that behavior, you should override this method to handle that specific key combination, and then return without calling super. Note that the user may customize the hotkey to a different key combination, so in this example, if any other key combination is passed to your method, you would call super.

An implementation of this method should call [super contextMenuKeyDown:event] to pass the request up the responder chain. If the message reaches the application object, NSApplication’s implementation of this method will send showContextMenuForSelection: to the responder chain. If you do not call super, then no further handling of the key event will be performed.

Note: In some cases, showContextMenuForSelection: will be called without a prior call to contextMenuKeyDown:. This occurs when a view receives an Accessibility ShowMenu action, or when the user has created a Cocoa Text key binding to map a different key combination to the showContextMenuForSelection: action.

Parameter event: The key down event that matches the system-wide context menu hotkey combination.

See also: showContextMenuForSelection:

Source

pub unsafe fn noResponderFor(&self, event_selector: Sel)

Source

pub unsafe fn acceptsFirstResponder(&self) -> bool

Source

pub unsafe fn becomeFirstResponder(&self) -> bool

Source

pub unsafe fn resignFirstResponder(&self) -> bool

Source

pub unsafe fn interpretKeyEvents(&self, event_array: &NSArray<NSEvent>)

Available on crate feature NSEvent only.
Source

pub unsafe fn flushBufferedKeyEvents(&self)

Source

pub unsafe fn menu(&self) -> Option<Retained<NSMenu>>

Available on crate feature NSMenu only.
Source

pub unsafe fn setMenu(&self, menu: Option<&NSMenu>)

Available on crate feature NSMenu only.

Setter for menu.

Source

pub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)

Source

pub unsafe fn helpRequested(&self, event_ptr: &NSEvent)

Available on crate feature NSEvent only.
Source

pub unsafe fn shouldBeTreatedAsInkEvent(&self, event: &NSEvent) -> bool

Available on crate feature NSEvent only.
Source

pub unsafe fn wantsScrollEventsForSwipeTrackingOnAxis( &self, axis: NSEventGestureAxis, ) -> bool

Available on crate feature NSEvent only.
Source

pub unsafe fn wantsForwardedScrollEventsForAxis( &self, axis: NSEventGestureAxis, ) -> bool

Available on crate feature NSEvent only.
Source

pub unsafe fn supplementalTargetForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>

Source

pub unsafe fn undoManager(&self) -> Option<Retained<NSUndoManager>>

Source

pub unsafe fn validateProposedFirstResponder_forEvent( &self, responder: &NSResponder, event: Option<&NSEvent>, ) -> bool

Available on crate feature NSEvent only.
Source

pub unsafe fn presentError_modalForWindow_delegate_didPresentSelector_contextInfo( &self, error: &NSError, window: &NSWindow, delegate: Option<&AnyObject>, did_present_selector: Option<Sel>, context_info: *mut c_void, )

Available on crate feature NSWindow only.
Source

pub unsafe fn presentError(&self, error: &NSError) -> bool

Source

pub unsafe fn willPresentError(&self, error: &NSError) -> Retained<NSError>

Source

pub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)

Source

pub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)

Source

pub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)

Source

pub unsafe fn performMnemonic(&self, string: &NSString) -> bool

👎Deprecated: This has always returned NO and had no effect on macOS
Source

pub unsafe fn touchBar(&self) -> Option<Retained<NSTouchBar>>

Available on crate feature NSTouchBar only.
Source

pub unsafe fn setTouchBar(&self, touch_bar: Option<&NSTouchBar>)

Available on crate feature NSTouchBar only.

Setter for touchBar.

Source

pub unsafe fn makeTouchBar(&self) -> Option<Retained<NSTouchBar>>

Available on crate feature NSTouchBar only.
Source

pub unsafe fn userActivity(&self) -> Option<Retained<NSUserActivity>>

Available on crate feature NSUserActivity only.
Source

pub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)

Available on crate feature NSUserActivity only.

Setter for userActivity.

Source

pub unsafe fn updateUserActivityState(&self, user_activity: &NSUserActivity)

Available on crate feature NSUserActivity only.
Source

pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)

Available on crate feature NSWindowRestoration only.
Source

pub unsafe fn encodeRestorableStateWithCoder_backgroundQueue( &self, coder: &NSCoder, queue: &NSOperationQueue, )

Available on crate feature NSWindowRestoration only.
Source

pub unsafe fn restoreStateWithCoder(&self, coder: &NSCoder)

Available on crate feature NSWindowRestoration only.
Source

pub unsafe fn invalidateRestorableState(&self)

Available on crate feature NSWindowRestoration only.

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Available on crate feature NSAccessibilityConstants only.

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.
Available on crate feature NSAccessibilityConstants only.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Available on crate feature NSAccessibilityConstants only.

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for NSTabViewController

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for NSTabViewController

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSResponder> for NSTabViewController

Source§

fn as_ref(&self) -> &NSResponder

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSTabViewController> for NSTabViewController

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSViewController> for NSTabViewController

Source§

fn as_ref(&self) -> &NSViewController

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for NSTabViewController

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for NSTabViewController

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSResponder> for NSTabViewController

Source§

fn borrow(&self) -> &NSResponder

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSViewController> for NSTabViewController

Source§

fn borrow(&self) -> &NSViewController

Immutably borrows from an owned value. Read more
Source§

impl ClassType for NSTabViewController

Source§

const NAME: &'static str = "NSTabViewController"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = NSViewController

The superclass of this class. Read more
Source§

type ThreadKind = <<NSTabViewController as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl Debug for NSTabViewController

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for NSTabViewController

Source§

type Target = NSViewController

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for NSTabViewController

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for NSTabViewController

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSCoding for NSTabViewController

Source§

unsafe fn encodeWithCoder(&self, coder: &NSCoder)
where Self: Sized + Message,

Source§

unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
where Self: Sized + Message,

Source§

impl NSEditor for NSTabViewController

Source§

unsafe fn discardEditing(&self)
where Self: Sized + Message,

Available on crate feature NSKeyValueBinding only.
Source§

unsafe fn commitEditing(&self) -> bool
where Self: Sized + Message,

Available on crate feature NSKeyValueBinding only.
Source§

unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo( &self, delegate: Option<&AnyObject>, did_commit_selector: Option<Sel>, context_info: *mut c_void, )
where Self: Sized + Message,

Available on crate feature NSKeyValueBinding only.
Source§

unsafe fn commitEditingAndReturnError(&self) -> Result<(), Retained<NSError>>
where Self: Sized + Message,

Available on crate feature NSKeyValueBinding only.
Source§

impl NSObjectProtocol for NSTabViewController

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl NSSeguePerforming for NSTabViewController

Source§

unsafe fn prepareForSegue_sender( &self, segue: &NSStoryboardSegue, sender: Option<&AnyObject>, )
where Self: Sized + Message,

Available on crate feature NSStoryboardSegue only.
Source§

unsafe fn performSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, )
where Self: Sized + Message,

Available on crate feature NSStoryboardSegue only.
Source§

unsafe fn shouldPerformSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, ) -> bool
where Self: Sized + Message,

Available on crate feature NSStoryboardSegue only.
Source§

impl NSTabViewDelegate for NSTabViewController

Source§

unsafe fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool
where Self: Sized + Message,

Available on crate features NSResponder and NSTabViewItem and NSView and NSTabView only.
Source§

unsafe fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
where Self: Sized + Message,

Available on crate features NSResponder and NSTabViewItem and NSView and NSTabView only.
Source§

unsafe fn tabView_didSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
where Self: Sized + Message,

Available on crate features NSResponder and NSTabViewItem and NSView and NSTabView only.
Source§

unsafe fn tabViewDidChangeNumberOfTabViewItems(&self, tab_view: &NSTabView)
where Self: Sized + Message,

Available on crate features NSResponder and NSView and NSTabView only.
Source§

impl NSToolbarDelegate for NSTabViewController

Source§

unsafe fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, flag: bool, ) -> Option<Retained<NSToolbarItem>>
where Self: Sized + Message,

Available on crate features NSToolbar and NSToolbarItem only.
Given an item identifier, this method returns an item. Note that it is expected that each toolbar receives its own distinct copies and each time this method is called a new item must be returned. If the item has a custom view, that view should be in place when the item is returned. Finally, do not assume the returned item is going to be added as an active item in the toolbar. In fact, the toolbar may ask for items here in order to construct the customization palette. If willBeInsertedIntoToolbar is YES, the returned item will be inserted, and you can expect toolbarWillAddItem: is about to be posted.
Source§

unsafe fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Returns the ordered list of items to be shown in the toolbar by default. If during initialization, no overriding values are found in the user defaults, or if the user chooses to revert to the default items this set will be used.
Source§

unsafe fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Returns the list of all allowed items by identifier. By default, the toolbar does not assume any items are allowed so every allowed item must be explicitly listed. The set of allowed items is used to construct the customization palette. The order of items does not necessarily guarantee the order of appearance in the palette. At minimum, you should return the default item list.
Source§

unsafe fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Optional method. Those wishing to indicate item selection in a toolbar should implement this method to return a non-empty array of selectable item identifiers. If implemented, the toolbar will remember and display the selected item with a special highlight. A selected item is one whose item identifier matches the current selected item identifier. Clicking on an item whose identifier is selectable will automatically update the toolbar’s selectedItemIdentifier when possible. See selectedItemIdentifier for more details.
Source§

unsafe fn toolbarImmovableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSSet<NSToolbarItemIdentifier>>
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Items in this set cannot be dragged or removed by the user.
Source§

unsafe fn toolbar_itemIdentifier_canBeInsertedAtIndex( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, index: NSInteger, ) -> bool
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Whether or not an item can be moved to a specified position in the toolbar. If implemented, this method will be called during a user drag and does not necessarily indicate the final position of an item. An index of NSNotFound indicates the item would be removed from the toolbar.
Source§

unsafe fn toolbarWillAddItem(&self, notification: &NSNotification)
where Self: Sized + Message,

Available on crate feature NSToolbar only.
Before a new item is added to the toolbar, this notification is posted. This is the best place to notice a new item is going into the toolbar. For instance, if you need to cache a reference to the toolbar item or need to set up some initial state, this is the best place to do it. The notification object is the toolbar to which the item is being added. The item being added and its new index can be found by referencing NSToolbarItemKey and NSToolbarNewIndexKey in the userInfo dictionary respectively.
Source§

unsafe fn toolbarDidRemoveItem(&self, notification: &NSNotification)
where Self: Sized + Message,

Available on crate feature NSToolbar only.
After an item is removed from a toolbar the notification is sent. This allows the chance to tear down information related to the item that may have been cached. The notification object is the toolbar from which the item is being removed. The item being removed is found by referencing the NSToolbarItemKey in the userInfo.
Source§

impl NSUserInterfaceItemIdentification for NSTabViewController

Source§

unsafe fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
where Self: Sized + Message,

Available on crate feature NSUserInterfaceItemIdentification only.
Source§

unsafe fn setIdentifier( &self, identifier: Option<&NSUserInterfaceItemIdentifier>, )
where Self: Sized + Message,

Available on crate feature NSUserInterfaceItemIdentification only.
Setter for identifier.
Source§

impl PartialEq for NSTabViewController

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for NSTabViewController

Source§

const ENCODING_REF: Encoding = <NSViewController as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl DowncastTarget for NSTabViewController

Source§

impl Eq for NSTabViewController

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<'a, T> MainThreadOnly for T
where T: ClassType<ThreadKind = dyn MainThreadOnly + 'a> + ?Sized,

Source§

fn mtm(&self) -> MainThreadMarker

Get a MainThreadMarker from the main-thread-only object. Read more
Source§

fn alloc(mtm: MainThreadMarker) -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class on the main thread. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,