<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.contexts"?>

<contexts>

<!-- F1 on F1 -->
   <context  id="f1Shell" >
      <description>Context-sensitive &quot;infopop&quot; help is provided for many interfaces, including views, wizards, fields, checkboxes, buttons, and menu items. To access this help, bring focus to the item by clicking it or using the tab key, and then press F1.

Some infopops include links to topics within the online help where you can find more information about the item.

This infopop opened because you pressed F1 while an infopop was already open.</description>
   </context>

<!-- Help Menu: Help Contents -->
   <context  id="helpContentsMenu" >
      <description>This command displays the help view. The help view contains help books, topics, and information related to the workbench and installed components.</description>
      <topic label="Online Help System" href="/org.eclipse.platform.doc.user/concepts/chelpsys.htm"/>
      <topic label="Help Menu - Help Contents" href="/org.eclipse.platform.doc.user/reference/ref-61.htm"/>
   </context>
   
<!-- Search Menu: Help -->   
   <context  id="helpSearchMenu" >
      <description>This action will open the Search dialog that allows documentation searching.</description>
	  <topic label="Searching online help" href="/org.eclipse.platform.doc.user/tasks/tsearch.htm" />
   </context>

   <context  id="prefPageBrowsers" >
      <description>Allows selecting a web browser.  The selected web browser will be the default browser used to display help contents.</description>
	  <topic label="Preferences Dialog" href="/org.eclipse.platform.doc.user/reference/ref-72.htm"/>
   </context>

   <context  id="prefPageCustomBrowserPath" >
      <description>When custom web browser is selected from the list, specify path to the browser program that launches the browser.  If the program is available on your system path, you may specify only the program name.

If the program does not accept URL as its last parameter, you may use %1 string to denote the position of the URL parameter in the command.</description>
      <topic label="Preferences Dialog" href="/org.eclipse.platform.doc.user/reference/ref-72.htm"/>
   </context>

   <context  id="prefPageAppServer" >
      <description>These settings allow you to override the network interface address and port number that the internal <b>application server</b> will use.  Change the settings when the port it is trying to use is taken, or when your IP address has changed.

To automatically determine the interface address, leave the host field <b>blank</b>.

To use port dynamically assigned by the system, specify <b>0</b> in the port field.

Under normal circumstances, use the <b>Default</b> settings.</description>
      <topic label="Preferences Dialog" href="/org.eclipse.platform.doc.user/reference/ref-72.htm"/>
   </context>

<!-- Search dialog Search Help -->
   <context  id="searchPage" >
      <description>Type a search term or terms in the search expression field, and then click <b>Search</b>. This will open Search view that contains all the search results.

You can use OR and NOT qualifiers between terms. Also, if you put double-quotation marks around a query, search will return only results that contain specified phrase.

Click <b>Choose</b> to see the working set selection dialog, allowing for additional filtering to be specified.</description>
       <topic label="Searching online help" href="/org.eclipse.platform.doc.user/tasks/tsearch.htm" />
   </context>

<!-- Search result view -->
   <context  id="searchResultView" >
      <description>This view lists the results of recent searches.  Currently displayed are results or last documentation search.  Double click one of the documents to open it.</description>
      <topic label="Help search" href="/org.eclipse.platform.doc.user/tasks/tsearch.htm"/>
      <topic label="Search view" href="reference/ref-26.htm"/>
      <topic label="File search" href="reference/ref-45.htm"/>
   </context>

</contexts>
