Boost logo

Boost :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-12-15 15:51:10


Jeff Flinn wrote:
> Reece Dunn wrote:
>
>>Hi All,
>>
>>I have been working on revising my GUI library that is currently in
>
>
> ...
>
>
>>Also, the target operating system places design problems on creating a
>>generic interface. For example, Windows supports char * and wchar_t *
>>versions of its API, but the version that should be used depends on
>>whether you are targetting Windows 9x or NT based systems. Windows
>
>
> The vast majority of textual data in my W2K applications tend to be char.
> I'd hate to have to explicitly convert to wchar_t for every API textual
> call.

The same is true when using std::string. I have provided a helper string
class that will perform implicit conversion so that on unicode builds,
char strings are converted to wchar_t strings and vice versa for ascii
builds.

This allows you to do:

    gui::main_frame mainfrm( "GUI Application" );
    // ...

and have it build on either configuration of the windows API. It also
makes the code more portable, since I am not sure what string type the
other APIs use as default (I presume most are char *), and doing:

    gui::main_frame mainfrm( TEXT( "GUI Application" ));

is non-portable and ugly.

The library currently works on msvc 8.0 and 7.1. I am currently getting
an undefined reference to _WinMain_at_16 error on gcc 3.3 and on cw 9.2 I
am getting:

### mwcc Compiler:
# In: ..\..\..\..\boost\boost\function\function_template.hpp
# From: ..\src\win\radio_group.cpp
#-----
# 473: on::has_empty_target(addressof(f))) {
# Error: ^
# ambiguous access to overloaded function

I am going to look into fixing these errors

I also intend on supporting the alternate Boost.Signal syntax for broken
compilers so that msvc 7.0 and borland 5.6 can be supported. I am
getting far too many errors on msvc 6.5 and will not provide support for it.

I have made a few more modifications, available here:

    http://uk.geocities.com/msclrhd/gui/gui.zip

Regards,
Reece


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