My app (MindSpace 2) has 3 or more windows: a couple of toolbars and one or more "drawing" windows. All of the windows share a HelpGroup and I successfully receive the correct WMHI_GADGETHELP events from all gadgets in all windows, irrespective of which window is currently active.
However, the actual pop-up hintinfo only appears if the relevant window is active. This means I can't set WA_ToolBox to TRUE for the toolbars, which I'd quite like to do to keep focus on the current drawing window.
1. Is there a way to force the pop-up hintinfo to appear?
2. Is it possible to change the font/colourscheme etc of the hintinfo? Is this a user-setting in WB?
Unfortunately, the speedtips are only available when the window is active, as they rely on the IDCMP_INTUITICKS message from intuition to calculate how long before opening the hintinfo.
Due to this, they cannot be forced to open either. The style is not settable either, unfortunately.
Simon
Comments made in any post are personal opinion, and are in no-way representative of any commercial entity unless specifically stated as such. ---- http://codebench.co.uk
the speedtips are only available when the window is active, as they rely on the IDCMP_INTUITICKS message from intuition to calculate how long before opening the hintinfo.
I would really like to see this reconsidered and reimplemented, using the timer device perhaps. As toolbox windows are meant to provide floating button palettes, having no way to specify help hints for the buttons is truly ridiculous. It defies the very purpose of the toolbox window!
You can check if the mouse is inside the limits of a gadget whether the window is active or not. You'd also have to check that there are no other windows on top of that gadget. It might require a bit of rework/rethinking of parts of Intuition (to do properly), but I don't see any reason it can't be done.
Whether there is a way or not, we have a lesson to learn here. However tempting the introduction of a cool new feature may be, if it is done in a way that introduces inconsistency in the GUI system, the implementation is a failure.
You can check if the mouse is inside the limits of a gadget whether the window is active or not.
True but the window or more precisely the application owning the window needs to know that the mouse may have moved into the toolbox window, in order to check. Perhaps an input handler would be needed or perhaps the toolbox window can be made a "child" of the main application window and a hook called when that window is active and receives mouse move events.
Quote:
You'd also have to check that there are no other windows on top of that gadget.
If you linked the toolbox window to a parent in some way you might not need to worry about that, if the parent is active then it doen't matter where in the window stack the toolbox (or parent). But fior a standalone implementation, then yes you would.
Quote:
It might require a bit of rework/rethinking of parts of Intuition (to do properly), but I don't see any reason it can't be done.
Whether there is a way or not, we have a lesson to learn here. However tempting the introduction of a cool new feature may be, if it is done in a way that introduces inconsistency in the GUI system, the implementation is a failure.
Ridiculous statement. Clearly it's not a failure, it's a useful feature (it's almost essential for smooth usage of my new palette windows dor instance), it just doesn't so everything you'd like as yet.
The design clearly needs tro be iterated a few more times but declaring a failure for new feature that aren't 100% complient with existing standards, would mean our GUI was stuck in the past forever.
True but the window or more precisely the application owning the window needs to know that the mouse may have moved into the toolbox window, in order to check.
That's easy to do. You can check which window the mouse is over using layers.library. From there you have the window offsets, the gadget offsets, etc, and it is trivial to calculate whether the mouse is over a particular gadget.
Quote:
If you linked the toolbox window to a parent in some way you might not need to worry about that, if the parent is active then it doen't matter where in the window stack the toolbox (or parent). But fior a standalone implementation, then yes you would.
A linked parent window might be the easiest way of handling this. If the parent is active, then the toolbox could become active with it. Not sure whether Intuition can cope with multiple active windows though (it probably can't)