GSoC/GCI Archive
Google Summer of Code 2012 OpenICC

SimpleUI - Simple Toolkit Abstraction

by nitin chadha for OpenICC

Many a times, projects are written which require various plug-ins and user inputs for some configuration parameters. Those plug-ins present their own user interface, not necessarily in same language or platform, resulting in inconsistency for porting the projects on other platforms. Most of the times, it defeats the purpose of writing and making that projects. Hence, we require some system such that UI's do not pose obstacle in building such projects. Eg, suppose you have a project which requires use of some plug-in which only has a qt front-end. Hence, all other users , like that of gnome, windows, mac, etc will be forced to use command line, or worse, settle themselves with default values, simply because UI of some plug-in or module does not work on their platform. It lets the users of the project down, and hence a lack of confidence in that project. Also, projects somewhere resist themselves in using such plugins. Similarly, oyranos colour management system is in parts only a thin layer between imaging applications and advanced modules or plug-ins. To deploy these plug-ins flexible and maintain toolkit independency, plug-ins must present some consistent UI. SimpleUI tries to solve this problem. It creates a set of functions and widgets in standard formats which can be used for user input as such, as well allow programs to display their UI's for a specific UI library like gtk or qt. Goal is to create a simple and highly flexible GUI system, which allows easy creation of dialogs including callback mechanisms, advance UI configuration as well as platform independency.