We are using Eclipse, however this is a general question about setting IME input mode.
We want to enable the user to enter far east Character sets into our Eclipse based editor (SWT). Getting the shell of the IEditorSite, we can set the type of input mode like this:
site.getShell().setImeInputMode(SWT.DBCS);
However, when I stepped into this call, it basically does nothing for locales that are not Double Byte:
public void setImeInputMode (int mode) {
checkWidget ();
if (!OS.IsDBLocale) return;
...
I don't follow why it does this. I have a global IME Input bar on my desktop that allows me to enter various characters from different character sets, even though my locale is not DB. Why would the code limit setting the IME input mode to just DB locales?
Next I attempted to change my default locale via the control panel to a far east language, which worked fine, but it still did not consider it a DB locale (I tried Korean, Japanese and Chinese). Would I have to have one of the far east OS's installed for it to work?
Finally (yes, alot of questions
), In our program we create alot of different editors. Is there anywhere we can set the IME Input mode to DBCS just once and have them all inherit that attribute?
Thanks!