LicencePanel

Usage

A panel to show the licence of the installed application as raw text.

This panel prompts the user to acknowledge a license agreement.

The installation is blocked and the Next button is disabled until the user selects the 'agree' option.

To specify the license agreement text you use the LicencePanel.licence resource.

Since 5.0.7:
For the console installation mode, the license text can be preformatted for displaying using the following features:

  • Word wrap
    If there are long lines in the text containing more characters than the real terminal width, the text is not broken accidentally at the terminal border, but it is wrapped by words.
    Exception: Single words which are longer than the terminal width are broken at the terminal line end.
  • Paging
    If the license text results in more lines (after the word wrapping mentioned above) than the real terminal height, the text is paged so that one page fitting the terminal dimensions is displayed and at the end of the page

    ===More===

    is shown indicating there are more pages of text available. The next page is shown when the SPACE (or any other key) is pressed.

Configuration

The word wrap and paging feature described above must be activated depending on the format of the license text, they are deactivated by default.

Panel configuration parameterPossible valuesDefaultDescription
console-text-wordwrap
true | false
false

Set "true" in order to activate word wrapping for the displayed text in console installation mode.

Since: 5.0.7

console-text-paging
true | false
false

Set "true" in order to activate paging for the displayed text in console installation mode.

Since: 5.0.7

Example:

Example of install.xml
<panels>
    <panel classname="LicencePanel" id="panel.license">
      <configuration>
        <param name="console-text-paging" value="true" />
        <param name="console-text-wordwrap" value="false" />
      </configuration>
    </panel>
    ...
</panels> 

The two options work independently on each other. If both are activated, word wrapping is done before calculating the page size for paging.

Labels/Messages

idDescription
LicencePanel.infoThe label text to be shown as panel label above the contents.

Resources

idDescription
LicencePanel.<panel id>The name of the file that contains the license agreement text to show on the panel. If you don't specify the panel id then pane id is assumed to be licence (i.e. the resource id will be LicencePanel.licence). 

Localization

The LicencePanel is fully localized.

The title and button elements are translated from the built-in langpack files in the installer according to the chosen installer language.

In order to offer translated license documents follow these steps:

  1. Specify the available languages the installer should support:

    install.xml
    <locale>
        <langpack iso3="eng"/>
        <langpack iso3="fra"/>
        <langpack iso3="deu"/>
    </locale>

    The above example adds translations for English, French and German language to the installer, which can be chosen in the initial language dialog (GUI mode) or set automatically using the system settings (console mode).

  2. For each translated license document, add a resource ending on '_' followed by the 3-letter ISO code of the language.
    If you are missing any of the translated documents, add the default resource which will be used as the fallback for missing resources if that language is chosen:

    install.xml
    <resources>
        <res id="LicencePanel.licence_eng" src="@{izpack.build.directory}/resources/License_eng.txt" />
        <res id="LicencePanel.licence_fra" src="@{izpack.build.directory}/resources/License_fra.txt" />
        <res id="LicencePanel.licence" src="@{izpack.build.directory}/License_eng.txt"/>
    </resources>

    The above example adds an English and French translation of the license document. Furthermore it uses the English translation as fallback for the German version.

See Internationalizing resources for more information on automatic localization of resources in IzPack.

Limitations

The panel id is not taken into account for the panel label, the key is always taken as LicencePanel.info. The label LicencePanel.info is shared with HTMLLicencePanel & PDFLicencePanel as well.