Tataaaahhh..

Allan,
great absolutely, good job.
I was able to roll my version over to the sigc-1 branch, although a simple 
cvs up -r sigc-1 wouldnt checkout the new directories. I had to checkout from
scratch. What cvs version is the server running?

Ok, I had a look at your example, I am not able to compile it, yet. 

I have found that you created a container class that is supposed to hold all
Dialogs. I would suggest to name that class DialogContainer or something
appropriate but not Dialogs, I find this confusing (I think of multiple Dialogs
which is not what that class is) but that is ultimatively up to you.
Second, I noticed that you put all the signals in this class. Why?
They really do not belong there, in fact you dont need them there at all.

The Signals belong in the DialogBase class. They shall connect to the
virtual methods of the base class: show() hide() and update(). 
That way you do not have to update Dialogs whenever a new Dialog is introduced. 
Otherwise you have to constantly update Dialogs and keep track when a new
Dialog is introduced. The person who makes a new Dialog does not need to
know about the calling mechanism, this can safely be encapsulated from
him. Dialogs only needs to povide a way to store these Dialogs (do you see what
I mean when I suggest renaming the class?). The question is, whether this class
is necessary at all. You could make it - as you did - into a vector of Dialogs,
then just store the vector where you've got the class now.  One class less and
a leaner and clearer design.  The only method of this class is a hideAll Signal
which can be implemented through a loop, that calls hide for all elements of the
vector (generic programming).

Last but not least I believe that instead the Signals you can
use Slots in the DialogBase class to connect to the virtual methods. Maybe I
havent fully understood this system and I'll have to play around with it
a bit so bear with me if I am making a fool out of myself here.

I will try to compile your code and send a modified version in tomorrow.

Awsome job nevertheless

Regards
Roland






   On Sun, 30 Jan 2000, Allan Rae wrote:
> On Sun, 30 Jan 2000, Dr. Ing. Roland Krause wrote:
> 
> > Allan, congrats. Now am I clueless or what , but I cant seem to find
> > the branch on the cvs rep. Or do you have a second private cvs rep?
> 
> All you need to do Roland is "cvs update" since you already have a checked
> out copy.  Or if you want a diff before you update do a "cvs diff -u".
> 
> I also forgot to do the tagging after I committed and posted the
> announcement.  That's now done.
> 
> > > I'll be tagging this "sigc-1" so if you want a diff of the changes
> > > you can get that by:  cvs diff -u -j "rae-1" -j "sigc-1"
> 
> Note that I diidn't put a time on when I'd be tagging the sources ;-)
> 
> Allan. (ARRae)

Reply via email to