Re: How to bring up specific doc page programmatically?
- To: mathgroup at smc.vnet.net
- Subject: [mg114363] Re: How to bring up specific doc page programmatically?
- From: John Fultz <jfultz at wolfram.com>
- Date: Thu, 2 Dec 2010 05:39:23 -0500 (EST)
FrontEndExecute[ FrontEndToken[ "OpenHelpLink", {"tutorial/Operators", FrontEnd`DefaultHelpViewerNotebook[]}]] If you want to always bring up a new window (i.e., never reuse an existing help window), then the following will suffice: FrontEndExecute[FrontEndToken["OpenHelpLink", "tutorial/Operators"]] Sincerely, John Fultz jfultz at wolfram.com User Interface Group Wolfram Research, Inc. On Wed, 1 Dec 2010 02:10:57 -0500 (EST), kj wrote: > Is there a way to bring up a specific documentation page > programmatically? IOW, is there some Mathematica expression whose > evaluation would cause some specific Documentation Center page > (e.g., the one for tutorial/Operators) to come come up? (BTW, > tutorial/Operators here is just a random example; I want to be able > to do this for any arbitrary documentation page, or indeed any > string, as one would type it in the location bar of the documentation > browser.) > > This is the best I've managed so far: > > PopDoc[s_] :== Module[{nb}, > nb == First@Notebooks[]; > NotebookWrite[nb, s, All]; > FrontEndExecute[FrontEndToken["SelectionHelpDialog"]]; > NotebookWrite[nb, "", All]; > ] > > Evaluating PopDoc["tutorial/Operators"] does indeed bring up the > corresponding doc page, but the process has two problems: 1) it > clutters the notebook with an unnecessary cell; and 2) it BEEPS. > I can live with the clutter, but the beep drives me nuts. > > Both problems are related to the fact that the only way I have > found to bring up a doc page programmatically requires that the > notebook's current selection be set to the string representing the > page (e.g. "tutorial/Operators"). This is what causes the first > problem (the unnecessary cell is where the this dummy selection > gets placed). The second problem occurs when I wipe out the dummy > selection. Help > Why the Beep? says that > > There is a problem with the position of the text insertion point. > The insertion point might not be where you intended. > > The optimal solution, of course, would be a way to bring up the > desired page without having to fiddle with the selection at all. > That would solve both problems in one swoop. The next best solution > would be a way to set the selection that is invisible to the user, > so that no extra cells get created, and there's no need to wipe > out the dummy selection. Absent any of these alternatives, I'd > settle for some way to turn off the beeping (or even just muting > the volume just long enough to make the beep inaudible). > > TIA! > > ~kj