RE: Re: Re: [boost] GUI/GDI template library

2003-08-14 Thread Brock Peabody
 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
 On Behalf Of Bronek Kozicki
 Sent: Tuesday, August 05, 2003 2:06 AM
 To: Boost mailing list
 Subject: Re: Re: Re: [boost] GUI/GDI template library
 
 E. Gladyshev [EMAIL PROTECTED] wrote:
 
  I don't know much about other GUI systems but win32
  and MFC. I think we can try to define the low-level
  layer using win32 and/or MFC as the starting point.
 
 Please, do NOT use MFC. Just native Win32 API as a starting point. MFC
 is 1) not available on mingw 2) big and full of traps.

If we can do Win32 I guess there isn't any point in doing MFC.  I will
not miss it much :)

Brock

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Re: Re: Re: [boost] GUI/GDI template library

2003-08-14 Thread Bronek Kozicki
E. Gladyshev [EMAIL PROTECTED] wrote:

 I don't know much about other GUI systems but win32
 and MFC. I think we can try to define the low-level
 layer using win32 and/or MFC as the starting point.

Please, do NOT use MFC. Just native Win32 API as a starting point. MFC
is 1) not available on mingw 2) big and full of traps.


Regards


B.

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Re: Re: Re: [boost] GUI/GDI template library

2003-08-14 Thread Douglas Gregor
- Original Message - 
From: Brock Peabody [EMAIL PROTECTED]
 Do you think we will be OK restricting this library to the more
 conformant compilers?

That should be fine. Compiler workarounds can often be added later, and you
shouldn't need to worry about these from the start. In fact, we do NOT want
compilar workarounds to affect the interface, so it's sometimes best to push
them out of your mind when putting together an interface.

Doug

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: Re: [boost] GUI/GDI template library

2003-08-09 Thread E. Gladyshev

--- Brock Peabody [EMAIL PROTECTED]
wrote:

 That might be a better way to go.  I just don't know
 enough about GUI
 systems other than MFC to be able to envision what a
 scheme like that
 would look like or if it would succeed.  You might
 save a lot of work
 coming up with a single low-level representation
 scheme, but it might
 become too complex.  It's probably worth a try.  In
 the worst case, I
 feel confident that we can make my brute-force
 approach work.
 

I don't know much about other GUI systems but win32
and MFC. I think we can try to define the low-level
layer using win32 and/or MFC as the starting point.  
If we cover these two, it'll be a good start and prove
of concept.

Eugene



__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: [boost] GUI/GDI template library

2003-08-04 Thread E. Gladyshev

--- Brock Peabody [EMAIL PROTECTED]
wrote:
 
 http://groups.yahoo.com/group/boost/files/
 
 The name is boost_gui.zip.  There is a ton of code,
 but the interface

I think, your library has a lot of good stuff. However
it does need a major redesign to cleanly remove all
direct references to the physhical layer (MFC) in the
template code. For example I am a bit worried about
defintions like this one:

namespace controls {

struct static_control :
controls::callback_cwndCStatic {

enum { default_style = WS_CHILD | WS_VISIBLE |
SS_CENTERIMAGE };

void create(CWnd parent,
const std::string text = ,
unsigned int style = default_style,
const CRect = CRect(0,0,0,0));

void create(CWnd parent, unsigned int style);
};
}

It seems to me that it might not be very easy to clean
it up from all MFC references w/o a sustantial
architectural redesign.

As far as I remember you suggested to overwrite it
from scratch too.  If we are to do it anyway, I think
we need to redesign it from scratch as well using your
library as a knowledge/experience base.

Eugene



__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: [boost] GUI/GDI template library

2003-08-04 Thread Brock Peabody


 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
 On Behalf Of E. Gladyshev
 Sent: Monday, August 04, 2003 11:29 AM
 To: Boost mailing list
 Subject: RE: Re: [boost] GUI/GDI template library
 
 
 --- Brock Peabody [EMAIL PROTECTED]
 wrote:
 
  http://groups.yahoo.com/group/boost/files/
 
  The name is boost_gui.zip.  There is a ton of code,
  but the interface
 
 I think, your library has a lot of good stuff. However
 it does need a major redesign to cleanly remove all
 direct references to the physhical layer (MFC) in the
 template code. For example I am a bit worried about
 defintions like this one:
 
 namespace controls {
 
   struct static_control :
 controls::callback_cwndCStatic {
 
   enum { default_style = WS_CHILD | WS_VISIBLE |
 SS_CENTERIMAGE };
 
   void create(CWnd parent,
   const std::string text = ,
   unsigned int style =
default_style,
   const CRect = CRect(0,0,0,0));
 
   void create(CWnd parent, unsigned int style);
   };
 }
 
 It seems to me that it might not be very easy to clean
 it up from all MFC references w/o a sustantial
 architectural redesign.

