#[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.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 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,
-titlewill 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
viewControllerset 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.
-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 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
tabViewItemis 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
viewControlleris 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<&Block<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.
§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
Available on crate feature NSKeyValueBinding only.
impl NSEditor for NSTabViewController
NSKeyValueBinding only.unsafe fn discardEditing(&self)
unsafe fn commitEditing(&self) -> bool
unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo( &self, delegate: Option<&AnyObject>, did_commit_selector: Option<Sel>, context_info: *mut c_void, )
unsafe fn commitEditingAndReturnError(&self) -> Result<(), Retained<NSError>>
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
Available on crate feature NSStoryboardSegue only.
impl NSSeguePerforming for NSTabViewController
NSStoryboardSegue only.unsafe fn prepareForSegue_sender( &self, segue: &NSStoryboardSegue, sender: Option<&AnyObject>, )
unsafe fn performSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, )
unsafe fn shouldPerformSegueWithIdentifier_sender( &self, identifier: &NSStoryboardSegueIdentifier, sender: Option<&AnyObject>, ) -> bool
Source§impl NSTabViewDelegate for NSTabViewController
Available on crate feature NSTabView only.
impl NSTabViewDelegate for NSTabViewController
NSTabView only.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
NSTabViewItem and NSView 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>, )
NSTabViewItem and NSView 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>, )
NSTabViewItem and NSView only.Source§impl NSToolbarDelegate for NSTabViewController
Available on crate feature NSToolbar only.
impl NSToolbarDelegate for NSTabViewController
NSToolbar only.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>>
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>>
Source§unsafe fn toolbarAllowedItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
unsafe fn toolbarAllowedItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
Source§unsafe fn toolbarSelectableItemIdentifiers(
&self,
toolbar: &NSToolbar,
) -> Retained<NSArray<NSToolbarItemIdentifier>>
unsafe fn toolbarSelectableItemIdentifiers( &self, toolbar: &NSToolbar, ) -> Retained<NSArray<NSToolbarItemIdentifier>>
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>>
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
Source§unsafe fn toolbarWillAddItem(&self, notification: &NSNotification)
unsafe fn toolbarWillAddItem(&self, notification: &NSNotification)
NSToolbarItemKey and NSToolbarNewIndexKey in the userInfo dictionary respectively.Source§unsafe fn toolbarDidRemoveItem(&self, notification: &NSNotification)
unsafe fn toolbarDidRemoveItem(&self, notification: &NSNotification)
NSToolbarItemKey in the userInfo.Source§impl NSUserInterfaceItemIdentification for NSTabViewController
Available on crate feature NSUserInterfaceItemIdentification only.
impl NSUserInterfaceItemIdentification for NSTabViewController
NSUserInterfaceItemIdentification only.unsafe fn identifier(&self) -> Option<Retained<NSUserInterfaceItemIdentifier>>
Source§unsafe fn setIdentifier(
&self,
identifier: Option<&NSUserInterfaceItemIdentifier>,
)
unsafe fn setIdentifier( &self, identifier: Option<&NSUserInterfaceItemIdentifier>, )
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