Important: The information in this document is obsolete and should not be used for new development.
Inherits from | |
Implements | |
Package | com.apple.cocoa.application |
Companion guide |
NSInputManager is one of the three players in the Cocoa text input management system. The input manager acts as a proxy between “NSInputServer” and text views. You never have to instantiate or subclass NSInputManager, and unless you are implementing a text view that does not inherit from NSTextView, you never have to directly access its methods either.
If an application needs more complex text handling than the standard Cocoa text view classes can provide, then it will use its own text view class that implements the “NSTextInput” interface, and that class will call NSInputManager’s methods. The current input manager’s input server will call some of the text view’s NSTextInput interface methods.
The wantsToDelayTextChangeNotifications
, wantsToHandleMouseEvents
, and wantsToInterpretAllKeystrokes
methods call methods of the same names on the input manager’s current input server and return the result.
attributedSubstringWithRange
characterIndexForPoint
conversationIdentifier
doCommandBySelector
firstRectForCharacterRange
hasMarkedText
insertText
markedRange
selectedRange
setMarkedTextAndSelectedRange
unmarkText
validAttributesForMarkedText
Cocoa constructs an NSInputManager automatically. This method is an implementation detail. You will never call this method.
public NSInputManager
(String inputServerName, String hostName)
The current input manager is the one that has been chosen to handle keyboard events at the time this method is called.
public static NSInputManager currentInputManager
()
Don’t cache the return value, because the user can switch to a different input manager at any time.
Deprecated.
public static void cycleToNextInputLanguage
(Object sender)
Deprecated.
public static void cycleToNextInputServerInLanguage
(Object sender)
From NSTextInput interface; called internally only.
public NSAttributedString attributedSubstringWithRange
(NSRange theRange)
From NSTextInput interface; called internally only.
public int characterIndexForPoint
(NSPoint thePoint)
From NSTextInput interface; called internally only.
public int conversationIdentifier
()
From NSTextInput interface; called internally only.
public void doCommandBySelector
(NSSelector aSelector)
From NSTextInput interface; called internally only.
public NSRect firstRectForCharacterRange
(NSRange theRange)
public boolean handleMouseEvent
(NSEvent theMouseEvent)
Forwards a mouse event passed in theMouseEvent to the input server. If wantsToHandleMouseEvents
returns true
, then the text view must forward all mouse events that occur within it. As usual, a return value of false
means that the text view should proceed with handling the event.
From NSTextInput interface; called internally only.
public boolean hasMarkedText
()
Deprecated.
public NSImage image
()
From NSTextInput interface; called internally only.
public void insertText
(Object aString)
Returns the Language
property from the input server’s Info
file, or null
if none is specified there.
public String language
()
For additional information, see “Deploying Input Servers”.
Returns the name of the input server as it appears in the Edit>Input submenu.
public String localizedInputManagerName
()
This value comes from the input server’s Info
file.For additional information, see “Deploying Input Servers”.
From NSTextInput interface; called internally only.
public NSRange markedRange
()
The input server must abandon whatever it was doing with marked text.
public void markedTextAbandoned
(Object client)
The NSTextView
object client calls this when the user clicks outside the marked text (anywhere other than the beginning of marked text, the end of marked text, or in between), then NSTextView
promotes the marked text to normal text as if it had been inserted. A custom text view is free to choose not to keep the marked text.
markedTextSelectionChanged
markedTextAbandoned
(NSInputServiceProvider)The user clicked at the beginning of marked text, the end of marked text, or in between, or the user made a selection within the marked text in the client text view.
public void markedTextSelectionChanged
(NSRange newSel, Object client)
The range newSel is relative to the beginning of the marked text.
markedTextAbandoned
markedTextSelectionChanged
(NSInputServiceProvider)From NSTextInput interface; called internally only.
public NSRange selectedRange
()
Deprecated.
public NSInputServer server
()
From NSTextInput interface; called internally only.
public void setMarkedTextAndSelectedRange
(Object aString, NSRange selRange)
From NSTextInput interface; called internally only.
public void unmarkText
()
From NSTextInput interface; called internally only.
public NSArray validAttributesForMarkedText
()
A true
return value tells the sender that only a call to its insertText
method constitutes a modification to its text storage.
public boolean wantsToDelayTextChangeNotifications
()
A false
return value tells the sender that all text given to it, either by insertion or as part of marked text, should constitute a modification to its text storage. The sender may for example want to filter all text that is part of a modification but leave marked text unfiltered.
wantsToDelayTextChangeNotifications
(NSInputServiceProvider)Returns true
if the sender should forward all mouse events within the text view to the input server.
public boolean wantsToHandleMouseEvents
()
wantsToHandleMouseEvents
(NSInputServiceProvider)Returns true
if the server wants all keystrokes to be sent to it as characters.
public boolean wantsToInterpretAllKeystrokes
()
This method is needed only by the inner workings of Cocoa. You will probably not need to call this method.
wantsToInterpretAllKeystrokes
(NSInputServiceProvider)© 1997, 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-02-01)