The implementation definitely needs to be redesigned from the ground up.
The nice things is that even with my poor implementation, at the highest
level (dialog.h and dialog.cpp) all of the MFC references are already
hidden. 

 
 As far as I remember you suggested to overwrite it
 from scratch too.  If we are to do it anyway, I think
 we need to redesign it from scratch as well using your
 library as a knowledge/experience base.

That sounds right to me.  The sample boost_gui code was just a proof on
concept, it will be much prettier if we start from scratch.

The biggest thing I am lacking is any experience doing GUI development
outside of MFC.  If we can keep our interface simple it might be easiest
to just make the library an interface specification which is implemented
totally independently for each target platform. Does that seem
reasonable?


Brock

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: Re: [boost] GUI/GDI template library

2003-08-04 Thread E. Gladyshev

--- Brock Peabody [EMAIL PROTECTED]
wrote:

 If we can keep our interface simple
 it might be easiest
 to just make the library an interface specification
 which is implemented
 totally independently for each target platform. Does
 that seem
 reasonable?

I agree.
I think we can have 2 layers. One layer is a low-level
single interface specification that will be
implemented independently for each target platform. 
This low-level interface can be designed in terms of
pImpl or ImplTraits idioms (the design would have to
be different depending on the idiom we choose). I
favor the ImplTraits idiom.  
The higher layer it the actual gui::boost library that
would be implement as a modern C++ library and reside
in .h files completely.  The boost::gui would always
call the specified low-level interface to do the
low-level stuff (like create_window, draw_text, etc.).
 Is it what you mean?

Eugene


__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: Re: [boost] GUI/GDI template library

2003-08-04 Thread Brock Peabody


 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
 On Behalf Of E. Gladyshev
 Sent: Monday, August 04, 2003 1:03 PM
 To: Boost mailing list
 Subject: RE: Re: Re: [boost] GUI/GDI template library
 
 
 --- Brock Peabody [EMAIL PROTECTED]
 wrote:
 
  If we can keep our interface simple
  it might be easiest
  to just make the library an interface specification
  which is implemented
  totally independently for each target platform. Does
  that seem
  reasonable?
 
 I agree.
 I think we can have 2 layers. One layer is a low-level
 single interface specification that will be
 implemented independently for each target platform.
 This low-level interface can be designed in terms of
 pImpl or ImplTraits idioms (the design would have to
 be different depending on the idiom we choose). I
 favor the ImplTraits idiom.
 The higher layer it the actual gui::boost library that
 would be implement as a modern C++ library and reside
 in .h files completely.  The boost::gui would always
 call the specified low-level interface to do the
 low-level stuff (like create_window, draw_text, etc.).
  Is it what you mean?

I think :)

What I am trying to say is that the library would be completely
reimplemented for each platform, except for those parts of the library
which are implemented entirely in terms of the library's public
interface.

This saves us from having to find a representational scheme that will
fit on top of an unknown number of platforms which might not have
anything in common.  

Is that what you thought I meant?

Brock

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: Re: [boost] GUI/GDI template library

2003-08-04 Thread E. Gladyshev

--- Brock Peabody [EMAIL PROTECTED]
wrote:
 
 This saves us from having to find a representational
 scheme that will
 fit on top of an unknown number of platforms which
 might not have
 anything in common.  
 

I think this is where we disagree. I prefer to find a
single low-level represntation scheme that could be
implemented on top of an unknown number of platforms.
The representation could be even expressed in terms of
a C API, it doesn't matter.  The modern C++ layer will
use the single representation, and not worry about a
specific platform at all.  The C++ layer will reside
in .h files completely.

If we do something like this, then our library will
support Rainer Deyke's requirements (see his post in
this thread).

Eugene



__
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com
___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


RE: Re: Re: [boost] GUI/GDI template library

2003-08-04 Thread Brock Peabody


 -Original Message-
 From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
 On Behalf Of E. Gladyshev
 Sent: Monday, August 04, 2003 2:33 PM
 To: Boost mailing list
 Subject: RE: Re: Re: [boost] GUI/GDI template library
 
 
 --- Brock Peabody [EMAIL PROTECTED]
 wrote:
 
  This saves us from having to find a representational
  scheme that will
  fit on top of an unknown number of platforms which
  might not have
  anything in common.
 
 
 I think this is where we disagree. I prefer to find a
 single low-level represntation scheme that could be
 implemented on top of an unknown number of platforms.
 The representation could be even expressed in terms of
 a C API, it doesn't matter.  The modern C++ layer will
 use the single representation, and not worry about a
 specific platform at all.  The C++ layer will reside
 in .h files completely.

That might be a better way to go.  I just don't know enough about GUI
systems other than MFC to be able to envision what a scheme like that
would look like or if it would succeed.  You might save a lot of work
coming up with a single low-level representation scheme, but it might
become too complex.  It's probably worth a try.  In the worst case, I
feel confident that we can make my brute-force approach work.

 
 If we do something like this, then our library will
 support Rainer Deyke's requirements (see his post in
 this thread).

I'll see if I can find it.

Brock

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost