'From Squeak3.8 of ''5 May 2005'' [latest update: #6665] on 7 June 2005 at 9:19:02 pm'! Object subclass: #ImmManager instanceVariableNames: '' classVariableNames: 'Imm' poolDictionaries: '' category: 'Multilingual-ImmPlugin'! !CTextEditor methodsFor: 'accessing' stamp: 'KR 6/7/2005 21:06'! inputPoint | ptLocal ptGlobal | ptLocal := (self textHolder editor selectionRect topLeft) + (Point x: 12 y: 12). ptGlobal := self textHolder costume localToGlobal: ptLocal. ^ptGlobal.! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 21:05'! onInputPointMoved | inputPt | inputPt := (self inputPoint) + (self root ownerMorph topLeft). "Transcript show: inputPt; cr." ImmManager compositionWindowManager setCompositionWindowPositionX: (inputPt x) y: (inputPt y). ! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 20:50'! onKeyboardFocusEnter "only accept input while having the keyboard focus" self resumeScript: #onKeyStroke:. self resumeScript: #onKeyDown:. self resumeScript: #onInputPointMoved. self signal: #inputPointMoved.! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 20:49'! onKeyboardFocusLeave "only accept input while having the keyboard focus" self pauseScript: #onKeyStroke:. self pauseScript: #onKeyDown:. self pauseScript: #onInputPointMoved.! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 21:13'! onTargetFrameChanged self signal: #inputPointMoved.! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 21:08'! onTargetGeometryChanged self signal: #inputPointMoved.! ! !CTextEditor methodsFor: 'events' stamp: 'KR 6/7/2005 21:04'! onTextSelectionChanged self signal: #textSelectionChanged. self signal: #inputPointMoved.! ! !ImmManager class methodsFor: 'as yet unclassified' stamp: 'KR 6/6/2005 23:30'! compositionWindowManager Imm ifNotNil: [^Imm]. SmalltalkImage current platformName = 'Win32' ifTrue: [^Imm := ImmWin32 new]. (SmalltalkImage current platformName = 'unix' and: [(SmalltalkImage current getSystemAttribute: 1005) = 'X11']) ifTrue: [^Imm := ImmX11 new]. ^Imm := ImmAbstractPlatform new! ! !ImmManager class reorganize! ('accessing') ('as yet unclassified' compositionWindowManager) !