I realise I asked a year (or so) ago, but wondering if anyone has a system something like this developed in the meantime:
1) Ability to define a set of "action" objects, with associated icons (small, large), textual descriptions (short, long, paragraph, help), and a mechanism for triggering code from those actions (e.g. an ID/unique name). [ definition isn't a problem, I have something that can do that w/out difficulty ]
2) Ability to add actions to toolbars, menus and accelerator tables in such a way that the actions can query for:
current window
current focus
current selection-set
full object collection(s)
secondary window (by type/ID/whatever)
current focus
current selection-set
full object collection(s)
on receiving events (which would hopefully be automatically configured by the actions when they are added to a window). [ I don't have anything along these lines that's at all general, seems to require a "collection" interface for windows, which should allow for types of collections, multiple collections in the same window, etceteras ]
3) Ability to handle configuration messages from the windows (i.e. selection-changed, value-changed, etceteras to enable/disable action triggers/controls). [ I have no code for this ]
4) Ability to specify dialogs/frames to be triggered if insufficient information to auto-trigger the action. [ This is a minor feature to add once you've got the rest, it's the idea that the action can find the underlying window and create new windows that's important ]
5) Ability (eventually) to run-time-configure the actions (allow the user to edit the menu/toolbar/key-binding sets). [ I figure once the rest is in place, this is just a simple list-editing exercise, wxoo has plenty of controls for that ]
I realise it's a long shot, but I'd like to avoid having to build a system like this if at all possible. It seems like I'd have to basically re-invent ActiveX (Container Interfaces, Interfaces to find the current Container, Interfaces to determine what type of UI configuration is appropriate, Interfaces on Containers, etceteras) to make a generalised solution, and that's more than one guy working part-part-time is going to get done any time soon.
Anyway, if someone does have a system along these lines (BSD or LGPL-like (i.e. available for use in both Open-Source and commercial systems)), I'd love to hear about it.
Enjoy yourselves,
Mike
···
_______________________________________
Mike C. Fletcher
Why, yes, I am looking for a job...
http://members.rogers.com/mcfletch/