> BTW, I spun up a copy of MSVC++ recently and started playing with ways to > make a native Windows user interface. I was able to create a static > library that reimplements simple_dialog() using native calls. Is this a > viable approach? (I haven't done any MS application development up to > this point).
It might be interesting to see what AbiWord: http://www.abisource.com/information/about/ does. From the screenshots, it appears to use the native GUI toolkit on Windows and BeOS, and it uses GTK+/Gnome on UNIX/X. The screenshot for MacOS X uses GTK+ atop X, but the document shown in that screenshot indicates that there's also a version for MacOS that uses Carbon. I infer from http://www.abisource.com/mailinglists/abiword-dev/02/February/0010.html that they have a framework for cross-platform UI stuff, and don't just have completely independent chunks of UI code for the different platforms. It might also be interesting to look at what Mozilla does, although one of the reasons I haven't yet switched from Netscape 4.x to Netscape 6.x or Mozilla is that the UI seems a bit slow at times. (One of the other reasons is that I didn't like the "bookmark list editing" UI; given that I have over 4000 bookmarks (no, that is not a typo, that's 4x10^3), which means my bookmarks can't be used as a menu, and I often pop up a bookmark window and search for items, a good bookmark list UI is important to me.)