IIIMF GUI Open Source Software Foundry [email protected]@pwchi.info.
-
Upload
william-salisbury -
Category
Documents
-
view
214 -
download
2
Transcript of IIIMF GUI Open Source Software Foundry [email protected]@pwchi.info.
![Page 1: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/1.jpg)
IIIMF GUIIIIMF GUIIIIMF GUIIIIMF GUIOpen Source Software Open Source Software
[email protected]@iis.sinica.edu.tw
[email protected]@pwchi.info
![Page 2: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/2.jpg)
Outline
• Components for IM UI• GUI Library: wxWindows
![Page 3: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/3.jpg)
Extensibility• For the IM service providers, it is essential for
an IM framework to provide features to differentiate their products from others. Some examples are:– Look and Feel– Functionality– Cooperation with special applications
• The GUI object downloading mechanism enables "look and feel" customization through the remote Language Engine.
• Cooperation with special applications depend on the platform IMSPI capability.
![Page 4: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/4.jpg)
Object Downloading• IIIMF supports object downloading where
either binary or text data objects to perform operations at IIIM client side can be down-loaded from IIIM server.
• A binary data object types supported in IIIMP V2.0 is an input method GUI object which performs preedit, lookup, status, or auxiliary function, or a light weight engine object which should work as front-end input method on IIIM client side and collaborate well with the associated IIIM server.
• A text data object supported in IIIMP V2.0 is character conversion rule file, which is written in pre-defined format syntax, called CCDEF. It describes the rules of key-action binding and text composition which should be performed on the client side.
![Page 5: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/5.jpg)
Components for IM UI
• Pre-edit region (文字暫區塊 )• Status region (狀態區塊 )• Lookup choice region (候選區塊 )• Auxiliary region (輔助區塊 )
![Page 6: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/6.jpg)
Example
![Page 7: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/7.jpg)
wxWidgets (1)• A free C++ library for cross-platform
development, with bindings for Python, Perl and C#.
• Since 1992• Features
– Supported platform: Windows, GTK+, Plain X11, Motif, MacOS
– can write C++, Python, Perl and C# code directly.
– supports importing and exporting XML resources.
![Page 8: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/8.jpg)
wxWidgets (2)• Projects
– wxUniversal: to provide basic classes such as wxWindow, wxFrame and wxDC.
– wxMGL: graphic solution for industry– wxMicroWindows
• Testimony– Highest-profile user is Mitch Kapor and
his Open Source Applications Foundation.– Borland C++ Builder X adapts
wxWingets.
![Page 9: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/9.jpg)
Problem (1)• Weak native resource supports
– wxWidgets is a cross-platform toolkit, and has been optimized to make writing dialogs by hand as easy as possible, but this approach has limitations as soon as dialogs reach a certain complexity.
• Weak language co-development supports– Some users might want to make use of the RAD
features of the Python bindings during development, but create a native binary using C++ at the end. This would entail rewriting (or at least reediting considerably) all dialog related code.
![Page 10: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/10.jpg)
Problem (2)• Widget items size differ
– Typically, a Motif widget has rather large borders, whereas a Windows control tries to use as little space as possible. Additionally, the user is often able to change the font size or choose a different "skin" or "theme" for all dialogs, resulting in different proportions etc. The size of widgets can vary if dialogs get translated into other languages, as a word usually has a different length in different languages.
![Page 11: IIIMF GUI Open Source Software Foundry marr@iis.sinica.edu.twpwchi@pwchi.info.](https://reader036.fdocuments.in/reader036/viewer/2022082917/5514f47655034693478b6007/html5/thumbnails/11.jpg)
wxDesigner
• A commercial dialog editor and RAD tool for the free wxWidgets GUI library.
• Features– Make use sizers to query the controls
about the individual size requirements at run-time, changes in font sizes etc won't do any harm, the dialog will grow or shrink accordingly.
– Work for GTK 2.3.x