I. Introduction
I.1. Main concepts to design an application
Concepts in Cekenz are basics and easy to
understand. Main items are: application, screen, screen chain, step,
component and data.
Others concepts concerns user interface layout to organize content for
screens and steps: screen model and step model.
I.2. Features Execution
Cekenz offers several possibilities to manage the end of execution of an application. The default way is to finish normally an execution but its also possible to abort immediately an execution.
Another way is to pause (freeze) the current execution to resume it later. In this case all components content values set by the user will be saved and resumed. So in the Cekenz Launcher software, there are a way to resume paused application execution.
II. Application
An application is used in many situations: implement a process with steps to realize, a survey to collect information or to modelize a tutorial and so on... Basically, an application contains a set of screens which are displayed from the first one to the last one. The way to go to another screen is configurable and managed by each screen through a chain mechanism. The application manage also the data (string, table) used in screens in components.
III. Screen & Layout
III.1. Screen
A screen is a rectangular container splitted in several parts to receive: a title, the chain mechanism (a set of command buttons), and the list of steps, each containing components. The visual organization of the screen content is managed by a layout.
III.2. Screen Layout
For now, the only one built-in layout available for screens is "BuiltIn_Standard" which split the container in several areas: Top, Center and bottom.
- The Top area will receive the title of the screen (not yet implemented),
- The Bottom area will receive the screen chain mechanism,
- The Central area will receive the steps, each step having components.
IV. Step
A step is a rectangular container having components like label, textbox, radiobutton, combobox and several others ones. The visual organization of components of a step is managed by a layout. Steps in a screen are stacked from the top to the down in the screen main area.
V. Step layout
V.1. Presentation
Each step use a layout to organize the content (components) of a step. You can choice the layout of each step. Two built-in layouts are available: "Default" and "2Col_Left_SmallRight".
V.2. The Default step layout
This layout is simple, its just a container where components added are stacked vertically or horizontally. The single area is named "root".
V.3. The 2Col_Left_SmallRight step layout
This layout organize content in two parts where to put components: the left part and the right part. The right part is smaller than the the left part.
Using this layout, components can be set in placeholders availables: Left or Right. On each placeholder, its possible to have one or more components, there're will be stacked vertically or horizontally.
VI. Component
There are several sort of available components: Label, TextBox, RadioButton and ComboBox for now.
Components in a step are organized according to the layout template defined in the step.
Components are set in an area of the step layout model:
- Root if the model is Default,
- Left or Right if the model is 2Col_Left_SmallRight,...
VII. Screen chain mechanism
VII.1. Introduction
Each screen has a chain mechanism to display another screen. A chain mechanism is a set of one or several commands to go on differents screens. A command is implemented by a button.
VII.2. Command
The list of available commands is:
So from a screen, its possible to:
-Goto the next screen defined in the application, -Return back to the previous screen, displayed before,
-Goto another screen (not yet implemented)
-Abort the current execution of an application,
-Pause the current execution of an application (and resume it later),
-Finish/End the current execution of an application.
VII.3. Screen chain models
Chain mechanism is based on a model, there are several built-in model availables in Cekenz. To define the list of commands (buttons) you want on each screen, you have to set the model among the list of models from the list: