diff options
author | Tor Lillqvist <tml@collabora.com> | 2014-06-03 09:04:45 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2014-06-11 10:02:35 +0300 |
commit | b16e7f907b7d72058b0ee0dc8967cef1071935c0 (patch) | |
tree | 004745035c47a58c4a16f0c3e5d7d2fd28927dd7 /vcl | |
parent | 1bbc9b7e4e55e627158a29b07ccd3f9fb4faabf1 (diff) |
Initial attempt at implementing NSTextInputClient instead of NSTextInput
NSTextInput was deprecated in 10.6.
Change-Id: I6bce9e91a68014a6ca28bff6a820c27817f9baaf
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/aqua/source/window/salframeview.mm | 25 | ||||
-rw-r--r-- | vcl/inc/aqua/salframeview.h | 6 |
2 files changed, 20 insertions, 11 deletions
diff --git a/vcl/aqua/source/window/salframeview.mm b/vcl/aqua/source/window/salframeview.mm index 48e6adf2b2f3..f41a7e2ddf90 100644 --- a/vcl/aqua/source/window/salframeview.mm +++ b/vcl/aqua/source/window/salframeview.mm @@ -1017,8 +1017,10 @@ private: } } --(void)insertText:(id)aString +-(void)insertText:(id)aString replacementRange:(NSRange)replacementRange { + (void) replacementRange; // FIXME: surely it must be used + YIELD_GUARD; if( AquaSalFrame::isAlive( mpFrame ) ) @@ -1538,7 +1540,7 @@ private: } -// NSTextInput protocol +// NSTextInputClient protocol - (NSArray *)validAttributesForMarkedText { return [NSArray arrayWithObjects:NSUnderlineStyleAttributeName, nil]; @@ -1589,8 +1591,10 @@ private: return mSelectedRange; } -- (void)setMarkedText:(id)aString selectedRange:(NSRange)selRange +- (void)setMarkedText:(id)aString selectedRange:(NSRange)selRange replacementRange:(NSRange)replacementRange { + (void) replacementRange; // FIXME - use it! + if( ![aString isKindOfClass:[NSAttributedString class]] ) aString = [[[NSAttributedString alloc] initWithString:aString] autorelease]; NSRange rangeToReplace = [self hasMarkedText] ? [self markedRange] : [self selectedRange]; @@ -1658,10 +1662,12 @@ private: mSelectedRange = mMarkedRange = NSMakeRange(NSNotFound, 0); } -- (NSAttributedString *)attributedSubstringFromRange:(NSRange)theRange +- (NSAttributedString *)attributedSubstringForProposedRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange { - (void)theRange; - // FIXME + (void) aRange; + (void) actualRange; + + // FIXME - Implement return nil; } @@ -1703,9 +1709,12 @@ private: mpLastEvent = nil; } -- (NSRect)firstRectForCharacterRange:(NSRange)theRange +- (NSRect)firstRectForCharacterRange:(NSRange)aRange actualRange:(NSRangePointer)actualRange { - (void)theRange; + // FIXME - These should probably be used? + (void) aRange; + (void) actualRange; + SalExtTextInputPosEvent aPosEvent; mpFrame->CallCallback( SALEVENT_EXTTEXTINPUTPOS, (void *)&aPosEvent ); diff --git a/vcl/inc/aqua/salframeview.h b/vcl/inc/aqua/salframeview.h index 4be71b3b7e5c..44f165443d9d 100644 --- a/vcl/inc/aqua/salframeview.h +++ b/vcl/inc/aqua/salframeview.h @@ -56,11 +56,11 @@ -(void)unregisterDraggingDestinationHandler:(id)theHandler; @end -@interface SalFrameView : AquaA11yWrapper <NSTextInput> +@interface SalFrameView : AquaA11yWrapper <NSTextInputClient> { AquaSalFrame* mpFrame; - // for NSTextInput + // for NSTextInputClient NSEvent* mpLastEvent; BOOL mbNeedSpecialKeyHandle; BOOL mbInKeyInput; @@ -110,7 +110,7 @@ /* text action methods */ --(void)insertText:(id)aString; +-(void)insertText:(id)aString replacementRange:(NSRange)replacementRange; -(void)insertTab: (id)aSender; -(void)insertBacktab: (id)aSender; -(void)moveLeft: (id)aSender; |