• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Apple's Help Viewer
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Apple's Help Viewer


  • Subject: Re: Apple's Help Viewer
  • From: glenn andreas <email@hidden>
  • Date: Thu, 28 Apr 2005 16:33:40 -0500


On Apr 28, 2005, at 3:41 PM, Jerry Krinock wrote:

I have used some very nice applications that open their help in the default
web browser instead of Apple's Help Viewer. I'm working on a rewrite of my
app and I think I am going to use the default web browser also. Before I do
so, I'd like to ask if anyone knows of some benefits of Apple's Help Viewer
which I have overlooked.



Help Viewer can search your document base on user questions, and then present a list of topics that match sorted by relevance, and can search across help in multiple applications (allowing the user to discover that maybe your program is the tool that they should be using instead) - web browser can't.


Help Viewer is also the "officially approved way" to present help context - if you use something else, your application will look "out of place" (and any improvements in the help application won't be available to your application either - for example, if Spotlight searches help books, users will be able to use that to find answers, and it's less likely that it will search through arbitrary HTML documents embedded in your application (though we'll obviously know tomorrow)).



3. Assuming that you've already got the launch path of your app for other
purposes, opening help in the default browser takes one (1) line of code:


[[NSWorkspace sharedWorkspace] openURL:[NSURL...

but opening a page in Help Viewer takes six (6) lines of messy code:

#include <Carbon/Carbon.h>
CFBundleRef myApplicationBundle = NULL;
CFStringRef myBookName = NULL;
myApplicationBundle = CFBundleGetMainBundle();
myBookName =
(CFStringRef)CFBundleGetValueForInfoDictionaryKey(myApplicationBundle,
CFSTR("CFBundleHelpBookName"));
if (CFGetTypeID(myBookName) == CFStringGetTypeID()) AHGotoPage (myBookName,
CFSTR("MyHelp.html"), NULL);



One line: [[NSApp sendAction: @selector(showHelp:) to: NULL from: self];

Alternately, you can open a specific anchor in your book:
[[NSHelpManager sharedHelpManager] openHelpAnchor: @"baseAnchor" inBook: myBookName];
or automatically perform a search:
[[NSHelpManager sharedHelpManager] findString: @"some topic" inBook: myBookName];
(and since book name can be another application's help, you can use this to bring up topics covered in standard system help books)


Or even easier - in no lines, just use the default application NIB's Help Menu with it's "Application Help" menu item.


Glenn Andreas                      email@hidden  <http://www.gandreas.com/> oh my! quadrium | build, mutate, evolve | images, textures, backgrounds, art

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Apple's Help Viewer (From: Jerry Krinock <email@hidden>)

  • Prev by Date: Re: NSBezierPath intersection
  • Next by Date: Re: Breaking into debugger after program hangs....
  • Previous by thread: Apple's Help Viewer
  • Next by thread: Re: Apple's Help Viewer
  • Index(es):
    • Date
    • Thread