KDE 4 GUI framework
Here are some of the ideas for revamping KXMLGUI into a successor to KDE 4, codenamed LiveUi.
The goal of this framework is to provide a facility for creation of graphical user interfaces:
Overview:
Required tasks to achieve this:
Non required tasks:
The goal of this framework is to provide a facility for creation of graphical user interfaces:
- as quick and easy to use as possible
- which provides all features of XMLGUI, and some important extras (especially, designable actions and action collections)
- as a side benefit, will one day allow for graphical configuration of kiosk mode, without any effort on the developers' part.
Overview:
- Two main methods to creating GUIs: via an api, and using Qt designer.
- For the api, actions are inserted into a component object using a simple stateful builder api.
- For designer, the information in the .ui files is integrated at compile time by uic (or an additional kde uic-like tool), into the autogenerated ui class
- Run-time redesignability will be possible with configuration dialogs/tools embedded into the apps
- User's settings will not be lost when an application version increases.
- Backwards compatibility (from 4.0 onwards) should be maintained (ie. no renaming actions etc)
- Shortcuts will be designable with a special view to see a keyboard and all the shortcuts mapped onto that visual representation of the keyboard
- The API will provide a method for defining application states and associating actions states (enable/disable/hide/show actions depending on the state)
Required tasks to achieve this:
- Create the live ui API and logic
- Port an app (or several) to verify the approach
- Create a designer plugin which exposes kde standard actions
- Create a template for designer which allows creation of a new KMainWindow subclass
- Allow designer to create QAction subclasses
- Create actions to represent merge placeholders, and insert them into the gui to hold that position
- Create KActionCollections
- Allow designer to assign KActions and subclasses to KActionCollections
- Create a tool to extract information from existing apps, and put that information into the new format. Will require either run-time or code extraction mechanisms to get information about actions.
- Create the user configuration code and allow creation of new toolbars
Non required tasks:
- Allow designer to load a part's ui file, and merge it into another ui file currently open; show all non-merged actions as disabled/grayed out so that you're just editing the part's ui file
- Create a graphical tool to load ui files and generate kiosk rules from that
- Allow export of ui files from code which used the liveui api to create the gui instead of designer, for use with the kiosk tool
- Allow the definition of 'global' plugins that apply to all applications. This can be used for plugins such as bridges to script engines that are not application specific.
Contributors to this page: Anonymous
.
Page last modified on Sunday 16. July 2006 [01:14:20 UTC] by Anonymous.
The content on this page is licensed under the terms of the GNU Free Documentation License.
18
online users
