### Aplikační doplňky

Precision Helper má implementovány dva typy rozhraní pro použití aplikačních doplňků (funkčních rozšíření). Jedná se o rozhraní příkazové řádky a rozhraní skriptovacího jazyka Pascal Script.

Doplňky mohou podstatně rozšířit funkčnost produktu v různých oblastech a mohou být vytvářeny třetími stranami.

První dostupné doplňky:

- HTML Tidy - doplněk využívající známý nástroj pro kontrolu, pročištění zdrojového textu a konverzi témat
- Nový projekt ze souborů - průvodce pro vytvoření nového projektu nápovědy z již existujících souborů témat
- Upravit HHC - editace zdrojového souboru obsahu v externím HTML editoru
- Upravit HHK - editace zdrojového souboru rejstříku v externím HTML editoru
- Statistiky projektu - zobrazení stručných statistických informací o aktuálním projektu
- Datum a čas - vložení aktuálního data a času do editovaného tématu

Umístění doplňků

Všechny aplikační doplňky musí být instalovány do aplikační složky produktu Precision Helper, do podsložky Extras.

Při výchozí instalaci na Windows 2000/XP je to složka:
"C:\Documents and Settings\%UserName%\Data aplikací\Precision\precisionhelper\Extras"
Při výchozí instalaci na Windows Vista (a vyšší) je to složka:
"C:\Users\%UserName%\AppData\Roaming\Precision\precisionhelper\Extras"

Každý doplněk by měl také být uložen ve zvláštní složce. Sadu doplňků, která využívá společné součásti (soubory), můžete samozřejmě umístit do společné složky.

Konfigurační soubory doplňků

Každý doplněk je definován parametry uvedenými v konfiguračním souboru, který musí mít příponu .PHE (např. MyExtension.phe).
Konfigurační soubory pro doplňky s rozhraním Pascal Script jsou jednoduché a obsahují v podstatě jen popisné informace. Naopak konfigurační soubory pro doplňky s rozhraním příkazové řádky obsahují úplnou definici parametrů a jednotlivých operací, které má Precision Helper provést v rámci jednotlivých kroků před spuštěním a po dokončení běhu doplňku.

Rozhraní Pascal Script

Následující příklad ukazuje konfigurační soubor doplňku s rozhraním Pascal Script.

      [Precision Helper Extension]
      Interface=pascalscript

      ; Default title and description of the extension
      Caption=New from files
      Hint=Create a new help project from an existing topic files

      ; Localized title and description of the extension
      Caption.cs=Nový ze souborů
      Hint.cs=Vytvořit nový projekt nápovědy z existujících souborů témat

      [IDE]
      ; Parts of the Precision Helper IDE, where the extension should be available
      ribbonHOME=1
      ribbonTOC=0
      ribbonIDX=0
      ribbonPUB=0
      ribbonTOOLS=1
      ribbonHELP=0
      TopicSource=0

Význam parametrů v tomto konfiguračním souboru je více méně jasný. Veškerý funkční kód doplňku tohoto typu je umístěn v souboru s názvem RunScript.pas. Pokud doplněk obsahuje také vizuální prostředí (formulář), musí být definováno v souboru RunScript.dfm.

