Hi Bjoern,
Bjoern Milcke wrote:
Hi Leonard,
I think I still do not quite understand what you want, apart from
plugging R into OOo,...
I want an abstraction layer to the UNO Classes, and an interpreter that
reads simple commands like plot(), draw() and accesses the corresponding
UNO/C++ classes to create than the objects.
The problem with scripted charts is that usually the generated charts
can not be changed interactively via a GUI
This is not true:
- the objects would still be in the end constructed by the various low
level chart subroutines/classes
- and these low-level classes could have methods (as they surely
already have) to change them interactively;
The advantage of my concept is, that me (and many others) can sit down
and implement new types of charts without having any idea about UNO
components. There is the abstraction layer, that does this job. This is
the reason why R, gnuplot and alike are so popular in the scientific
community. And the OOo team does not need to spend all their time with
implementing new chart types. The community will do this.
Let's give an example - a Venn diagram - this is constructed using
Asymptote:
size(5cm,0);
pen colour1=red;
pen colour2=green;
pair z0=(0,0); // COULD TAKE SOME VARIABLES FROM THE SPREADSHEET
pair z1=(-1,0);
pair z2=(1,0);
real r=1.5;
guide c1=circle(z1,r);
guide c2=circle(z2,r);
fill(c1,colour1);
fill(c2,colour2);
picture intersection=new picture;
fill(intersection,c1,colour1+colour2);
clip(intersection,c2);
add(intersection);
draw(c1);
draw(c2);
And I could easily replace a circle with a triangle or make any other
change. I can customize every aspect of this diagram, which is not
possible if it is hardcoded into OOo. And everybody (not only the OOo
gurus) understands that draw() must draw something and fill() will
probably make a fill.
Now what should the Chart module do:
- it should take this high level graphical commands and interpret them
using low level OOo objects/ UNO classes/ whatsoever.
- the graph should be stored in the file/document using xml that maps
directly to the low level commands
- if the user wants to customize the graph, build low level methods
(this is actually the case even now), do not change the script
- ... then the script wouldn't match what the final output is: while
true, this has no relevance, as the script is used only to create the
chart initially (as a wrapper for the complex low level commands) and to
allow for the greatest flexibility doing this
Kind regards,
Leonard Mada
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]