So far, and ignoring our own "industry specific" (see Note 1) virtual menu items, I have produced the following general popup forms as virtual menu items (custom controls):
* Help|About Me :
A virtual custom control that implements a "standard" popup form showing information about the current application extracted from the Gambas executable archive.
* Help|System Information :
A virtual custom control that implements a "standard" popup showing information about the current OS, Gambas and application environment.
* Help|Browse Help :
A virtual custom control that provides an application level help browser similar to the IDE help browser. This is supported by a help system development utility. However it has some limitations as explained in Note 2 below.
* File|Recent : (This one I am very happy with :-) ).
A completely self contained implementation of the "Recent Files" concept.
This one is a bit weird, it creates a "standard" File menu item at the top level and most (well OK "some") of the standard things one would expect in the "File" menu of a normal user application. See Note 3.
*Tools|Options : (On the one hand I'm very happy with this, on the other...)
A virtual custom control that implements a program options menu item under Tools and a popup form "similar" to the IDE Tools|Preferences menu item. It creates the entire popup form on the fly from a definition file (let's call it .options) within the executable archive.
The "other hand" is this. I have hacked the IDE form designer code a bit and can now edit that definition file from within the IDE. That is, the virtual control component has a form that let's the programmer create/modify the definition file. The IDE hack responds to a button click on the "Options" property, shows the editor (which is somewhat similar to the Menu editor) and allows the programmer to set up the Tools|Options for the project without a single line of code. I am not really very happy with the way the hack works (Note 4) but it does appear to work.
What's the point of all this?
These custom controls provide self contained functionality that implement a menu item in a form menu by simply dragging the control from the toolbox onto the form. Little or no coding is needed in the form class to manage that functionality. For developers who support multiple projects and would like to have the same functionality, with the same appearance, shortcut key etc etc across multiple forms this approach makes implementing that "standard-ness" very easy.
I would like to know whether there is any interest in this stuff. We are quite prepared to publish them on the Gambas farm if there is such interest (they are "programming tools" if you like and thus have no commercial value to us.)
B Bruen <***@gmail.com>