KShower home page


1. Introduction

The kshower project is the implementation of the following concept: create a graphical drawing canvas, on which the elements will be active. The word active means that each element (including lines/arrows) will have assignable actions. Moreover, the graphical presentation should be automatically drawn or updated from a real system. The canvas should be both a full editor (used to create/modify the visual arrangement of objects) and a workspace, where the objects will be activated or just browsed.

Kshower basic principle
The shapes file used in this example

2.1. Concepts: Two-stage information presentation

Perhaps the most important design point of the kshower project is that the information (plh's) are not meant to be stored inside the kshower, but are considered external objects. The objects exist in an arbitrary space and kshower knows only their projection.

Note that the figure shows three stages, not only two. The external objects are not considered a stage at this context.

In order to be able to project different kind of objects each time, kshower uses an abstraction layer over the objects. This is the memory space. Think of the memory space as a generic wrapper, which can be customized to wrap the different mechanisms of storing objects. These objects may be ordinary C++ objects, CORBA objects, QObjects, files in a fs, rows in a db, computers on a physical network or anything, but they will appear as simple C++ objects to the internals of kshower.

- It is not strictly defined whether the position of the elements in the canvas will be at the second or third layer of information. Some information may be able to contain its position (like in a flexible db) or the memory space may hold it in a separate file.

This page is only a draft. Please contribute and help make it better!

Kshower sourceforge page
SourceForge.net Logo