[prev in list] [next in list] [prev in thread] [next in thread] 

List:       batik-dev
Subject:    Extending batik for industruial automation purposes
From:       Antonio_Fiol_Bonnín <fiol.bonnin () terra ! es>
Date:       2002-09-26 8:27:53
[Download RAW message or body]

Dear all,

I would like to extend batik in several ways. I will expose my ideas 
here, willing to get your very valuable opinion.


Extension purpose:

Using a (maybe modified) batik browser to show the status of an 
industrial plant.

A typical representation would consist on several different very simple 
graphical elements and texts that may:
- appear/disappear (light on/off, indicating presence or position) [boolean]
- change color or blink (green thing turns red) [boolean]
- texts change (status=automatic/manual/halted/error/maintenance) [int: 
enumerated list of texts]

Some more advanced types of graphical elements include:
- Bar graphs (thermometer like)
- Continuous parameter monitoring (like the memory monitoring graph you 
have in batik)
I think I may leave these for a bit later.

Some "controls" may be needed:
- Checkbox
- Button (push button and switch-like buttons)
- Slider
- Number textbox
- Up-down arrows (in fact, may be buttons)
These controls are used to:
- change external variables
- link to other "sheets"


How to extend. My idea:

I read that custom elements are not traversed. So, why not extending SVG 
in the following way...

<!-- This implements a circle controlled by a boolean variable. When the 
var is true, the circle is shown -->
<automation:onoff type="boolean" variable="var1" value="true">
<svg:circle cx="10" cy="10" r="5" fill="red" />
</automation:boolean>
<!-- Same, with var = false -->
<automation:onoff type="boolean" variable="var1" value="false">
<svg:circle cx="30" cy="10" r="5" fill="red" />
</automation:boolean>
<!-- Even more, var is not boolean, but an integer. Shown if value is 3 -->
<automation:onoff type="int" variable="var1" value="3">
<svg:circle cx="30" cy="10" r="5" fill="red" />
</automation:boolean>
<!-- Or comparing to something (shown if 3<=var1<=5) -->
<automation:onoff type="int" variable="var1" valuegte="3" valuelte="5">
<svg:circle cx="30" cy="10" r="5" fill="red" />
</automation:boolean>

However, I have very little idea on how to implement changing texts, 
controls or histograms.

I could:
<automation:onoff type="boolean" variable="showtext" value="true">
<automation:text type="integer" variable="status">
<automation:enum value="1">Automatic</automation:enum>
<automation:enum value="2">Manual</automation:enum>
<!-- ... -->
</automation:text>
</automation:onoff>

And automation:text could be somehow similar to svg:text.

For the "sheet-jump" controls, they could be anything with a xlink:href 
attached, I believe.
For the rest of the controls, I'm sincerely quite lost.

And for the moving graph and  thermometer I am also lost.


My wishes:

Could you please tell me what you think of the whole project idea?
If you think the idea is worth (I mean, feasible), could you please 
point me on how to implement it?
Of course I am not asking you to implement it. Only to tell me where to 
start.
Any ideas on the implementation of the other controls would be welcome.


Thank you very much for any answer.

Yours sincerely,


Antonio Fiol


P.S. If you would like to have more information on the automation part, 
do not hesitate to ask me. That is the part I know best ;-)


---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic