On Thu, May 23, 2002 at 10:51:30AM +0200, Lars Gullik Bjønnes wrote:

> -#include "PainterBase.h"
> +#include "frontends/Painter.h"
> 
>  #include <boost/scoped_ptr.hpp>
> 
> 
> Why this?
> Why does PainterBase.h not cut it?

Haven't we been over this before ?

If you want to use PainterBase, then everywhere in the source
that currently refers to Painter & needs to be changed to use
PainterBase &.

> Why move PainterBase?

Because it describes a base class for something that must be implemented
by a frontend. And it is particularly a frontend property.

IMO the name PainterBase is wrong for the following reasons :

1. It is unnecessarily long
2. It exposes a fact that should be private to frontends/ to all core
   code (namely that Painter is an inheritance hierarchy). This is a
   small encapsulation violation IMHO
3. It means more code has to be changed un-necessarily

> And this XPainter stuff? That is new right?

Painter becomes the base class. XPainter is the xforms version.
QtPainter is the Qt version, etc.

Why prefer :

                        PainterBase
                             |
        --------------------------------------------
        |                    |                     |
     QtPainter            XPainter             GnomePainter

?? It just means that the most sensible and obvious name "Painter" is no
longer used anywhere.

                          Painter
                             |
        --------------------------------------------
        |                    |                     |
     QtPainter            XPainter             GnomePainter

... seems nicer to me.

The patch sent does not make things very clear, merely because it just
moves files, and doesn't really show how things work (perhaps I should
put the full GUII patch up for reading again ?)

So, is this OK ?

regards
john

-- 
"This is playing, not work, therefore it's not a waste of time."
        - Zath

Reply via email to