Screenshot
Usage
A panel to show the pdf licence of the installed application.
These panels can prompt the user to acknowledge a license agreement. They block unless the user selects the 'agree' option. To specify the license agreement text you have to use the PdfLicencePanel.licence
resource.
You can use multiple instances of HTMLLicencePanel this way:
<resources> <res id="PDFLicencePanel.licence" src="iz/apache-license.pdf"/> </resources> <panels> <panel classname="PDFLicencePanel" id="licence" /> </panels> <jar src="deps/batik-awt-util.jar" /> <jar src="deps/batik-dom.jar" /> <jar src="deps/batik-svg-dom.jar" /> <jar src="deps/batik-svggen.jar" /> <jar src="deps/batik-util.jar" /> <jar src="deps/batik-xml.jar" /> <jar src="deps/commons-logging.jar" /> <jar src="deps/fontbox.jar" /> <jar src="deps/icepdf-core.jar" /> <jar src="deps/icepdf-viewer.jar" /> <jar src="deps/jai-codec.jar" /> <jar src="deps/jai-core.jar" /> <jar src="deps/jempbox.jar" /> <jar src="deps/pdfbox.jar" />
Since 5.0.7:
For the console installation mode, the info 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 info text results in more lines (after the word wrapping mentioned above) than the real terminal height, the text is paged, e.g. there is displayed one page fitting the terminal dimensions and below there is shown a===More===
line indicating there are more pages of text available. The next page is shown when pressing the SPACE (or any other key) here.
Configuration
The word wrap and paging feature described above must be activated depending on the format of the info text, they are deactivated by default.
Panel configuration parameter | Possible values | Default | Description |
---|---|---|---|
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:
<panels> <panel classname="PDFLicencePanel" 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 there are both activated, word wrapping is done before calculating the page size for paging.
Resources
Resource | Description |
---|---|
PDFLicencePanel.licence | The license agreement text to show on the panel. |
Maven Dependencies
This Panel depends on Apache PDF Box and Ice PDF. The dependencies must be available for the plugins and also included into the installer, enabling it to load the PDF in runtime when installing.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>some-group-id</groupId> <artifactId>some-parent-artifact-id</artifactId> <version>1.0.0-SNAPSHOT</version> </parent> <artifactId>some-artifact-id</artifactId> <name>Sample Installer</name> <description>Installer for Sample</description> <packaging>jar</packaging> <dependencies> <!-- PDF Panel --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.10</version> </dependency> <dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.0.1</version> </dependency> <dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-viewer</artifactId> <version>6.0.1</version> </dependency> <!-- PDF Panel --> </dependencies> <build> <defaultGoal>package</defaultGoal> <resources> <resource> <directory>src/izpack</directory> <filtering>true</filtering> </resource> </resources> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>${project.build.sourceEncoding}</encoding> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <configuration> <transitive>true</transitive> </configuration> <executions> <execution> <id>pdf</id> <phase>process-resources</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <stripVersion>true</stripVersion> <includeScope>compile</includeScope> <outputDirectory>${stage.dir.fullpath}/deps</outputDirectory> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.izpack</groupId> <artifactId>izpack-maven-plugin</artifactId> <version>${izpack-maven-plugin.version}</version> <dependencies> <dependency> <groupId>org.codehaus.izpack</groupId> <artifactId>izpack-compiler</artifactId> <version>${izpack.version}</version> </dependency> <!-- PDF Panel --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.10</version> </dependency> <dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-core</artifactId> <version>6.0.1</version> </dependency> <dependency> <groupId>org.icepdf.os</groupId> <artifactId>icepdf-viewer</artifactId> <version>6.0.1</version> </dependency> <!-- PDF Panel --> </dependencies> <configuration> <baseDir>${stage.dir.fullpath}</baseDir> <installFile>${stage.dir.fullpath}/install.xml</installFile> <mkdirs>true</mkdirs> <jarName>${project.build.finalName}-standard</jarName> </configuration> <executions> <execution> <id>standard-installer</id> <phase>package</phase> <goals> <goal>izpack</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <repositories> <repository> <id>ice-maven-release</id> <name>Ice Maven Release Repository</name> <url>http://anonsvn.icesoft.org/repo/maven2/releases</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>ice-maven-release</id> <name>Ice Maven Release Repository</name> <url>http://anonsvn.icesoft.org/repo/maven2/releases</url> </pluginRepository> </pluginRepositories> </project>