pub struct NSTabViewController { /* private fields */ }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
impl NSTabViewController
Sourcepub fn tabStyle(&self) -> NSTabViewControllerTabStyle
pub fn tabStyle(&self) -> NSTabViewControllerTabStyle
The style that this NSTabViewController displays its UI as. Defaults to
NSTabViewControllerTabStyleSegmentedControlOnTop.
Sourcepub fn setTabStyle(&self, tab_style: NSTabViewControllerTabStyle)
pub fn setTabStyle(&self, tab_style: NSTabViewControllerTabStyle)
Setter for tabStyle.
Sourcepub fn tabView(&self) -> Retained<NSTabView>
Available on crate features NSTabView and NSView only.
pub fn tabView(&self) -> Retained<NSTabView>
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.
Sourcepub fn setTabView(&self, tab_view: &NSTabView)
Available on crate features NSTabView and NSView only.
pub fn setTabView(&self, tab_view: &NSTabView)
NSTabView and NSView only.Setter for tabView.
Sourcepub fn transitionOptions(&self) -> NSViewControllerTransitionOptions
pub 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.
Sourcepub fn setTransitionOptions(
&self,
transition_options: NSViewControllerTransitionOptions,
)
pub fn setTransitionOptions( &self, transition_options: NSViewControllerTransitionOptions, )
Setter for transitionOptions.
Sourcepub fn canPropagateSelectedChildViewControllerTitle(&self) -> bool
pub 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.
Sourcepub fn setCanPropagateSelectedChildViewControllerTitle(
&self,
can_propagate_selected_child_view_controller_title: bool,
)
pub fn setCanPropagateSelectedChildViewControllerTitle( &self, can_propagate_selected_child_view_controller_title: bool, )
Setter for canPropagateSelectedChildViewControllerTitle.
Sourcepub fn tabViewItems(&self) -> Retained<NSArray<NSTabViewItem>>
Available on crate feature NSTabViewItem only.
pub fn tabViewItems(&self) -> Retained<NSArray<NSTabViewItem>>
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.
Sourcepub fn setTabViewItems(&self, tab_view_items: &NSArray<NSTabViewItem>)
Available on crate feature NSTabViewItem only.
pub fn setTabViewItems(&self, tab_view_items: &NSArray<NSTabViewItem>)
NSTabViewItem only.Setter for tabViewItems.
This is copied when set.
Sourcepub fn selectedTabViewItemIndex(&self) -> NSInteger
pub 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];Sourcepub fn setSelectedTabViewItemIndex(
&self,
selected_tab_view_item_index: NSInteger,
)
pub fn setSelectedTabViewItemIndex( &self, selected_tab_view_item_index: NSInteger, )
Setter for selectedTabViewItemIndex.
Sourcepub fn addTabViewItem(&self, tab_view_item: &NSTabViewItem)
Available on crate feature NSTabViewItem only.
pub fn addTabViewItem(&self, tab_view_item: &NSTabViewItem)
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.
Sourcepub fn insertTabViewItem_atIndex(
&self,
tab_view_item: &NSTabViewItem,
index: NSInteger,
)
Available on crate feature NSTabViewItem only.
pub fn insertTabViewItem_atIndex( &self, tab_view_item: &NSTabViewItem, index: NSInteger, )
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
Sourcepub fn removeTabViewItem(&self, tab_view_item: &NSTabViewItem)
Available on crate feature NSTabViewItem only.
pub fn removeTabViewItem(&self, tab_view_item: &NSTabViewItem)
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.
Sourcepub fn tabViewItemForViewController(
&self,
view_controller: &NSViewController,
) -> Option<Retained<NSTabViewItem>>
Available on crate feature NSTabViewItem only.
pub fn tabViewItemForViewController( &self, view_controller: &NSViewController, ) -> Option<Retained<NSTabViewItem>>
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.
pub fn viewDidLoad(&self)
pub fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSTabView and NSTabViewItem and NSView only.pub fn tabView_didSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSTabView and NSTabViewItem and NSView only.pub fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool
NSTabView and NSTabViewItem and NSView only.pub fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, flag: bool, ) -> Option<Retained<NSToolbarItem>>
NSToolbar and NSToolbarItem only.pub fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.pub fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.pub fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.Source§impl NSTabViewController
Methods declared on superclass NSViewController.
impl NSTabViewController
Methods declared on superclass NSViewController.
Source§impl NSTabViewController
Methods declared on superclass NSResponder.
impl NSTabViewController
Methods declared on superclass NSResponder.
Source§impl NSTabViewController
Methods declared on superclass NSObject.
impl NSTabViewController
Methods declared on superclass NSObject.
pub fn new(mtm: MainThreadMarker) -> Retained<Self>
Methods from Deref<Target = NSViewController>§
pub fn nibName(&self) -> Option<Retained<NSNibName>>
NSNib only.pub fn nibBundle(&self) -> Option<Retained<NSBundle>>
pub fn representedObject(&self) -> Option<Retained<AnyObject>>
Sourcepub unsafe fn setRepresentedObject(
&self,
represented_object: Option<&AnyObject>,
)
pub unsafe fn setRepresentedObject( &self, represented_object: Option<&AnyObject>, )
pub fn title(&self) -> Option<Retained<NSString>>
pub fn view(&self) -> Retained<NSView>
NSView only.pub fn viewIfLoaded(&self) -> Option<Retained<NSView>>
NSView only.pub fn loadView(&self)
pub fn loadViewIfNeeded(&self)
Sourcepub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo(
&self,
delegate: Option<&AnyObject>,
did_commit_selector: Option<Sel>,
context_info: *mut c_void,
)
pub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo( &self, delegate: Option<&AnyObject>, did_commit_selector: Option<Sel>, context_info: *mut c_void, )
§Safety
delegateshould be of the correct type.did_commit_selectormust be a valid selector.context_infomust be a valid pointer or null.
pub fn commitEditing(&self) -> bool
pub fn discardEditing(&self)
pub fn viewDidLoad(&self)
pub fn isViewLoaded(&self) -> bool
pub fn viewWillAppear(&self)
pub fn viewDidAppear(&self)
pub fn viewWillDisappear(&self)
pub fn viewDidDisappear(&self)
pub fn preferredContentSize(&self) -> NSSize
Sourcepub fn setPreferredContentSize(&self, preferred_content_size: NSSize)
pub fn setPreferredContentSize(&self, preferred_content_size: NSSize)
Setter for preferredContentSize.
pub fn updateViewConstraints(&self)
pub fn viewWillLayout(&self)
pub fn viewDidLayout(&self)
pub fn presentViewController_animator( &self, view_controller: &NSViewController, animator: &ProtocolObject<dyn NSViewControllerPresentationAnimator>, )
pub fn dismissViewController(&self, view_controller: &NSViewController)
Sourcepub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
pub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
pub fn presentedViewControllers( &self, ) -> Option<Retained<NSArray<NSViewController>>>
Sourcepub unsafe fn presentingViewController(
&self,
) -> Option<Retained<NSViewController>>
pub unsafe fn presentingViewController( &self, ) -> Option<Retained<NSViewController>>
§Safety
This is not retained internally, you must ensure the object is still alive.
pub fn presentViewControllerAsSheet(&self, view_controller: &NSViewController)
pub fn presentViewControllerAsModalWindow( &self, view_controller: &NSViewController, )
pub fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior( &self, view_controller: &NSViewController, positioning_rect: NSRect, positioning_view: &NSView, preferred_edge: NSRectEdge, behavior: NSPopoverBehavior, )
NSPopover and NSView only.pub 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, )
NSPopover and NSView only.pub fn transitionFromViewController_toViewController_options_completionHandler( &self, from_view_controller: &NSViewController, to_view_controller: &NSViewController, options: NSViewControllerTransitionOptions, completion: Option<&DynBlock<dyn Fn()>>, )
block2 only.pub fn parentViewController(&self) -> Option<Retained<NSViewController>>
pub fn childViewControllers(&self) -> Retained<NSArray<NSViewController>>
Sourcepub fn setChildViewControllers(
&self,
child_view_controllers: &NSArray<NSViewController>,
)
pub fn setChildViewControllers( &self, child_view_controllers: &NSArray<NSViewController>, )
Setter for childViewControllers.
This is copied when set.
pub fn addChildViewController(&self, child_view_controller: &NSViewController)
pub fn removeFromParentViewController(&self)
pub fn insertChildViewController_atIndex( &self, child_view_controller: &NSViewController, index: NSInteger, )
pub fn removeChildViewControllerAtIndex(&self, index: NSInteger)
pub fn preferredContentSizeDidChangeForViewController( &self, view_controller: &NSViewController, )
pub fn viewWillTransitionToSize(&self, new_size: NSSize)
pub fn storyboard(&self) -> Option<Retained<NSStoryboard>>
NSStoryboard only.pub fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>
pub fn sourceItemView(&self) -> Option<Retained<NSView>>
NSView only.Sourcepub fn setSourceItemView(&self, source_item_view: Option<&NSView>)
Available on crate feature NSView only.
pub fn setSourceItemView(&self, source_item_view: Option<&NSView>)
NSView only.Setter for sourceItemView.
pub fn preferredScreenOrigin(&self) -> NSPoint
Sourcepub fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint)
pub fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint)
Setter for preferredScreenOrigin.
pub fn preferredMinimumSize(&self) -> NSSize
pub fn preferredMaximumSize(&self) -> NSSize
Methods from Deref<Target = NSResponder>§
pub fn interfaceStyle(&self) -> NSInterfaceStyle
NSInterfaceStyle only.pub fn setInterfaceStyle(&self, interface_style: NSInterfaceStyle)
NSInterfaceStyle only.Sourcepub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>
pub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>
§Safety
This is not retained internally, you must ensure the object is still alive.
Sourcepub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
pub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
Setter for nextResponder.
§Safety
This is unretained, you must ensure the object is kept alive while in use.
Sourcepub unsafe fn tryToPerform_with(
&self,
action: Sel,
object: Option<&AnyObject>,
) -> bool
pub unsafe fn tryToPerform_with( &self, action: Sel, object: Option<&AnyObject>, ) -> bool
§Safety
actionmust be a valid selector.objectshould be of the correct type.
pub fn performKeyEquivalent(&self, event: &NSEvent) -> bool
NSEvent only.pub fn validRequestorForSendType_returnType( &self, send_type: Option<&NSPasteboardType>, return_type: Option<&NSPasteboardType>, ) -> Option<Retained<AnyObject>>
NSPasteboard only.pub fn mouseDown(&self, event: &NSEvent)
NSEvent only.pub fn rightMouseDown(&self, event: &NSEvent)
NSEvent only.pub fn otherMouseDown(&self, event: &NSEvent)
NSEvent only.pub fn mouseUp(&self, event: &NSEvent)
NSEvent only.pub fn rightMouseUp(&self, event: &NSEvent)
NSEvent only.pub fn otherMouseUp(&self, event: &NSEvent)
NSEvent only.pub fn mouseMoved(&self, event: &NSEvent)
NSEvent only.pub fn mouseDragged(&self, event: &NSEvent)
NSEvent only.pub fn mouseCancelled(&self, event: &NSEvent)
NSEvent only.pub fn scrollWheel(&self, event: &NSEvent)
NSEvent only.pub fn rightMouseDragged(&self, event: &NSEvent)
NSEvent only.pub fn otherMouseDragged(&self, event: &NSEvent)
NSEvent only.pub fn mouseEntered(&self, event: &NSEvent)
NSEvent only.pub fn mouseExited(&self, event: &NSEvent)
NSEvent only.pub fn keyDown(&self, event: &NSEvent)
NSEvent only.pub fn keyUp(&self, event: &NSEvent)
NSEvent only.pub fn flagsChanged(&self, event: &NSEvent)
NSEvent only.pub fn tabletPoint(&self, event: &NSEvent)
NSEvent only.pub fn tabletProximity(&self, event: &NSEvent)
NSEvent only.pub fn cursorUpdate(&self, event: &NSEvent)
NSEvent only.pub fn magnifyWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn rotateWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn swipeWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn beginGestureWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn endGestureWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn smartMagnifyWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn changeModeWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn touchesBeganWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn touchesMovedWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn touchesEndedWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn touchesCancelledWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn quickLookWithEvent(&self, event: &NSEvent)
NSEvent only.pub fn pressureChangeWithEvent(&self, event: &NSEvent)
NSEvent only.Sourcepub fn contextMenuKeyDown(&self, event: &NSEvent)
Available on crate feature NSEvent only.
pub fn contextMenuKeyDown(&self, event: &NSEvent)
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:
Sourcepub unsafe fn noResponderFor(&self, event_selector: Sel)
pub unsafe fn noResponderFor(&self, event_selector: Sel)
§Safety
event_selector must be a valid selector.
pub fn acceptsFirstResponder(&self) -> bool
pub fn becomeFirstResponder(&self) -> bool
pub fn resignFirstResponder(&self) -> bool
pub fn interpretKeyEvents(&self, event_array: &NSArray<NSEvent>)
NSEvent only.pub fn flushBufferedKeyEvents(&self)
NSMenu only.Sourcepub unsafe fn setMenu(&self, menu: Option<&NSMenu>)
Available on crate feature NSMenu only.
pub unsafe fn setMenu(&self, menu: Option<&NSMenu>)
NSMenu only.Setter for menu.
Sourcepub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)
pub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
pub fn helpRequested(&self, event_ptr: &NSEvent)
NSEvent only.pub fn shouldBeTreatedAsInkEvent(&self, event: &NSEvent) -> bool
NSEvent only.pub fn wantsScrollEventsForSwipeTrackingOnAxis( &self, axis: NSEventGestureAxis, ) -> bool
NSEvent only.pub fn wantsForwardedScrollEventsForAxis( &self, axis: NSEventGestureAxis, ) -> bool
NSEvent only.Sourcepub unsafe fn supplementalTargetForAction_sender(
&self,
action: Sel,
sender: Option<&AnyObject>,
) -> Option<Retained<AnyObject>>
pub unsafe fn supplementalTargetForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>
§Safety
actionmust be a valid selector.sendershould be of the correct type.
pub fn undoManager(&self) -> Option<Retained<NSUndoManager>>
pub fn validateProposedFirstResponder_forEvent( &self, responder: &NSResponder, event: Option<&NSEvent>, ) -> bool
NSEvent only.Sourcepub 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.
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, )
NSWindow only.§Safety
delegateshould be of the correct type.did_present_selectormust be a valid selector.context_infomust be a valid pointer or null.
pub fn presentError(&self, error: &NSError) -> bool
pub fn willPresentError(&self, error: &NSError) -> Retained<NSError>
Sourcepub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)
pub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)
pub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
Sourcepub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)
pub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)
§Safety
sender should be of the correct type.
pub fn performMnemonic(&self, string: &NSString) -> bool
pub fn touchBar(&self) -> Option<Retained<NSTouchBar>>
NSTouchBar only.Sourcepub fn setTouchBar(&self, touch_bar: Option<&NSTouchBar>)
Available on crate feature NSTouchBar only.
pub fn setTouchBar(&self, touch_bar: Option<&NSTouchBar>)
NSTouchBar only.Setter for touchBar.
pub fn makeTouchBar(&self) -> Option<Retained<NSTouchBar>>
NSTouchBar only.pub fn userActivity(&self) -> Option<Retained<NSUserActivity>>
NSUserActivity only.Sourcepub fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
Available on crate feature NSUserActivity only.
pub fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
NSUserActivity only.Setter for userActivity.
pub fn updateUserActivityState(&self, user_activity: &NSUserActivity)
NSUserActivity only.Sourcepub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
Available on crate feature NSWindowRestoration only.
pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
NSWindowRestoration only.§Safety
coder possibly has further requirements.
Sourcepub unsafe fn encodeRestorableStateWithCoder_backgroundQueue(
&self,
coder: &NSCoder,
queue: &NSOperationQueue,
)
Available on crate feature NSWindowRestoration only.
pub unsafe fn encodeRestorableStateWithCoder_backgroundQueue( &self, coder: &NSCoder, queue: &NSOperationQueue, )
NSWindowRestoration only.§Safety
coderpossibly has further requirements.queuepossibly has additional threading requirements.
Sourcepub unsafe fn restoreStateWithCoder(&self, coder: &NSCoder)
Available on crate feature NSWindowRestoration only.
pub unsafe fn restoreStateWithCoder(&self, coder: &NSCoder)
NSWindowRestoration only.§Safety
coder possibly has further requirements.
pub fn invalidateRestorableState(&self)
NSWindowRestoration only.Methods from Deref<Target = NSObject>§
Sourcepub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !
Handle messages the object doesn’t recognize.
See Apple’s documentation for details.
Methods from Deref<Target = AnyObject>§
Sourcepub fn class(&self) -> &'static AnyClass
Available on crate feature NSAccessibilityConstants only.
pub fn class(&self) -> &'static AnyClass
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());Sourcepub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
👎Deprecated: this is difficult to use correctly, use Ivar::load instead.Available on crate feature NSAccessibilityConstants only.
pub unsafe fn get_ivar<T>(&self, name: &str) -> &Twhere
T: Encode,
Ivar::load instead.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.
Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
Available on crate feature NSAccessibilityConstants only.
pub fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastTarget,
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
impl AsRef<AnyObject> for NSTabViewController
Source§impl AsRef<NSObject> for NSTabViewController
impl AsRef<NSObject> for NSTabViewController
Source§impl AsRef<NSResponder> for NSTabViewController
impl AsRef<NSResponder> for NSTabViewController
Source§fn as_ref(&self) -> &NSResponder
fn as_ref(&self) -> &NSResponder
Source§impl AsRef<NSViewController> for NSTabViewController
impl AsRef<NSViewController> for NSTabViewController
Source§fn as_ref(&self) -> &NSViewController
fn as_ref(&self) -> &NSViewController
Source§impl Borrow<AnyObject> for NSTabViewController
impl Borrow<AnyObject> for NSTabViewController
Source§impl Borrow<NSObject> for NSTabViewController
impl Borrow<NSObject> for NSTabViewController
Source§impl Borrow<NSResponder> for NSTabViewController
impl Borrow<NSResponder> for NSTabViewController
Source§fn borrow(&self) -> &NSResponder
fn borrow(&self) -> &NSResponder
Source§impl Borrow<NSViewController> for NSTabViewController
impl Borrow<NSViewController> for NSTabViewController
Source§fn borrow(&self) -> &NSViewController
fn borrow(&self) -> &NSViewController
Source§impl ClassType for NSTabViewController
impl ClassType for NSTabViewController
Source§const NAME: &'static str = "NSTabViewController"
const NAME: &'static str = "NSTabViewController"
Source§type Super = NSViewController
type Super = NSViewController
Source§type ThreadKind = <<NSTabViewController as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSTabViewController as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for NSTabViewController
impl Debug for NSTabViewController
Source§impl Deref for NSTabViewController
impl Deref for NSTabViewController
Source§impl Hash for NSTabViewController
impl Hash for NSTabViewController
Source§impl Message for NSTabViewController
impl Message for NSTabViewController
Source§impl NSCoding for NSTabViewController
impl NSCoding for NSTabViewController
Source§impl NSEditor for NSTabViewController
impl NSEditor for NSTabViewController
Source§fn discardEditing(&self)
fn discardEditing(&self)
NSKeyValueBinding only.Source§fn commitEditing(&self) -> bool
fn commitEditing(&self) -> bool
NSKeyValueBinding only.Source§impl NSObjectProtocol for NSTabViewController
impl NSObjectProtocol for NSTabViewController
Source§fn isEqual(&self, other: Option<&AnyObject>) -> bool
fn isEqual(&self, other: Option<&AnyObject>) -> bool
Source§fn hash(&self) -> usize
fn hash(&self) -> usize
Source§fn isKindOfClass(&self, cls: &AnyClass) -> bool
fn isKindOfClass(&self, cls: &AnyClass) -> bool
Source§fn is_kind_of<T>(&self) -> bool
fn is_kind_of<T>(&self) -> bool
isKindOfClass directly, or cast your objects with AnyObject::downcast_refSource§fn isMemberOfClass(&self, cls: &AnyClass) -> bool
fn isMemberOfClass(&self, cls: &AnyClass) -> bool
Source§fn respondsToSelector(&self, aSelector: Sel) -> bool
fn respondsToSelector(&self, aSelector: Sel) -> bool
Source§fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
Source§fn debugDescription(&self) -> Retained<NSObject>
fn debugDescription(&self) -> Retained<NSObject>
Source§impl NSSeguePerforming for NSTabViewController
impl NSSeguePerforming for NSTabViewController
Source§unsafe fn prepareForSegue_sender(
&self,
segue: &NSStoryboardSegue,
sender: Option<&AnyObject>,
)
unsafe fn prepareForSegue_sender( &self, segue: &NSStoryboardSegue, sender: Option<&AnyObject>, )
NSStoryboardSegue only.Source§unsafe fn performSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&AnyObject>,
)
unsafe fn performSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, )
NSStoryboardSegue only.Source§unsafe fn shouldPerformSegueWithIdentifier_sender(
&self,
identifier: &NSStoryboardSegueIdentifier,
sender: Option<&AnyObject>,
) -> bool
unsafe fn shouldPerformSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, ) -> bool
NSStoryboardSegue only.Source§impl NSTabViewDelegate for NSTabViewController
impl NSTabViewDelegate for NSTabViewController
Source§fn tabView_shouldSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
) -> bool
fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool
NSResponder and NSTabViewItem and NSView and NSTabView only.Source§fn tabView_willSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
)
fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSResponder and NSTabViewItem and NSView and NSTabView only.Source§fn tabView_didSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
)
fn tabView_didSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSResponder and NSTabViewItem and NSView and NSTabView only.Source§impl NSToolbarDelegate for NSTabViewController
impl NSToolbarDelegate for NSTabViewController
Source§fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar(
&self,
toolbar: &NSToolbar,
item_identifier: &NSToolbarItemIdentifier,
flag: bool,
) -> Option<Retained<NSToolbarItem>>
fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, flag: bool, ) -> Option<Retained<NSToolbarItem>>
NSToolbar and NSToolbarItem only.willBeInsertedIntoToolbar is YES, the returned item will be inserted, and you can expect toolbarWillAddItem: is about to be posted.Source§fn toolbarDefaultItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.Source§fn toolbarAllowedItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.Source§fn toolbarSelectableItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar only.selectedItemIdentifier when possible.
See selectedItemIdentifier for more details.Source§fn toolbarImmovableItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSSet<NSToolbarItemIdentifier>>
fn toolbarImmovableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSSet<NSToolbarItemIdentifier>>
NSToolbar only.Source§fn toolbar_itemIdentifier_canBeInsertedAtIndex(
&self,
toolbar: &NSToolbar,
item_identifier: &NSToolbarItemIdentifier,
index: NSInteger,
) -> bool
fn toolbar_itemIdentifier_canBeInsertedAtIndex( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, index: NSInteger, ) -> bool
NSToolbar only.Source§fn toolbarWillAddItem(&self, notification: &NSNotification)
fn toolbarWillAddItem(&self, notification: &NSNotification)
NSToolbar only.NSToolbarItemKey and NSToolbarNewIndexKey in the userInfo dictionary respectively.Source§fn toolbarDidRemoveItem(&self, notification: &NSNotification)
fn toolbarDidRemoveItem(&self, notification: &NSNotification)
NSToolbar only.NSToolbarItemKey in the userInfo.Source§impl NSUserInterfaceItemIdentification for NSTabViewController
impl NSUserInterfaceItemIdentification for NSTabViewController
Source§fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
NSUserInterfaceItemIdentification only.Source§fn setIdentifier(&self, identifier: Option<&NSUserInterfaceItemIdentifier>)
fn setIdentifier(&self, identifier: Option<&NSUserInterfaceItemIdentifier>)
NSUserInterfaceItemIdentification only.identifier. Read moreSource§impl PartialEq for NSTabViewController
impl PartialEq for NSTabViewController
Source§impl RefEncode for NSTabViewController
impl RefEncode for NSTabViewController
Source§const ENCODING_REF: Encoding = <NSViewController as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSViewController as ::objc2::RefEncode>::ENCODING_REF
impl DowncastTarget for NSTabViewController
impl Eq for NSTabViewController
Auto Trait Implementations§
impl !Freeze for NSTabViewController
impl !RefUnwindSafe for NSTabViewController
impl !Send for NSTabViewController
impl !Sync for NSTabViewController
impl !Unpin for NSTabViewController
impl !UnwindSafe for NSTabViewController
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<'a, T> MainThreadOnly for T
impl<'a, T> MainThreadOnly for T
Source§fn mtm(&self) -> MainThreadMarker
fn mtm(&self) -> MainThreadMarker
MainThreadMarker from the main-thread-only object. Read more