Four Js Development Tools Forum

Discussions by product => Genero BDL => Topic started by: . on September 07, 2009, 11:50:14 pm



Title: Are there any plans to upgrade Canvas in the near future?
Post by: . on September 07, 2009, 11:50:14 pm
I was wondering if there were any plans to upgrade canvas to render svg in the BDL like the web client does?

Why would this be useful? Two uses come to mind for our application:
1. The idea of some sort of graphical dashboard for our menu system.
2. Simple (but attractive which unfortunately canvas currently doesn't quite
qualify for) graphs for things like our advanced inventory forecasting.

For more complex graphs we could obviously use the report writer (or shudder,
excel...).

Thanks


Title: Re: Are there any plans to upgrade Canvas in the near future?
Post by: . on September 08, 2009, 09:33:38 am
Some precision about SVG support in web client. Web client do not extend canvas with SVG capabilities but render genero canvas with SVG ... thus SVG do not bring any additional features from the BDL point of view.

About your underlying need (could I simplify it as "I need interactive charts" ?). We are working right now about supporting interactive charts in a future Genero release. One of the idea would be to extend canvas. Another idea is to propose a chart widget that would be controled by DISPLAY ARRAY statement. Maybe we can do both ...


Title: Re: Are there any plans to upgrade Canvas in the near future?
Post by: . on September 08, 2009, 09:40:40 pm
<quote>
About your underlying need (could I simplify it as "I need interactive charts" ?).
</quote>

Interactive would be nice but even just good clean non-interactive graphs would be useful. If you could do both the chart widget and extend canvas that would be really great. Graphs like the attached don't really look very professional these days.

Thanks


Title: Re: Are there any plans to upgrade Canvas in the near future?
Post by: Reuben B. on September 10, 2009, 07:58:16 am
For those wanting to draw charts now, apart from CANVAS, methods available include ...

1.   Use Google Charts  as described here http://code.google.com/p/sourcefourjs/wiki/GoogleCharts
2.   Generate a chart as an image using Genero Report Writer and display that image to your Genero Application.
3.   Use the Genero Java Interface and interact with JFreeChart or similar to produce an image and display that image in your Genero Application

The above suffer in that they are not interactive i.e. you can’t double click on a portion of the chart to look at the numbers in more detail.
Secondly in terms of appearance you are restricted in your ability to fine tune the appearance by the methods the developers make available. i.e. can you change the colors?, can you change the position of the title? etc.

The DISPLAY ARRAY solution should be able to give you interactivity (i.e double click on a bar/slice) and produce a graph easily using 4gl coding techniques but again you will be constrained in your ability to fine tune the appearance.

The CANVAS solution has the potential to give you interactivity and the ability to better fine tune the appearance.  At the moment though Canvas is lacking some things that you would most likely use in controlling the appearance.   Namely the ability to control the display of text (fonts etc), the ability to draw a 3d curve (as in 3d pie charts), the black border on shapes, color shading/gradients etc. Any improvements to CANVAS what also lead to potential improvements in the ability to render visual features that aren’t necessarily charts or graphs.  This could include programs that visually representing time such as Jeff’s calendar app, and visually representing space, e.g. space in a storage area.  Personally I am keen to see us add the missing pieces to CANVAS so that it opens the door for it to be used more widely.


Title: Re: Are there any plans to upgrade Canvas in the near future?
Post by: Neil M. on October 02, 2009, 02:42:48 pm
4. Generate an SVG chart using Genero's xml libraries, save it, and display it to an IMAGE field.