| \(_)_ __ ___
| |) | | ' \/ -_)
Dialogs Made Easy
by Sven Sandberg
These are features that I'd like to implement some day.
Wish list entries from now on are merely dreams that are very unlikely to be
Write makefiles for Unix, BeOS and Borland C++ (and Mac?). I need help
Make all gui functions be function pointers so that the user can hook the
dialog procs and give them different looks.
Datafiles should have an option for ability to select nothing.
An example on how to use the `dialogf_callback()' function pointer.
dialogf_ex() with support for specifying which buttons (eg. ok, cancel,
back etc) should appear at the bottom. This can use a format string.
`dialogf_callback()' will currently stop being called when the user
opens a file selector. This should be fixed (can be done with Allegro
WIP 3.9.34 using custom callbacks).
Add an extra optional modifier to the "%dialogf" format, so that
"%dialogf[title,x]" means that an extra argument follows. This argument
is a function pointer which will be called when the sub-dialog is being
closed, and it has the ability to close the parent dialog.
The following format specifiers:
A button that calls a user specified callback function.
A button that closes the dialog.
Lets the user edit a two dimensional grid of numbers/texts.
A color. Next argument should be an `int *'.
A color in a palette. Next argument should be an `int *' (for the
color), and the argument after that should be an `RGB *' for the
palette, or `NULL' to use current palette.
A slider control where the user can drag a handle to select an
integer. Next argument should be an `int *' in which the result
will be stored. `max' specifies the max value of the slider,
inclusive. Min value is always 0, inclusive.
Almost like %list, but will display as a set of radio buttons
rather than as a list. Also, this doesn't take the `lines' modifier
that %list takes.
Automatic scroll bars if the window gets too high. Currently the objects
will just be invisible and unreachable which isn't exactly beautiful.
An example on using the "Dime Metrics" and "Dime Colors".
Currently, nested dialogs behave a bit weird when ok'ing a sub-dialog and
then cancelling a parent dialog: the sub-dialog will continue being
ok'ed. This is harder than it sounds to fix, but would be good to have
Movable windows. (See if I can merge code from BGUI?)
Find some way to make the file selector look 3d-ish. (Use BGUI?)
Make dialogf() etc actually use our enhanced edit boxes - just need a new
Make the %wstrlist, %wlist, %wdatafile formats look like a combo box
rather than being an own window.
Write a better suited calculator?
A completely new function that does the same as Allegro's `alert()', but
with automatic line breaking and with a format string for the buttons
would be useful to have. I'm not sure if it should go in this library or
an own though.
Some way to show help and/or tooltips.