[Uml-devel] Re: karbon/umbrello

Luis De la Parra Blum lparrab at gmx.net
Thu May 15 14:03:08 UTC 2003


On Tuesday 13 May 2003 23:14, Dirk Schönberger wrote:
> If you use QCanvas your are limited by the rendering model of QPainter. My
> idea is to provide a slightly more powerful rendering model, which is
> powerful enough to render Postscript and SVG like graphics.

I know. I am not that happy with QCanvas/QPainter either.. it has quite some 
limitations, and even though QCanvas promises to give you zoom-functionality 
"for free", the truth is that their zoom is pretty much unusable.. ( have you 
seen Umbrello's zoom??, you can hardly read any of the texts!!)

> http://www.xs4all.nl/~rwlbuis/karbon/pics/kpainterchartview.png
> http://www.xs4all.nl/~rwlbuis/karbon/pics/kpaintertestview.png

wow!!, that looks *really* nice, the differences are really huge.. specially 
the diagonal lines... no comparison!

> In kpainterchartview.png the upper chart is rendered using defualt
> QPainter, while the lower part is rendered using KPainter (and a libart
> based paint device)

I'm not really into graphics, so I dont understand the relationship between 
KPainter, libart and the paint devices... =((

> The negative part on using KPainter is that you have to re-implement
> QCanvas.

well.. as far as I can tell (which is not too far =), the most difficult would 
be collision detection, and detecting which parts of the canvas need to be 
redrawn on which views


>
> > well... my Path is a DiagramElemnt which has a list of PathSegments.
> > the PathSegments are lines  ( I didnt think of beziers because I didnt

>
> This sound more easy than it is, trust me ;)

I'm sure it does...
keep in mind that my graphics knowledge is pretty limited and I was not 
interested in creating a graphics framework... if I started this whole thing 
some days ago was because the uml shapes in Umbrello are really a mess and I 
thought it'd be fun to try and do some redesigning of the whole graphics part

>
> I haven't looked further, but I think that instead of registering a at a
> widget factory and a tool factory, you should register widgets/shapes,
> controllers and KActions at a action manager. The action manager is part of
> the KDE libs, and most applications use this framework already.

I'll try to look at it.  can you point me to an example of where this is done?

anyways.... hopefully I'll find some time over the weekend and take a look at 
kpainter. the results look really nice.

regards,

luis





More information about the umbrello-devel mailing list