[immodule-qt] Current Qt 4 status

YamaKen yamaken at bp.iij4u.or.jp
Tue Nov 23 05:01:02 EET 2004


At Wed, 17 Nov 2004 16:07:51 +0900,
kaminmat at cc.rim.or.jp wrote:
> 
> Thank you for explanation detailed enough for judging what is necessary.
> But, I have one question.
> 
> YamaKen <yamaken at bp.iij4u.or.jp> wrote:
> 
> > > I have removed the setMicroFocusHint() method and instead rely on the input 
> > > method to query the information it needs using inputMethodQuery() as this 
> > > makes it a whole lot easier to implement IM enabled widgets.
> > 
> > It will cause a problem in some cases.
> > 
> > For example, some input methods may want to show its auxiliary
> > widget adjacent to cursor always regardless of existence of
> > preedit. In this case, the notification from the widget is
> > required to know cursor moving because no other trigger to
> > activate the input context will occur. 
> 
> I think that it is enough to acquire required information whenever 
> auxiliary widget is displayed, in order to solve this problem. 
> Is this idea insufficient?

Not enough.

Suppose an input method that has a status widget always
shown. To satisfy the user interface requirements of the input
method, the status widget has to follow cursor even if preedit
does not exist.

To implement such behavior, There are two ways.

1. Invoke inputMethodQuery() at every opportunity (such as
   filterEvent() and mouseHandler()) to detect change of cursor
   position in the input widget

2. Invoke inputMethodQuery() when the input context has been
   notified about something changed in the input widget

Lars's API design implies 1, but I prefer 2.

Note that the input context itself is not changed while the
cursor position is changed in this case. I think that Lars's
design is assuming any change of properties occurs by some
change of input context.

-------------------------------
YamaKen  yamaken at bp.iij4u.or.jp



More information about the immodule-qt mailing list