discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ANNOUNCE : HelpViewer 0.1


From: Richard Frith-Macdonald
Subject: Re: ANNOUNCE : HelpViewer 0.1
Date: Wed, 22 Jan 2003 14:12:43 +0000


On Wednesday, January 22, 2003, at 01:43  pm, Andreas Heppel wrote:

Before I answer let me state that I neither know NeXT/OpenStep nor any flavour of MacOS. Thus, It may well be that we talk different things here.

On 2003-01-22 14:14:03 +0100 Richard Frith-Macdonald <richard@brainstorm.co.uk> wrote:

On Wednesday, January 22, 2003, at 10:57  am, Andreas Heppel wrote:
- There is something we call tooltips, which is a very short description of a control. This pops up automatically some time after the mouse cursor starts to hover over an UI element and goes away automatically, too.
This is clearly what NSHelpManager in MacOS-X is supposed to do ... with the exception that you actually have to hold the 'help' key and click on an item rather than just move the mouse over it. I don't think there is an equivalent in OpenStep/NeXTstep as the action of help-clicking an item was supposed to give you context sensitive help there (which is presumably why NSHelpManager documentation talks about context sensitive help when it really means tooltips).
What about some methods in NSView and NSToolTipOwner? I have the AppKit Reference by Apple in front of me telling me about
- (NSToolTipTag)addToolTipRext:owner:userData  (in NSView)
and
- (NSString *)view:stringForToolTip:point:userData (in NSToolTipOwner). Both being used for tooltips as I described them. Are they an Apple extension or what?

An Apple extension I'd missed ... so if that's the API for tooltips, then NSHelpManager is not 'clearly' for tooltips at all ... though the documentation says 'help for that item is displayed in a small window just below the cursor' and the NSHelpManager API only allows the help to be an NSAttributedString ... this all sounds like a tooltip to me, certainly not the useful form of context sensitive help that NeXTstep used to provide with HelpPanel.
I have to say I'm now confused about this.

<snip>

In an ideal world I'd provide a range of help capabilities like this ... 1. tooltips ... use NSHelpManager but change it so that the tooltip is displayed when the mouse passes over an item rather than when it's clicked. 2. context help ... use NSHelpPanel as it was intended (but perhaps it should support xhtml help rather than rtf help) 3. main app help from the menu ... perhaps ask a helpviewer app to open the apps help file, if no helpviewer is available, use NSHelpPanel
Sounds like what I would like to have. Concerning the tooltip behaviour we probably don't need NSHelpManager (see remark about NSView above).

Yes ... perhaps NSHelpManager is intended to provide some sort of halfway state between a tooltip and useful context help.

I'd put the main part of the help display code in NSHelpPanel, and have the helpviewer app add the capability to show/search help from
multiple applications.
If there are capabilities in NSHelpPanel to link different topics of the same app and more or less seamlessly jump to HelpViewer for more advanced functions, why not? I only would want to avoid being bound to the displayed topic even when in 'context help mode'.

In NeXTstep the HelpPanel used to provide an index of help topics, a search facility, and the ability to go back and forward between visited sections, follow links etc.

Using NSHelpPanel has the advantage that the state of your help panel is retained on a per-app basis, so you can switch between looking at the help in different apps very easily/quickly. Getting the same usability with a single helpviewer app depends on defining an extra DO API for the apps to tell the helpviewer what to do ... it can be done but seems like a lot of effort for no real gain.
You mean one NSHelpPanel instance per application? Or just displaying a new help text when the user requests another app's help?

There was one help panel per application. Each help panel allowed you to access all the help for that application. Using the context help (help-clicking on a gui element) would make the info displayed in the panel jump to the appropriate part of the documentation (a button was available to go back to the previous help item).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]