[Uim] Determine the semantic of reset
James Su
suzhe at tsinghua.org.cn
Mon Jun 6 05:54:29 EEST 2005
Hi,
I don't think introducing such complex behaviour for reset() semantic
is worth and practical. Only the applications, which don't want to
retain the preedit string for an input area when focusing out, will call
reset (). Otherwise reset() shouldn't be called when focusing out (no
matter focus move or focus out). So just implement the reset() as truely
reset behaviour (clear preedit string and put input method into original
state) should be good enough. The preedit string should only be
committed within reset() if it's really necessary to be committed.
Users should always let input method engine commit the preedit string
or clear the preedit string before moving the focus. Otherwise the
default behaviour implemented in input method's reset() method should be
invoked if the appliation wants to clear the preedit string.
For the applications which don't call reset() at all, input method
should not commit the preedit string when focusing out and should
re-display the preedit string when focusing in again. It's the user's
responsibility to finish the input segment before moving the focus.
So I think any additional property like committable-when-focus-out
etc., are completely not necessary. reset () is enough.
Regards
James Su
TOKUNAGA Hiroyuki wrote:
>On Thu, 02 Jun 2005 20:52:02 +0900
>Kenichi Handa <handa at m17n.org> wrote:
>
>
>>>To allow such behavior, I couldn't think of any idea except adding
>>>new 'committable-when-focus-move-only' property.
>>>
>>The committable property is a piece of reasonable
>>information an im-module can determine and attach, but
>>'committable-when-focus-move-only' is not.
>>
>>If we really need different behaviour on focus-move and
>>focus-out, different APIs are necessary for an im-engine as
>>you wrote, and a user should be able to customize each
>>behaviour as below:
>>
>> o commit only the committable text (default)
>> o commit nothing
>> o commit all of the predit text
>>
>>So, still an im-module must give the committable property
>>(or the equivalent information) to an im-engine because such
>>information can't be decided by an im-engine.
>>
>
>I have another question now. If I remembered correctly (Sorry, I don't
>investigate APIs), we can't edit preedit strings from application side
>in m17n-lib. So must we add a new API for teaching 'comittable text was
>comitted' to im-module?
>
>Anyway, in the case of uim, commitable property is difficult to adopt,
>I think. But if m17n-lib adopt commitable property, I approve.
>Because corresponding such property would not be so difficult for
>uim-m17nlib.
>
>
>Regards,
>
>
More information about the uim
mailing list