
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@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