KLEX

Users

Download KLEX files

Project detail and discuss

Get support

Project Information

A framework for all-platform GUI-development based on completely separating business from presentation logic and introducing methods of abstraction that allow stepwise refinement of the GUI-definition.

Separation of business and presentation logic is achieved by introducing an xml defined so called general presentation layer (gpl), that defines the input/output format for the business logic. Each output tree is delivered through a controller component to the presentation layer, where it is used to configure a platform dependent tree, which serves as high level description of the user interface. This tree is called the pspl-tree (an abbreviation for 'platform specific presentation layer'). It is useful, to store the definitions for the gpl- and pspl-tree in a database, along with the assignments between the nodes of the trees. These assignments control by which nodes of the gpl-tree a given pspl-node is configured. Basically ervery platform could be supported, e.g plain Html, Html with JavaScript or CSS, XAML, XUL, Microsoft.net, MFC, Qt, GTK+, Tcl/TK, AWT, SWT, Swing, commandline etc., also output in report format like PDF (through e.g. XSL-FO), Excel, TEX and so on.

A special RCP-application is included, which allows to handle the construction and mapping of these trees graphically. This application can be loaded as eclipse-plugin.

The pspl-tree is stepwise transformed into a low-level definition of the user interface, which should have a one-to-one mapping to the basic components of the respective platform. This is called the ppl-tree (abbreviated from 'primitives presentation layer'). The transformation is done using the STOX processing model. STOX is a related project on sourceforge.net. For further information please refer to the details of that project. The STOX model offers methods that are comparable to the creation of hierarchical layers of abstraction by using functions and procedures in a programs source code.

If the basic components of the respective platform are not xml-elements (unlike xhtml,xaml, xul or xsl-fo), the ppl-tree must be converted into a graphical representation. This is done by instantiating for every primive element the corresponding basic component and arranging them according to the structure of the ppl-tree.

A more complex issue is the communication between the gui and the business logic. The information from the ui-components has to go back through the ppl, pspl to the gpl, from where the data for the next action of the business logic is taken.

Often it will be preferable, to make only modifications to the ui and not to construct a new instance with every new output-tree. This can be achieved by using multiple trees for one formular, reusing basic components or setting control parameters for the intended modifications.

Developers

Join this project:

To join this project, please contact the project administrators of this project, as shown on the project summary page.

Get the source code:

Source code for this project may be available as downloads or through the CVS or Subversion SCM repository used by the project, as accessible from the project summary page.

Update project web pages:

If you are a member of this project, you can deploy your own project web pages as per our site documentation.

If you are a web page developer interested in this project, please consider reaching out to the project admin (per the "Join this project" section, above) to offer your assistance.

About Open Source:

Of benefit to users, Open Source software is licensed so you can download and use the software free-of-charge. The source code for this software is made available free-of-charge, you (or a programmer you hire) can make changes to this software to better meet your needs, and you can release your changed code back to the community passing the benefit on to other users.

The exact license terms used by this project on their project summary page and in the licensing documents included in their downloads.

Project Web Hosted by SourceForge.net

Copyright 1999-2008 - SourceForge , Inc., All Rights Reserved

About - Legal - Help