Pro editaci a vytváření doplňků s rozhraním Pascal Script můžete použít libovolný editor, ale doporučujeme použít produkt pdScript IDE, který je rovněž dodáván výrobcem produktu Precision Helper, a který obsahuje podporu pro veškeré funkce a možnosti implementované do Precision Helperu (viz http://www.be-precision.com/products/pdscript/).

Jako úvodní příklady pro vytváření Vašich vlastních doplňků můžete použít předdefinované existující doplňky, které naleznete ve výše zmíněné složce.

Rozhraní příkazové řádky

Následující příklad ukazuje konfigurační soubor doplňku s rozhraním příkazové řádky, včetně popisu významu parametrů.

      [Precision Helper Extension]
      ; Interface:
      ;   pascalscript - Pascal Script interface
      ;   cmdline      - Command-line interface
      ;                  An external program is executed with the specified parameters.
      ;                  (See 'Application' and 'Command-line' sections for more info)
      Interface=cmdline

      Caption=Edit HHC
      Hint=Open the table of contents source file in an external html editor

      Caption.cs=Upravit HHC
      Hint.cs=Otevřít zdrojový soubor obsahu v externím html editoru

      [Script]
      ; not implemented yet
      ExecOnLoad=0

      [Application]
      ; Application to execute. Can be an exact path, or path with an environment variables,
      ; or can contain one of the following macros:
      ; %X% - Macro that runs one of the tools predefined in Precision Helper.
      ;       (X can be: 1 - Html editor, 2 - Web browser, 4 - Image editor, 5 - File manager)
      ; %ENVIRONMENT_VARIABLE% - Any environment variable
      ; %REG:HKxx\KeyPath,ValueName|DefaultValue% - Value from registry
      ; %APPEXTRAS% - Extensions folder of Precision Helper
      ; %APPTEMPLATES% - Templates folder of Precision Helper
      ; %APPFOLDER% - Folder that contains PrecisionHelper.exe file
      ; %APPTEMP% - Temporary folder of Precision Helper (ie. ...\Precision Helper\Temp\...)
      ; %PROJECTFILE% - Current project file
      ; %PROJECTFOLDER% - Folder of the current project
      ; %APPSAMPLES% - Samples folder of Precision Helper
      %1%

      [Command-line]
      ; Command-line parameters. Can contain macros mentioned in [Application] section (except the %X%) and the following macros:
      ; %1 - filename of currently selected item in Precision Helper (topic in TOC, topic in Index, file in Include files section, etc.)
      ; %2 - Source file name of the project (HHP)
      ; %3 - Target CHM file of the project
      ; %4 - Source file name of table of content (HHC)
      ; %5 - Source file name of index of keywords (HHK)
      ; %6 - Current installation folder of this extension
      ; %7 - Current options file name of this extension
      Parameters="%4"

      ; Precision Helper waits until the executed extension will be closed.
      ; Do not use this when you work with both programs (PH and the application) side by side.
      ; Not available when using the %X% macro in [Application] section
      waitfor=0

      ; Saves the TOC before execution
      saveTOC=1
      ; Saves the IDX before execution
      saveIDX=0
      ; Saves the whole project before execution
      saveProject=0
      ; Saves the current topic before execution
      saveTopic=0

      ; When the extension is executed, Precision Helper will reload the TOC after its next activation.
      ; If 'waitfor=1' then TOC will be reloaded after closing the extension application
      reloadTOC=1
      ; Similar to reloadTOC, but applies to Index of keywords
      reloadIDX=0
      ; Similar to reloadTOC, but applies to the whole project
      reloadProject=0
      ; Similar to reloadTOC, but applies to the current topic
      reloadTopic=0
      ; Similar to reloadTOC, but reloads all the extensions (suitable for add-ons that implements Add-Ons manager features)
      reloadExtras=0

      [IDE]
      ; Parts of the Precision Helper GUI, where the extension should be available
      ribbonHOME=0
      ribbonTOC=1
      ribbonIDX=0
      ribbonPUB=0
      ribbonTOOLS=0
      ribbonHELP=0
      TopicSource=0

Jak vidíte z popisu parametrů, tak coby doplněk můžete použít skutečně libovolnou externí aplikaci, jelikož Precision Helper není přímo závislý na jejím běhu (kromě případného čekání na její dokončení), ani výstupu.

Další možnosti doplňků

- Ikony doplňků musí být definovány v souborech s názvem "icon16.png" a "icon24.png", které musí být umístěny u konfiguračního souboru.
- Každému doplňku s rozhraním Pascal Script je vyhrazen soubor s jeho vlastním nastavením, který má stejný název jako konfigurační soubor, ale příponu .PHEINI (viz např. doplněk "NewFromFolder")
- Úplný popis syntaxe rozhraní Pascal Script není prozatím k dispozici, ale seznam dostupných funkcí najdete ve schématu kódování "Precision Helper" v rámci již zmíněného editoru doplňků, produktu pdScript IDE (viz http://www.be-precision.com/products/pdscript/).

Copyright © 2008-2011 Precision software & consulting. All rights reserved.