Re: Proposal for V 2.0
Hello Dr. Wampler,
I'm glad to here your plans for V2. Here are a few of my suggestions, comments, and wish-list:
* Enhanced font control in dialogs: Let vDialog use a vFont object for all its text. Let each control use its own vFont object, inheriting its parent's vFont by default. Then, each control could have speciallized text display. Better font handling is quite important as resolutions vary widely, and would also provide for future enhancement to wchar fonts for Asian locales.
* A custom control-insertion mechanism for dialogs, so we can easily utilize our own control objects. This could be as simple as a automated technique for wrapping the custom control commands in a frame, so the auto-sizing and auto-placement of dialog controls works properly. But, it may need some kind of callback registration method. Ideas?
* Perhaps a canvas-control for dialogs, so we can have small "windows" and customized displays in a dialog. For example, a graph or a formatted text display with controls along side it for manipulating the display contents. I think you're discussion of long-ago about enhancing vWindows to use buttons etc. had a similar goal. Some of this can be done now with a toolbar in a window, but the ability to do the inverse - a canvas in a dialog - would allow access to the full dialog functionality. I really like the Borland C++ Builder approach which does not distinguish between dialogs and windows - they are variations of the same.
* An enhanced repository for user contributions. This has issues - more work for you, more storage requirements, etc. Perhaps there is an open-source repository ala SourceForge which can be utilized? My contributions can currently be downloaded from:
* Apply the model-view-controller structure which you have now implemented for vWindows, to vDialogs also. Since data editing and field or column-oriented display is often done in a dialog, the lack of notification to dialogs makes the current implementation quite limited in its applicability.
* Regarding Gnome vs. KDE - this war hasn't been decided yet, and the KDE environment is more mature. Perhaps it is too early to give up on Motif?
* Additional overloaded constructors and methods for those things (e.g. lists) which could accept a std:: container and std::strings rather than char*.
* Yay! for a tree control, especially if it can be used w/drag and drop within the tree, and perhaps within the entire app.
* Which reminds - COM is available for UNIX, MacOS also, and as opensource - perhaps inter-application drag-and-drop in V?
* If a open-source HTML engine is available, could it also be applied to dialog controls?
I could go on for a dozen more items, but these are the ones I'm most interested in.