#[repr(C)]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 unsafe fn tabStyle(&self) -> NSTabViewControllerTabStyle
pub unsafe fn tabStyle(&self) -> NSTabViewControllerTabStyle
The style that this NSTabViewController displays its UI as. Defaults to
NSTabViewControllerTabStyleSegmentedControlOnTop.
Sourcepub unsafe fn setTabStyle(&self, tab_style: NSTabViewControllerTabStyle)
pub unsafe fn setTabStyle(&self, tab_style: NSTabViewControllerTabStyle)
Setter for tabStyle
.
Sourcepub unsafe fn tabView(&self) -> Retained<NSTabView>
Available on crate features NSTabView
and NSView
only.
pub unsafe 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.viewLoaded
is
YES.
Querying the value will create it on-demand, if needed. Check
self.viewLoaded
before querying the value to avoid prematurely creating the view. Note that the
-tabView
may 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 unsafe fn setTabView(&self, tab_view: &NSTabView)
Available on crate features NSTabView
and NSView
only.
pub unsafe fn setTabView(&self, tab_view: &NSTabView)
NSTabView
and NSView
only.Setter for tabView
.
Sourcepub unsafe fn transitionOptions(&self) -> NSViewControllerTransitionOptions
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.
Sourcepub unsafe fn setTransitionOptions(
&self,
transition_options: NSViewControllerTransitionOptions,
)
pub unsafe fn setTransitionOptions( &self, transition_options: NSViewControllerTransitionOptions, )
Setter for transitionOptions
.
Sourcepub unsafe fn canPropagateSelectedChildViewControllerTitle(&self) -> bool
pub unsafe fn canPropagateSelectedChildViewControllerTitle(&self) -> bool
If YES and the receiving NSTabViewController has a nil title,
-title
will return its selected child ViewController’s title. If NO, it will continue to return nil. The default value is
YES.
Sourcepub unsafe fn setCanPropagateSelectedChildViewControllerTitle(
&self,
can_propagate_selected_child_view_controller_title: bool,
)
pub unsafe fn setCanPropagateSelectedChildViewControllerTitle( &self, can_propagate_selected_child_view_controller_title: bool, )
Setter for canPropagateSelectedChildViewControllerTitle
.
Sourcepub unsafe fn tabViewItems(&self) -> Retained<NSArray<NSTabViewItem>>
Available on crate feature NSTabViewItem
only.
pub unsafe 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 unsafe fn setTabViewItems(&self, tab_view_items: &NSArray<NSTabViewItem>)
Available on crate feature NSTabViewItem
only.
pub unsafe fn setTabViewItems(&self, tab_view_items: &NSArray<NSTabViewItem>)
NSTabViewItem
only.Setter for tabViewItems
.
Sourcepub unsafe fn selectedTabViewItemIndex(&self) -> NSInteger
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];
Sourcepub unsafe fn setSelectedTabViewItemIndex(
&self,
selected_tab_view_item_index: NSInteger,
)
pub unsafe fn setSelectedTabViewItemIndex( &self, selected_tab_view_item_index: NSInteger, )
Setter for selectedTabViewItemIndex
.
Sourcepub unsafe fn addTabViewItem(&self, tab_view_item: &NSTabViewItem)
Available on crate feature NSTabViewItem
only.
pub unsafe 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
viewController
set by the time it is added or an exception will be thrown. An exception will also be thrown if tabViewItem is nil.
Sourcepub unsafe fn insertTabViewItem_atIndex(
&self,
tab_view_item: &NSTabViewItem,
index: NSInteger,
)
Available on crate feature NSTabViewItem
only.
pub unsafe 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.
-selectedTabViewItemIndex
will 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
viewController
set 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 unsafe fn removeTabViewItem(&self, tab_view_item: &NSTabViewItem)
Available on crate feature NSTabViewItem
only.
pub unsafe 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
tabViewItem
is not in the NSTabViewController or if it is nil.
Sourcepub unsafe fn tabViewItemForViewController(
&self,
view_controller: &NSViewController,
) -> Option<Retained<NSTabViewItem>>
Available on crate feature NSTabViewItem
only.
pub unsafe 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
viewController
is not a child of the TabViewController.
pub unsafe fn viewDidLoad(&self)
pub unsafe fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSTabView
and NSTabViewItem
and NSView
only.pub unsafe fn tabView_didSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSTabView
and NSTabViewItem
and NSView
only.pub unsafe fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool
NSTabView
and NSTabViewItem
and NSView
only.pub unsafe fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, flag: bool, ) -> Option<Retained<NSToolbarItem>>
NSToolbar
and NSToolbarItem
only.pub unsafe fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar
only.pub unsafe fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar
only.pub unsafe 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
.
pub unsafe fn initWithNibName_bundle( this: Allocated<Self>, nib_name_or_nil: Option<&NSNibName>, nib_bundle_or_nil: Option<&NSBundle>, ) -> Retained<Self>
NSNib
only.pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
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 unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>
Methods from Deref<Target = NSViewController>§
pub unsafe fn nibName(&self) -> Option<Retained<NSNibName>>
NSNib
only.pub unsafe fn nibBundle(&self) -> Option<Retained<NSBundle>>
pub unsafe fn representedObject(&self) -> Option<Retained<AnyObject>>
Sourcepub unsafe fn setRepresentedObject(
&self,
represented_object: Option<&AnyObject>,
)
pub unsafe fn setRepresentedObject( &self, represented_object: Option<&AnyObject>, )
Setter for representedObject
.
pub unsafe fn title(&self) -> Option<Retained<NSString>>
pub unsafe fn view(&self) -> Retained<NSView>
NSView
only.Sourcepub unsafe fn setView(&self, view: &NSView)
Available on crate feature NSView
only.
pub unsafe fn setView(&self, view: &NSView)
NSView
only.Setter for view
.
pub unsafe fn viewIfLoaded(&self) -> Option<Retained<NSView>>
NSView
only.pub unsafe fn loadView(&self)
pub unsafe fn loadViewIfNeeded(&self)
pub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo( &self, delegate: Option<&AnyObject>, did_commit_selector: Option<Sel>, context_info: *mut c_void, )
pub unsafe fn commitEditing(&self) -> bool
pub unsafe fn discardEditing(&self)
pub unsafe fn viewDidLoad(&self)
pub unsafe fn isViewLoaded(&self) -> bool
pub unsafe fn viewWillAppear(&self)
pub unsafe fn viewDidAppear(&self)
pub unsafe fn viewWillDisappear(&self)
pub unsafe fn viewDidDisappear(&self)
pub unsafe fn preferredContentSize(&self) -> NSSize
Sourcepub unsafe fn setPreferredContentSize(&self, preferred_content_size: NSSize)
pub unsafe fn setPreferredContentSize(&self, preferred_content_size: NSSize)
Setter for preferredContentSize
.
pub unsafe fn updateViewConstraints(&self)
pub unsafe fn viewWillLayout(&self)
pub unsafe fn viewDidLayout(&self)
pub unsafe fn presentViewController_animator( &self, view_controller: &NSViewController, animator: &ProtocolObject<dyn NSViewControllerPresentationAnimator>, )
pub unsafe fn dismissViewController(&self, view_controller: &NSViewController)
pub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
pub unsafe fn presentedViewControllers( &self, ) -> Option<Retained<NSArray<NSViewController>>>
pub unsafe fn presentingViewController( &self, ) -> Option<Retained<NSViewController>>
pub unsafe fn presentViewControllerAsSheet( &self, view_controller: &NSViewController, )
pub unsafe fn presentViewControllerAsModalWindow( &self, view_controller: &NSViewController, )
pub unsafe 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 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, )
NSPopover
and NSView
only.pub unsafe fn transitionFromViewController_toViewController_options_completionHandler( &self, from_view_controller: &NSViewController, to_view_controller: &NSViewController, options: NSViewControllerTransitionOptions, completion: Option<&DynBlock<dyn Fn()>>, )
block2
only.pub unsafe fn parentViewController(&self) -> Option<Retained<NSViewController>>
pub unsafe fn childViewControllers(&self) -> Retained<NSArray<NSViewController>>
Sourcepub unsafe fn setChildViewControllers(
&self,
child_view_controllers: &NSArray<NSViewController>,
)
pub unsafe fn setChildViewControllers( &self, child_view_controllers: &NSArray<NSViewController>, )
Setter for childViewControllers
.
pub unsafe fn addChildViewController( &self, child_view_controller: &NSViewController, )
pub unsafe fn removeFromParentViewController(&self)
pub unsafe fn insertChildViewController_atIndex( &self, child_view_controller: &NSViewController, index: NSInteger, )
pub unsafe fn removeChildViewControllerAtIndex(&self, index: NSInteger)
pub unsafe fn preferredContentSizeDidChangeForViewController( &self, view_controller: &NSViewController, )
pub unsafe fn viewWillTransitionToSize(&self, new_size: NSSize)
pub unsafe fn storyboard(&self) -> Option<Retained<NSStoryboard>>
NSStoryboard
only.pub unsafe fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>
pub unsafe fn sourceItemView(&self) -> Option<Retained<NSView>>
NSView
only.Sourcepub unsafe fn setSourceItemView(&self, source_item_view: Option<&NSView>)
Available on crate feature NSView
only.
pub unsafe fn setSourceItemView(&self, source_item_view: Option<&NSView>)
NSView
only.Setter for sourceItemView
.
pub unsafe fn preferredScreenOrigin(&self) -> NSPoint
Sourcepub unsafe fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint)
pub unsafe fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint)
Setter for preferredScreenOrigin
.
pub unsafe fn preferredMinimumSize(&self) -> NSSize
pub unsafe fn preferredMaximumSize(&self) -> NSSize
Methods from Deref<Target = NSResponder>§
pub unsafe fn interfaceStyle(&self) -> NSInterfaceStyle
NSInterfaceStyle
only.pub unsafe fn setInterfaceStyle(&self, interface_style: NSInterfaceStyle)
NSInterfaceStyle
only.pub unsafe fn nextResponder(&self) -> Option<Retained<NSResponder>>
Sourcepub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
pub unsafe fn setNextResponder(&self, next_responder: Option<&NSResponder>)
Setter for nextResponder
.
pub unsafe fn tryToPerform_with( &self, action: Sel, object: Option<&AnyObject>, ) -> bool
pub unsafe fn performKeyEquivalent(&self, event: &NSEvent) -> bool
NSEvent
only.pub unsafe fn validRequestorForSendType_returnType( &self, send_type: Option<&NSPasteboardType>, return_type: Option<&NSPasteboardType>, ) -> Option<Retained<AnyObject>>
NSPasteboard
only.pub unsafe fn mouseDown(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn rightMouseDown(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn otherMouseDown(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn mouseUp(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn rightMouseUp(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn otherMouseUp(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn mouseMoved(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn mouseDragged(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn scrollWheel(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn rightMouseDragged(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn otherMouseDragged(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn mouseEntered(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn mouseExited(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn keyDown(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn keyUp(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn flagsChanged(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn tabletPoint(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn tabletProximity(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn cursorUpdate(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn magnifyWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn rotateWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn swipeWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn beginGestureWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn endGestureWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn smartMagnifyWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn changeModeWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn touchesBeganWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn touchesMovedWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn touchesEndedWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn touchesCancelledWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn quickLookWithEvent(&self, event: &NSEvent)
NSEvent
only.pub unsafe fn pressureChangeWithEvent(&self, event: &NSEvent)
NSEvent
only.Sourcepub unsafe fn contextMenuKeyDown(&self, event: &NSEvent)
Available on crate feature NSEvent
only.
pub unsafe 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:
pub unsafe fn noResponderFor(&self, event_selector: Sel)
pub unsafe fn acceptsFirstResponder(&self) -> bool
pub unsafe fn becomeFirstResponder(&self) -> bool
pub unsafe fn resignFirstResponder(&self) -> bool
pub unsafe fn interpretKeyEvents(&self, event_array: &NSArray<NSEvent>)
NSEvent
only.pub unsafe 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
.
pub unsafe fn showContextHelp(&self, sender: Option<&AnyObject>)
pub unsafe fn helpRequested(&self, event_ptr: &NSEvent)
NSEvent
only.pub unsafe fn shouldBeTreatedAsInkEvent(&self, event: &NSEvent) -> bool
NSEvent
only.pub unsafe fn wantsScrollEventsForSwipeTrackingOnAxis( &self, axis: NSEventGestureAxis, ) -> bool
NSEvent
only.pub unsafe fn wantsForwardedScrollEventsForAxis( &self, axis: NSEventGestureAxis, ) -> bool
NSEvent
only.pub unsafe fn supplementalTargetForAction_sender( &self, action: Sel, sender: Option<&AnyObject>, ) -> Option<Retained<AnyObject>>
pub unsafe fn undoManager(&self) -> Option<Retained<NSUndoManager>>
pub unsafe fn validateProposedFirstResponder_forEvent( &self, responder: &NSResponder, event: Option<&NSEvent>, ) -> bool
NSEvent
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.pub unsafe fn presentError(&self, error: &NSError) -> bool
pub unsafe fn willPresentError(&self, error: &NSError) -> Retained<NSError>
pub unsafe fn performTextFinderAction(&self, sender: Option<&AnyObject>)
pub unsafe fn newWindowForTab(&self, sender: Option<&AnyObject>)
pub unsafe fn showWritingTools(&self, sender: Option<&AnyObject>)
pub unsafe fn performMnemonic(&self, string: &NSString) -> bool
pub unsafe fn touchBar(&self) -> Option<Retained<NSTouchBar>>
NSTouchBar
only.Sourcepub unsafe fn setTouchBar(&self, touch_bar: Option<&NSTouchBar>)
Available on crate feature NSTouchBar
only.
pub unsafe fn setTouchBar(&self, touch_bar: Option<&NSTouchBar>)
NSTouchBar
only.Setter for touchBar
.
pub unsafe fn makeTouchBar(&self) -> Option<Retained<NSTouchBar>>
NSTouchBar
only.pub unsafe fn userActivity(&self) -> Option<Retained<NSUserActivity>>
NSUserActivity
only.Sourcepub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
Available on crate feature NSUserActivity
only.
pub unsafe fn setUserActivity(&self, user_activity: Option<&NSUserActivity>)
NSUserActivity
only.Setter for userActivity
.
pub unsafe fn updateUserActivityState(&self, user_activity: &NSUserActivity)
NSUserActivity
only.pub unsafe fn encodeRestorableStateWithCoder(&self, coder: &NSCoder)
NSWindowRestoration
only.pub unsafe fn encodeRestorableStateWithCoder_backgroundQueue( &self, coder: &NSCoder, queue: &NSOperationQueue, )
NSWindowRestoration
only.pub unsafe fn restoreStateWithCoder(&self, coder: &NSCoder)
NSWindowRestoration
only.pub unsafe 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§unsafe fn discardEditing(&self)
unsafe fn discardEditing(&self)
NSKeyValueBinding
only.Source§unsafe fn commitEditing(&self) -> bool
unsafe 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_ref
Source§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§unsafe fn tabView_shouldSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
) -> bool
unsafe fn tabView_shouldSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, ) -> bool
NSResponder
and NSTabViewItem
and NSView
and NSTabView
only.Source§unsafe fn tabView_willSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
)
unsafe fn tabView_willSelectTabViewItem( &self, tab_view: &NSTabView, tab_view_item: Option<&NSTabViewItem>, )
NSResponder
and NSTabViewItem
and NSView
and NSTabView
only.Source§unsafe fn tabView_didSelectTabViewItem(
&self,
tab_view: &NSTabView,
tab_view_item: Option<&NSTabViewItem>,
)
unsafe 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§unsafe fn toolbar_itemForItemIdentifier_willBeInsertedIntoToolbar(
&self,
toolbar: &NSToolbar,
item_identifier: &NSToolbarItemIdentifier,
flag: bool,
) -> Option<Retained<NSToolbarItem>>
unsafe 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§unsafe fn toolbarDefaultItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
unsafe fn toolbarDefaultItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar
only.Source§unsafe fn toolbarAllowedItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
unsafe fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar
only.Source§unsafe fn toolbarSelectableItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
unsafe fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
NSToolbar
only.selectedItemIdentifier
when possible.
See selectedItemIdentifier
for more details.Source§unsafe fn toolbarImmovableItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSSet<NSToolbarItemIdentifier>>
unsafe fn toolbarImmovableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSSet<NSToolbarItemIdentifier>>
NSToolbar
only.Source§unsafe fn toolbar_itemIdentifier_canBeInsertedAtIndex(
&self,
toolbar: &NSToolbar,
item_identifier: &NSToolbarItemIdentifier,
index: NSInteger,
) -> bool
unsafe fn toolbar_itemIdentifier_canBeInsertedAtIndex( &self, toolbar: &NSToolbar, item_identifier: &NSToolbarItemIdentifier, index: NSInteger, ) -> bool
NSToolbar
only.Source§unsafe fn toolbarWillAddItem(&self, notification: &NSNotification)
unsafe fn toolbarWillAddItem(&self, notification: &NSNotification)
NSToolbar
only.NSToolbarItemKey
and NSToolbarNewIndexKey
in the userInfo dictionary respectively.Source§unsafe fn toolbarDidRemoveItem(&self, notification: &NSNotification)
unsafe fn toolbarDidRemoveItem(&self, notification: &NSNotification)
NSToolbar
only.NSToolbarItemKey
in the userInfo.Source§impl NSUserInterfaceItemIdentification for NSTabViewController
impl NSUserInterfaceItemIdentification for NSTabViewController
Source§unsafe fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
unsafe fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
NSUserInterfaceItemIdentification
only.Source§unsafe fn setIdentifier(
&self,
identifier: Option<&NSUserInterfaceItemIdentifier>,
)
unsafe fn setIdentifier( &self, identifier: Option<&NSUserInterfaceItemIdentifier>, )
NSUserInterfaceItemIdentification
only.identifier
.Source§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