Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2003-06-02 02:57:08


Andreas Huber wrote:

>Unfortunately, I don't have much experience with anything else than MS
>compilers. I will try to port to gcc, but I'll probably need help for
>not-so-conforming compilers like Borland.

I have experience with GCC, MS and Borland if you need help porting the
code.

>[snip]
>void Pump::Start()
>{
> initiate< Idle >(); // ***** here *****
>}

Wouldn't this complicate the code that the programmer has to write, whereas
your version was simpler to implement. (Just my opinion).

>I did consider polymorphic events but I wasn't able to make double dispatch
>work *automatically* (i.e. without requiring the user to write parts of the
>dispatch code themselves).

>I personally need polymorphic events only very rarely. Whenever I did, I
>was
>always able to change event granularity so that the need would go away. In
>your case that would mean to get rid of MouseUpEvent and MouseDownEvent
>alltogether and add the information to MouseEvent:

>Does the library/code generator you're currently using work with
>polymorphic events? Is not having polymorphic events a showstopper for you?
>If yes, I would be interested in a as-real-world-as-possible example.

I'm not sure on this, but would Windows-based code that redirects events to
a Window class be a polymorphic event, e.g.

   class WindowBase
   {
      public:
         virtual void Paint( win::api::DC & hDC );
         // ...
   };
   class MyGUIWindow: public WindowBase
   {
      public:
         void Paint( win::api::DC & hDC ); // custom window graphics
   };

Not sure how you would integrate this with a FSM though!

Regards,
Reece

_________________________________________________________________
On the move? Get Hotmail on your mobile phone http://www.msn.co.uk/msnmobile


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk