#[repr(C)]pub struct NSWindowController { /* private fields */ }
NSResponder
and NSWindowController
only.Expand description
Implementations§
Source§impl NSWindowController
impl NSWindowController
pub unsafe fn initWithWindow( this: Allocated<Self>, window: Option<&NSWindow>, ) -> Retained<Self>
NSWindow
only.pub unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
pub unsafe fn initWithWindowNibName( this: Allocated<Self>, window_nib_name: &NSNibName, ) -> Retained<Self>
NSNib
only.pub unsafe fn initWithWindowNibName_owner( this: Allocated<Self>, window_nib_name: &NSNibName, owner: &AnyObject, ) -> Retained<Self>
NSNib
only.pub unsafe fn initWithWindowNibPath_owner( this: Allocated<Self>, window_nib_path: &NSString, owner: &AnyObject, ) -> Retained<Self>
pub unsafe fn windowNibName(&self) -> Option<Retained<NSNibName>>
NSNib
only.pub unsafe fn windowNibPath(&self) -> Option<Retained<NSString>>
pub unsafe fn owner(&self) -> Option<Retained<AnyObject>>
pub unsafe fn windowFrameAutosaveName( &self, ) -> Retained<NSWindowFrameAutosaveName>
NSWindow
only.Sourcepub unsafe fn setWindowFrameAutosaveName(
&self,
window_frame_autosave_name: &NSWindowFrameAutosaveName,
)
Available on crate feature NSWindow
only.
pub unsafe fn setWindowFrameAutosaveName( &self, window_frame_autosave_name: &NSWindowFrameAutosaveName, )
NSWindow
only.Setter for windowFrameAutosaveName
.
pub unsafe fn shouldCascadeWindows(&self) -> bool
Sourcepub unsafe fn setShouldCascadeWindows(&self, should_cascade_windows: bool)
pub unsafe fn setShouldCascadeWindows(&self, should_cascade_windows: bool)
Setter for shouldCascadeWindows
.
pub unsafe fn previewRepresentableActivityItems( &self, ) -> Option<Retained<NSArray<ProtocolObject<dyn NSPreviewRepresentableActivityItem>>>>
NSPreviewRepresentingActivityItem
only.Sourcepub unsafe fn setPreviewRepresentableActivityItems(
&self,
preview_representable_activity_items: Option<&NSArray<ProtocolObject<dyn NSPreviewRepresentableActivityItem>>>,
)
Available on crate feature NSPreviewRepresentingActivityItem
only.
pub unsafe fn setPreviewRepresentableActivityItems( &self, preview_representable_activity_items: Option<&NSArray<ProtocolObject<dyn NSPreviewRepresentableActivityItem>>>, )
NSPreviewRepresentingActivityItem
only.Setter for previewRepresentableActivityItems
.
pub unsafe fn document(&self) -> Option<Retained<AnyObject>>
Sourcepub unsafe fn setDocument(&self, document: Option<&AnyObject>)
pub unsafe fn setDocument(&self, document: Option<&AnyObject>)
Setter for document
.
pub unsafe fn setDocumentEdited(&self, dirty_flag: bool)
pub unsafe fn shouldCloseDocument(&self) -> bool
Sourcepub unsafe fn setShouldCloseDocument(&self, should_close_document: bool)
pub unsafe fn setShouldCloseDocument(&self, should_close_document: bool)
Setter for shouldCloseDocument
.
pub unsafe fn synchronizeWindowTitleWithDocumentName(&self)
pub unsafe fn windowTitleForDocumentDisplayName( &self, display_name: &NSString, ) -> Retained<NSString>
pub unsafe fn contentViewController(&self) -> Option<Retained<NSViewController>>
NSViewController
only.Sourcepub unsafe fn setContentViewController(
&self,
content_view_controller: Option<&NSViewController>,
)
Available on crate feature NSViewController
only.
pub unsafe fn setContentViewController( &self, content_view_controller: Option<&NSViewController>, )
NSViewController
only.Setter for contentViewController
.
pub unsafe fn window(&self) -> Option<Retained<NSWindow>>
NSWindow
only.Sourcepub unsafe fn setWindow(&self, window: Option<&NSWindow>)
Available on crate feature NSWindow
only.
pub unsafe fn setWindow(&self, window: Option<&NSWindow>)
NSWindow
only.Setter for window
.
pub unsafe fn isWindowLoaded(&self) -> bool
pub unsafe fn windowWillLoad(&self)
pub unsafe fn windowDidLoad(&self)
pub unsafe fn loadWindow(&self)
pub unsafe fn close(&self)
pub unsafe fn showWindow(&self, sender: Option<&AnyObject>)
Source§impl NSWindowController
Methods declared on superclass NSResponder
.
impl NSWindowController
Methods declared on superclass NSResponder
.
Source§impl NSWindowController
Methods declared on superclass NSObject
.
impl NSWindowController
Methods declared on superclass NSObject
.
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>
Source§impl NSWindowController
NSWindowControllerStoryboardingMethods.
These methods are used to support using Storyboards with your app.
impl NSWindowController
NSWindowControllerStoryboardingMethods. These methods are used to support using Storyboards with your app.
pub unsafe fn storyboard(&self) -> Option<Retained<NSStoryboard>>
NSStoryboard
only.Source§impl NSWindowController
NSWindowControllerDismissing.
impl NSWindowController
NSWindowControllerDismissing.
pub unsafe fn dismissController(&self, sender: Option<&AnyObject>)
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 NSWindowController
impl AsRef<AnyObject> for NSWindowController
Source§impl AsRef<NSObject> for NSWindowController
impl AsRef<NSObject> for NSWindowController
Source§impl AsRef<NSResponder> for NSWindowController
impl AsRef<NSResponder> for NSWindowController
Source§fn as_ref(&self) -> &NSResponder
fn as_ref(&self) -> &NSResponder
Source§impl AsRef<NSWindowController> for NSWindowController
impl AsRef<NSWindowController> for NSWindowController
Source§impl Borrow<AnyObject> for NSWindowController
impl Borrow<AnyObject> for NSWindowController
Source§impl Borrow<NSObject> for NSWindowController
impl Borrow<NSObject> for NSWindowController
Source§impl Borrow<NSResponder> for NSWindowController
impl Borrow<NSResponder> for NSWindowController
Source§fn borrow(&self) -> &NSResponder
fn borrow(&self) -> &NSResponder
Source§impl ClassType for NSWindowController
impl ClassType for NSWindowController
Source§const NAME: &'static str = "NSWindowController"
const NAME: &'static str = "NSWindowController"
Source§type Super = NSResponder
type Super = NSResponder
Source§type ThreadKind = <<NSWindowController as ClassType>::Super as ClassType>::ThreadKind
type ThreadKind = <<NSWindowController as ClassType>::Super as ClassType>::ThreadKind
Source§impl Debug for NSWindowController
impl Debug for NSWindowController
Source§impl Deref for NSWindowController
impl Deref for NSWindowController
Source§impl Hash for NSWindowController
impl Hash for NSWindowController
Source§impl Message for NSWindowController
impl Message for NSWindowController
Source§impl NSCoding for NSWindowController
impl NSCoding for NSWindowController
Source§impl NSObjectProtocol for NSWindowController
impl NSObjectProtocol for NSWindowController
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 NSWindowController
impl NSSeguePerforming for NSWindowController
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 PartialEq for NSWindowController
impl PartialEq for NSWindowController
Source§impl RefEncode for NSWindowController
impl RefEncode for NSWindowController
Source§const ENCODING_REF: Encoding = <NSResponder as ::objc2::RefEncode>::ENCODING_REF
const ENCODING_REF: Encoding = <NSResponder as ::objc2::RefEncode>::ENCODING_REF
impl DowncastTarget for NSWindowController
impl Eq for NSWindowController
Auto Trait Implementations§
impl !Freeze for NSWindowController
impl !RefUnwindSafe for NSWindowController
impl !Send for NSWindowController
impl !Sync for NSWindowController
impl !Unpin for NSWindowController
impl !UnwindSafe for NSWindowController
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