You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2006/05/07 16:55:29 UTC
svn commit: r404778 [5/7] - in
/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows: ./
launch4j-2.1.1/ launch4j-2.1.1/bin/ launch4j-2.1.1/demo/
launch4j-2.1.1/demo/ConsoleApp/ launch4j-2.1.1/demo/ConsoleApp/l4j/
launch4j-2.1.1/demo/ConsoleApp...
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages.properties
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages.properties?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages.properties (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages.properties Sun May 7 07:55:12 2006
@@ -0,0 +1,34 @@
+#
+# launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+# Copyright (C) 2005 Grzegorz Kowal
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+OptComponentBinding.must.implement=Optional component must implement
+
+Validator.empty.field=Enter: {0}
+Validator.invalid.data=Invalid data: {0}
+Validator.must.be.in.range={0} must be in range [{1}-{2}]
+Validator.must.be.at.least={0} must be at least
+Validator.already.exists={0} already exists.
+Validator.doesnt.exist={0} doesn't exist.
+Validator.exceeds.max.length={0} exceeds the maximum length of {1} characters.
+
+Bindings.duplicate.binding=Duplicate binding
+
+JRadioButtonBinding.property.null=Property is null
+JRadioButtonBinding.nothing.selected=Nothing selected
+JRadioButtonBinding.index.out.of.bounds=Button index out of bounds
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages_es.properties
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages_es.properties?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages_es.properties (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/binding/messages_es.properties Sun May 7 07:55:12 2006
@@ -0,0 +1,34 @@
+#
+# launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+# Copyright (C) 2005 Grzegorz Kowal
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+OptComponentBinding.must.implement=El componente opcional debe ser implementado
+
+Validator.empty.field=Introduzca: {0}
+Validator.invalid.data=Dato no válido: {0}
+Validator.must.be.in.range={0} debe estar en el rango [{1}-{2}]
+Validator.must.be.at.least={0} deb ser al menos
+Validator.already.exists={0} ya existe.
+Validator.doesnt.exist={0} no existe.
+Validator.exceeds.max.length={0} excede la longitud máxima de {1} caracteres.
+
+Bindings.duplicate.binding=Binding duplicado
+
+JRadioButtonBinding.property.null=La propiedad es nula
+JRadioButtonBinding.nothing.selected=Nada seleccionado
+JRadioButtonBinding.index.out.of.bounds=Índice de botón fuera de límite
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Config.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Config.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Config.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Config.java Sun May 7 07:55:12 2006
@@ -0,0 +1,242 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.File;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Config implements IValidatable {
+
+ public static final String HEADER = "header"; //$NON-NLS-1$
+ public static final String JAR = "jar"; //$NON-NLS-1$
+ public static final String OUTFILE = "outfile"; //$NON-NLS-1$
+ public static final String ERR_TITLE = "errTitle"; //$NON-NLS-1$
+ public static final String JAR_ARGS = "jarArgs"; //$NON-NLS-1$
+ public static final String CHDIR = "chdir"; //$NON-NLS-1$
+ public static final String CUSTOM_PROC_NAME = "customProcName"; //$NON-NLS-1$
+ public static final String STAY_ALIVE = "stayAlive"; //$NON-NLS-1$
+ public static final String ICON = "icon"; //$NON-NLS-1$
+
+ public static final int GUI_HEADER = 0;
+ public static final int CONSOLE_HEADER = 1;
+
+ private boolean dontWrapJar;
+ private int headerType;
+ private String[] headerObjects;
+ private String[] libs;
+ private File jar;
+ private File outfile;
+
+ // runtime configuration
+ private String errTitle;
+ private String jarArgs;
+ private String chdir;
+ private boolean customProcName;
+ private boolean stayAlive;
+ private File icon;
+ private Jre jre;
+ private Splash splash;
+ private VersionInfo versionInfo;
+
+ public void checkInvariants() {
+ Validator.checkTrue(outfile != null && outfile.getPath().endsWith(".exe"), //$NON-NLS-1$
+ "outfile", Messages.getString("Config.specify.output.exe")); //$NON-NLS-1$ //$NON-NLS-2$
+ if (dontWrapJar) {
+ Validator.checkRelativeWinPath(jar.getPath(), "jar", Messages.getString("Config.application.jar.path"));
+ } else {
+ Validator.checkFile(jar, "jar", Messages.getString("Config.application.jar")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ if (!Validator.isEmpty(chdir)) {
+ Validator.checkRelativeWinPath(chdir,
+ "chdir", Messages.getString("Config.chdir.relative")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkFalse(chdir.toLowerCase().equals("true") //$NON-NLS-1$
+ || chdir.toLowerCase().equals("false"), //$NON-NLS-1$
+ "chdir", Messages.getString("Config.chdir.path")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ Validator.checkOptFile(icon, "icon", Messages.getString("Config.icon")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkOptString(jarArgs, 128, "jarArgs", Messages.getString("Config.jar.arguments")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkOptString(errTitle, 128, "errTitle", Messages.getString("Config.error.title")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkRange(headerType, GUI_HEADER, CONSOLE_HEADER,
+ "headerType", Messages.getString("Config.invalid.header.type")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkTrue(headerType != CONSOLE_HEADER || splash == null,
+ "headerType", Messages.getString("Config.splash.not.impl.by.console.hdr")); //$NON-NLS-1$ //$NON-NLS-2$
+ jre.checkInvariants();
+ }
+
+ public void validate() {
+ checkInvariants();
+ if (splash != null) {
+ splash.checkInvariants();
+ }
+ if (versionInfo != null) {
+ versionInfo.checkInvariants();
+ }
+ }
+
+ /** Change current directory to EXE location. */
+ public String getChdir() {
+ return chdir;
+ }
+
+ public void setChdir(String chdir) {
+ this.chdir = chdir;
+ }
+
+ /** Constant command line arguments passed to application jar. */
+ public String getJarArgs() {
+ return jarArgs;
+ }
+
+ public void setJarArgs(String jarArgs) {
+ this.jarArgs = jarArgs;
+ }
+
+ /** Optional, error message box title. */
+ public String getErrTitle() {
+ return errTitle;
+ }
+
+ public void setErrTitle(String errTitle) {
+ this.errTitle = errTitle;
+ }
+
+ /** launch4j header file. */
+ public int getHeaderType() {
+ return headerType;
+ }
+
+ public void setHeaderType(int headerType) {
+ this.headerType = headerType;
+ }
+
+ public boolean isCustomHeaderObjects() {
+ return headerObjects != null && headerObjects.length > 0;
+ }
+
+ public String[] getHeaderObjects() {
+ return isCustomHeaderObjects() ? headerObjects
+ : headerType == GUI_HEADER
+ ? LdDefaults.getInstance().getGuiHeaderObjects()
+ : LdDefaults.getInstance().getConsoleHeaderObjects();
+ }
+
+ public void setHeaderObjects(String[] headerObjects) {
+ this.headerObjects = headerObjects;
+ }
+
+ public boolean isCustomLibs() {
+ return libs != null && libs.length > 0;
+ }
+
+ public String[] getLibs() {
+ return isCustomLibs() ? libs : LdDefaults.getInstance().getLibs();
+ }
+
+ public void setLibs(String[] libs) {
+ this.libs = libs;
+ }
+
+ /** ICO file. */
+ public File getIcon() {
+ return icon;
+ }
+
+ public void setIcon(File icon) {
+ this.icon = icon;
+ }
+
+ /** Jar to wrap. */
+ public File getJar() {
+ return jar;
+ }
+
+ public void setJar(File jar) {
+ this.jar = jar;
+ }
+
+ /** JRE configuration */
+ public Jre getJre() {
+ return jre;
+ }
+
+ public void setJre(Jre jre) {
+ this.jre = jre;
+ }
+
+ /** Output EXE file. */
+ public File getOutfile() {
+ return outfile;
+ }
+
+ public void setOutfile(File outfile) {
+ this.outfile = outfile;
+ }
+
+ /** Custom process name as the output EXE file name. */
+ public boolean isCustomProcName() {
+ return customProcName;
+ }
+
+ public void setCustomProcName(boolean customProcName) {
+ this.customProcName = customProcName;
+ }
+
+ /** Splash screen configuration. */
+ public Splash getSplash() {
+ return splash;
+ }
+
+ public void setSplash(Splash splash) {
+ this.splash = splash;
+ }
+
+ /** Stay alive after launching the application. */
+ public boolean isStayAlive() {
+ return stayAlive;
+ }
+
+ public void setStayAlive(boolean stayAlive) {
+ this.stayAlive = stayAlive;
+ }
+
+ public VersionInfo getVersionInfo() {
+ return versionInfo;
+ }
+
+ public void setVersionInfo(VersionInfo versionInfo) {
+ this.versionInfo = versionInfo;
+ }
+
+ public boolean isDontWrapJar() {
+ return dontWrapJar;
+ }
+
+ public void setDontWrapJar(boolean dontWrapJar) {
+ this.dontWrapJar = dontWrapJar;
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersister.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersister.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersister.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersister.java Sun May 7 07:55:12 2006
@@ -0,0 +1,203 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Apr 22, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.Properties;
+
+import net.sf.launch4j.Util;
+
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ConfigPersister {
+
+ private static final ConfigPersister _instance = new ConfigPersister();
+
+ private final XStream _xstream;
+ private Config _config;
+ private File _configPath;
+
+ private ConfigPersister() {
+ _xstream = new XStream(new DomDriver());
+ _xstream.alias("launch4jConfig", Config.class);
+ _xstream.alias("jre", Jre.class);
+ _xstream.alias("splash", Splash.class);
+ _xstream.alias("versionInfo", VersionInfo.class);
+ _xstream.alias("file", String.class);
+ }
+
+ public static ConfigPersister getInstance() {
+ return _instance;
+ }
+
+ public Config getConfig() {
+ return _config;
+ }
+
+ public File getConfigPath() {
+ return _configPath;
+ }
+
+ public File getOutputPath() throws IOException {
+ if (_config.getOutfile().isAbsolute()) {
+ return _config.getOutfile().getParentFile();
+ }
+ File parent = _config.getOutfile().getParentFile();
+ return (parent != null) ? new File(_configPath, parent.getPath()) : _configPath;
+ }
+
+ public File getOutputFile() throws IOException {
+ return _config.getOutfile().isAbsolute()
+ ? _config.getOutfile()
+ : new File(getOutputPath(), _config.getOutfile().getName());
+ }
+
+ public void createBlank() {
+ _config = new Config();
+ _config.setJre(new Jre());
+ _configPath = null;
+ }
+
+ public void setAntConfig(Config c, File basedir) {
+ _config = c;
+ _configPath = basedir;
+ }
+
+ public void load(File f) throws ConfigPersisterException {
+ try {
+ BufferedReader r = new BufferedReader(new FileReader(f));
+ _config = (Config) _xstream.fromXML(r);
+ r.close();
+ setConfigPath(f);
+ } catch (Exception e) {
+ throw new ConfigPersisterException(e);
+ }
+ }
+
+ /**
+ * Imports launch4j 1.x.x config file.
+ */
+ public void loadVersion1(File f) throws ConfigPersisterException {
+ try {
+ Props props = new Props(f);
+ _config = new Config();
+ String header = props.getProperty(Config.HEADER);
+ _config.setHeaderType(header == null
+ || header.toLowerCase().equals("guihead.bin") ? 0 : 1);
+ _config.setJar(props.getFile(Config.JAR));
+ _config.setOutfile(props.getFile(Config.OUTFILE));
+ _config.setJre(new Jre());
+ _config.getJre().setPath(props.getProperty(Jre.PATH));
+ _config.getJre().setMinVersion(props.getProperty(Jre.MIN_VERSION));
+ _config.getJre().setMaxVersion(props.getProperty(Jre.MAX_VERSION));
+ _config.getJre().setArgs(props.getProperty(Jre.ARGS));
+ _config.setJarArgs(props.getProperty(Config.JAR_ARGS));
+ _config.setChdir("true".equals(props.getProperty(Config.CHDIR)) ? "." : null);
+ _config.setCustomProcName("true".equals(
+ props.getProperty("setProcName"))); // 1.x
+ _config.setStayAlive("true".equals(props.getProperty(Config.STAY_ALIVE)));
+ _config.setErrTitle(props.getProperty(Config.ERR_TITLE));
+ _config.setIcon(props.getFile(Config.ICON));
+ File splashFile = props.getFile(Splash.SPLASH_FILE);
+ if (splashFile != null) {
+ _config.setSplash(new Splash());
+ _config.getSplash().setFile(splashFile);
+ String waitfor = props.getProperty("waitfor"); // 1.x
+ _config.getSplash().setWaitForWindow(waitfor != null && !waitfor.equals(""));
+ String splashTimeout = props.getProperty(Splash.TIMEOUT);
+ if (splashTimeout != null) {
+ _config.getSplash().setTimeout(Integer.parseInt(splashTimeout));
+ }
+ _config.getSplash().setTimeoutErr("true".equals(
+ props.getProperty(Splash.TIMEOUT_ERR)));
+ } else {
+ _config.setSplash(null);
+ }
+ setConfigPath(f);
+ } catch (IOException e) {
+ throw new ConfigPersisterException(e);
+ }
+ }
+
+ public void save(File f) throws ConfigPersisterException {
+ try {
+ BufferedWriter w = new BufferedWriter(new FileWriter(f));
+ _xstream.toXML(_config, w);
+ w.close();
+ setConfigPath(f);
+ } catch (Exception e) {
+ throw new ConfigPersisterException(e);
+ }
+ }
+
+ private void setConfigPath(File configFile) {
+ _configPath = configFile.getAbsoluteFile().getParentFile();
+ }
+
+ private class Props {
+ final Properties _properties = new Properties();
+
+ public Props(File f) throws IOException {
+ FileInputStream is = null;
+ try {
+ is = new FileInputStream(f);
+ _properties.load(is);
+ } finally {
+ Util.close(is);
+ }
+ }
+
+ /**
+ * Get property and remove trailing # comments.
+ */
+ public String getProperty(String key) {
+ String p = _properties.getProperty(key);
+ if (p == null) {
+ return null;
+ }
+ int x = p.indexOf('#');
+ if (x == -1) {
+ return p;
+ }
+ do {
+ x--;
+ } while (x > 0 && (p.charAt(x) == ' ' || p.charAt(x) == '\t'));
+ return (x == 0) ? "" : p.substring(0, x + 1);
+ }
+
+ public File getFile(String key) {
+ String value = getProperty(key);
+ return value != null ? new File(value) : null;
+ }
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersisterException.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersisterException.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersisterException.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/ConfigPersisterException.java Sun May 7 07:55:12 2006
@@ -0,0 +1,37 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Apr 22, 2005
+ */
+package net.sf.launch4j.config;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class ConfigPersisterException extends Exception {
+
+ public ConfigPersisterException(String msg, Throwable t) {
+ super(msg, t);
+ }
+
+ public ConfigPersisterException(Throwable t) {
+ super(t);
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Jre.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Jre.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Jre.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Jre.java Sun May 7 07:55:12 2006
@@ -0,0 +1,137 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Jre implements IValidatable {
+ public static final String VERSION_PATTERN = "(\\d\\.){2}\\d(_\\d+)?"; //$NON-NLS-1$
+ public static final String PATH = "jrepath"; //$NON-NLS-1$
+ public static final String MIN_VERSION = "javamin"; //$NON-NLS-1$
+ public static final String MAX_VERSION = "javamax"; //$NON-NLS-1$
+ public static final String ARGS = "jvmArgs"; //$NON-NLS-1$
+
+ private String path;
+ private String minVersion;
+ private String maxVersion;
+ private int initialHeapSize;
+ private int maxHeapSize;
+ private String args;
+
+ public void checkInvariants() {
+ Validator.checkOptString(minVersion, 10, VERSION_PATTERN,
+ "jre.minVersion", Messages.getString("Jre.min.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkOptString(maxVersion, 10, VERSION_PATTERN,
+ "jre.maxVersion", Messages.getString("Jre.max.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ if (Validator.isEmpty(path)) {
+ Validator.checkFalse(Validator.isEmpty(minVersion),
+ "jre.path", Messages.getString("Jre.specify.jre.path.min.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ } else {
+ Validator.checkRelativeWinPath(path,
+ "jre.path", Messages.getString("Jre.embedded.path.rel")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ if (!Validator.isEmpty(maxVersion)) {
+ Validator.checkFalse(Validator.isEmpty(minVersion),
+ "jre.minVersion", Messages.getString("Jre.specify.min.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkTrue(minVersion.compareTo(maxVersion) < 0,
+ "jre.maxVersion", Messages.getString("Jre.max.greater.than.min")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ Validator.checkTrue(initialHeapSize >= 0, "jre.initialHeapSize", //$NON-NLS-1$
+ Messages.getString("Jre.initial.heap")); //$NON-NLS-1$
+ Validator.checkTrue(maxHeapSize == 0 || initialHeapSize <= maxHeapSize,
+ "jre.maxHeapSize", Messages.getString("Jre.max.heap")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkOptString(args, 512, "jre.args", Messages.getString("Jre.jvm.args")); //$NON-NLS-1$ //$NON-NLS-2$
+ if (!Validator.isEmpty(args)) {
+ int quotes = 0;
+ for (int i = 0; i < args.length(); i++) {
+ if (args.charAt(i) == '"') {
+ quotes++;
+ }
+ }
+ if (quotes % 2 > 0) {
+ Validator.signalViolation("jre.args",
+ Messages.getString("Jre.jvm.args.unclosed.quotation"));
+ }
+ Validator.checkTrue(args.matches("[^%]*|([^%]*\"[^%\"]*%[^%\"]*%[^%\"]*\"[^%]*)*"),
+ "jre.args", Messages.getString("Jre.jvm.args.variable"));
+ }
+ }
+
+ /** JVM arguments: XOptions, system properties. */
+ public String getArgs() {
+ return args;
+ }
+
+ public void setArgs(String args) {
+ this.args = args;
+ }
+
+ /** Max Java version (x.x.x) */
+ public String getMaxVersion() {
+ return maxVersion;
+ }
+
+ public void setMaxVersion(String maxVersion) {
+ this.maxVersion = maxVersion;
+ }
+
+ /** Min Java version (x.x.x) */
+ public String getMinVersion() {
+ return minVersion;
+ }
+
+ public void setMinVersion(String minVersion) {
+ this.minVersion = minVersion;
+ }
+
+ /** JRE path */
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ /** Initial heap size in MB */
+ public int getInitialHeapSize() {
+ return initialHeapSize;
+ }
+
+ public void setInitialHeapSize(int initialHeapSize) {
+ this.initialHeapSize = initialHeapSize;
+ }
+
+ /** Max heap size in MB */
+ public int getMaxHeapSize() {
+ return maxHeapSize;
+ }
+
+ public void setMaxHeapSize(int maxHeapSize) {
+ this.maxHeapSize = maxHeapSize;
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/LdDefaults.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/LdDefaults.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/LdDefaults.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/LdDefaults.java Sun May 7 07:55:12 2006
@@ -0,0 +1,63 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Sep 3, 2005
+ */
+package net.sf.launch4j.config;
+
+public class LdDefaults {
+ private static final LdDefaults _instance = new LdDefaults();
+
+ private final String[] _guiHeaderObjects;
+ private final String[] _consoleHeaderObjects;
+ private final String[] _libs;
+
+ private LdDefaults() {
+ _guiHeaderObjects = new String[] {"w32api/crt2.o",
+ "head/guihead.o",
+ "head/head.o"};
+ _consoleHeaderObjects = new String[] {"w32api/crt2.o",
+ "head/consolehead.o",
+ "head/head.o"};
+ _libs = new String[] {"w32api/libmingw32.a",
+ "w32api/libgcc.a",
+ "w32api/libmsvcrt.a",
+ "w32api/libkernel32.a",
+ "w32api/libuser32.a",
+ "w32api/libadvapi32.a",
+ "w32api/libshell32.a"};
+ }
+
+ public static LdDefaults getInstance() {
+ return _instance;
+ }
+
+ public String[] getGuiHeaderObjects() {
+ return _guiHeaderObjects;
+ }
+
+ public String[] getConsoleHeaderObjects() {
+ return _consoleHeaderObjects;
+ }
+
+ public String[] getLibs() {
+ return _libs;
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Messages.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Messages.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Messages.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Messages.java Sun May 7 07:55:12 2006
@@ -0,0 +1,47 @@
+package net.sf.launch4j.config;
+
+import java.text.MessageFormat;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages {
+ private static final String BUNDLE_NAME = "net.sf.launch4j.config.messages"; //$NON-NLS-1$
+
+ private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
+ .getBundle(BUNDLE_NAME);
+ private static final MessageFormat FORMATTER = new MessageFormat("");
+
+ private Messages() {
+ }
+
+ public static String getString(String key) {
+ // TODO Auto-generated method stub
+ try {
+ return RESOURCE_BUNDLE.getString(key);
+ } catch (MissingResourceException e) {
+ return '!' + key + '!';
+ }
+ }
+
+ public static String getString(String key, String arg0) {
+ return getString(key, new Object[] {arg0});
+ }
+
+ public static String getString(String key, String arg0, String arg1) {
+ return getString(key, new Object[] {arg0, arg1});
+ }
+
+ public static String getString(String key, String arg0, String arg1, String arg2) {
+ return getString(key, new Object[] {arg0, arg1, arg2});
+ }
+
+ public static String getString(String key, Object[] args) {
+ // TODO Auto-generated method stub
+ try {
+ FORMATTER.applyPattern(RESOURCE_BUNDLE.getString(key));
+ return FORMATTER.format(args);
+ } catch (MissingResourceException e) {
+ return '!' + key + '!';
+ }
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Splash.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Splash.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Splash.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/Splash.java Sun May 7 07:55:12 2006
@@ -0,0 +1,84 @@
+/*
+ launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+ Copyright (C) 2005 Grzegorz Kowal
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+*/
+
+/*
+ * Created on Apr 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import java.io.File;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class Splash implements IValidatable {
+ public static final String SPLASH_FILE = "splash"; //$NON-NLS-1$
+ public static final String WAIT_FOR_TITLE = "waitForTitle"; //$NON-NLS-1$
+ public static final String TIMEOUT = "splashTimeout"; //$NON-NLS-1$
+ public static final String TIMEOUT_ERR = "splashTimeoutErr"; //$NON-NLS-1$
+
+ private File file;
+ private boolean waitForWindow = true;
+ private int timeout = 60;
+ private boolean timeoutErr = true;
+
+ public void checkInvariants() {
+ Validator.checkFile(file, "splash.file", Messages.getString("Splash.splash.file")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkRange(timeout, 1, 60 * 15, "splash.timeout", Messages.getString("Splash.splash.timeout")); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ /** Splash screen in BMP format. */
+ public File getFile() {
+ return file;
+ }
+
+ public void setFile(File file) {
+ this.file = file;
+ }
+
+ /** Splash timeout in seconds. */
+ public int getTimeout() {
+ return timeout;
+ }
+
+ public void setTimeout(int timeout) {
+ this.timeout = timeout;
+ }
+
+ /** Signal error on splash timeout. */
+ public boolean isTimeoutErr() {
+ return timeoutErr;
+ }
+
+ public void setTimeoutErr(boolean timeoutErr) {
+ this.timeoutErr = timeoutErr;
+ }
+
+ /** Hide splash screen when the child process displayes the first window. */
+ public boolean getWaitForWindow() {
+ return waitForWindow;
+ }
+
+ public void setWaitForWindow(boolean waitForWindow) {
+ this.waitForWindow = waitForWindow;
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/VersionInfo.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/VersionInfo.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/VersionInfo.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/VersionInfo.java Sun May 7 07:55:12 2006
@@ -0,0 +1,135 @@
+/*
+ * Created on May 21, 2005
+ */
+package net.sf.launch4j.config;
+
+import net.sf.launch4j.binding.IValidatable;
+import net.sf.launch4j.binding.Validator;
+
+/**
+ * @author Copyright (C) 2005 Grzegorz Kowal
+ */
+public class VersionInfo implements IValidatable {
+ public static final String VERSION_PATTERN = "(\\d+\\.){3}\\d+"; //$NON-NLS-1$
+ private static final int MAX_LEN = 150;
+
+ private String fileVersion;
+ private String txtFileVersion;
+ private String fileDescription;
+ private String copyright;
+ private String productVersion;
+ private String txtProductVersion;
+ private String productName;
+ private String companyName;
+ private String internalName;
+ private String originalFilename;
+
+ public void checkInvariants() {
+ Validator.checkString(fileVersion, 20, VERSION_PATTERN,
+ "versionInfo.fileVersion", Messages.getString("VersionInfo.file.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(txtFileVersion, 50,
+ "versionInfo.txtFileVersion", Messages.getString("VersionInfo.txt.file.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(fileDescription, MAX_LEN,
+ "versionInfo.fileDescription", Messages.getString("VersionInfo.file.description")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(copyright, MAX_LEN,
+ "versionInfo.copyright", Messages.getString("VersionInfo.copyright")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(productVersion, 20, VERSION_PATTERN,
+ "versionInfo.productVersion", Messages.getString("VersionInfo.product.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(txtProductVersion, 50,
+ "versionInfo.txtProductVersion", Messages.getString("VersionInfo.txt.product.version")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(productName, MAX_LEN,
+ "versionInfo.productName", Messages.getString("VersionInfo.product.name")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkOptString(companyName, MAX_LEN,
+ "versionInfo.companyName", Messages.getString("VersionInfo.company.name")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkString(internalName, 50,
+ "versionInfo.internalName", Messages.getString("VersionInfo.internal.name")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkTrue(!internalName.endsWith(".exe"), //$NON-NLS-1$
+ "versionInfo.internalName", //$NON-NLS-1$
+ Messages.getString("VersionInfo.internal.name.not.exe")); //$NON-NLS-1$
+ Validator.checkString(originalFilename, 50,
+ "versionInfo.originalFilename", Messages.getString("VersionInfo.original.filename")); //$NON-NLS-1$ //$NON-NLS-2$
+ Validator.checkTrue(originalFilename.endsWith(".exe"), //$NON-NLS-1$
+ "versionInfo.originalFilename", //$NON-NLS-1$
+ Messages.getString("VersionInfo.original.filename.exe")); //$NON-NLS-1$
+ }
+
+ public String getCompanyName() {
+ return companyName;
+ }
+
+ public void setCompanyName(String companyName) {
+ this.companyName = companyName;
+ }
+
+ public String getCopyright() {
+ return copyright;
+ }
+
+ public void setCopyright(String copyright) {
+ this.copyright = copyright;
+ }
+
+ public String getFileDescription() {
+ return fileDescription;
+ }
+
+ public void setFileDescription(String fileDescription) {
+ this.fileDescription = fileDescription;
+ }
+
+ public String getFileVersion() {
+ return fileVersion;
+ }
+
+ public void setFileVersion(String fileVersion) {
+ this.fileVersion = fileVersion;
+ }
+
+ public String getInternalName() {
+ return internalName;
+ }
+
+ public void setInternalName(String internalName) {
+ this.internalName = internalName;
+ }
+
+ public String getOriginalFilename() {
+ return originalFilename;
+ }
+
+ public void setOriginalFilename(String originalFilename) {
+ this.originalFilename = originalFilename;
+ }
+
+ public String getProductName() {
+ return productName;
+ }
+
+ public void setProductName(String productName) {
+ this.productName = productName;
+ }
+
+ public String getProductVersion() {
+ return productVersion;
+ }
+
+ public void setProductVersion(String productVersion) {
+ this.productVersion = productVersion;
+ }
+
+ public String getTxtFileVersion() {
+ return txtFileVersion;
+ }
+
+ public void setTxtFileVersion(String txtFileVersion) {
+ this.txtFileVersion = txtFileVersion;
+ }
+
+ public String getTxtProductVersion() {
+ return txtProductVersion;
+ }
+
+ public void setTxtProductVersion(String txtProductVersion) {
+ this.txtProductVersion = txtProductVersion;
+ }
+}
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages.properties
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages.properties?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages.properties (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages.properties Sun May 7 07:55:12 2006
@@ -0,0 +1,57 @@
+#
+# launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+# Copyright (C) 2005 Grzegorz Kowal
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+Splash.splash.file=Splash file
+Splash.splash.timeout=Splash timeout
+
+Config.specify.output.exe=Specify output file with .exe extension.
+Config.application.jar=Application jar
+Config.application.jar.path=Specify runtime path of the jar relative to the executable.
+Config.chdir.relative='chdir' must be a path relative to the executable.
+Config.chdir.path='chdir' is now a path instead of a boolean, please check the docs.
+Config.icon=Icon
+Config.jar.arguments=Jar arguments
+Config.error.title=Error title
+Config.invalid.header.type=Invalid header type
+Config.splash.not.impl.by.console.hdr=Splash screen is not implemented by console header.
+
+VersionInfo.file.version=File version, should be 'x.x.x.x'
+VersionInfo.txt.file.version=Free form file version
+VersionInfo.file.description=File description
+VersionInfo.copyright=Copyright
+VersionInfo.product.version=Product version, should be 'x.x.x.x'
+VersionInfo.txt.product.version=Free from product version
+VersionInfo.product.name=Product name
+VersionInfo.company.name=Company name
+VersionInfo.internal.name=Internal name
+VersionInfo.internal.name.not.exe=Internal name shouldn't have the .exe extension.
+VersionInfo.original.filename=Original filename
+VersionInfo.original.filename.exe=Original filename should end with the .exe extension.
+
+Jre.min.version=Minimum JRE version should be x.x.x[_xx]
+Jre.max.version=Maximum JRE version should be x.x.x[_xx]
+Jre.specify.jre.path.min.version=Specify embedded JRE path or/and minimum JRE version.
+Jre.embedded.path.rel=Embedded JRE path must be a path relative to the executable.
+Jre.specify.min.version=Specify minimum JRE version.
+Jre.max.greater.than.min=Maximum JRE version must be greater than the minimum.\nTo use a certain JRE version, you may set the min/max range to [1.4.2 - 1.4.2_10] for example.
+Jre.initial.heap=Initial heap size cannot be negative, specify 0 or leave the field blank to use the JVM default.
+Jre.max.heap=Maximum heap size cannot be less than the initial size, specify 0 or leave the field blank to use the JVM default.
+Jre.jvm.args=JVM arguments
+Jre.jvm.args.unclosed.quotation=JVM arguments contain an unclosed quotation.
+Jre.jvm.args.variable=Invalid environment variable reference.
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages_es.properties
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages_es.properties?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages_es.properties (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/config/messages_es.properties Sun May 7 07:55:12 2006
@@ -0,0 +1,51 @@
+#
+# launch4j :: Cross-platform Java application wrapper for creating Windows native executables
+# Copyright (C) 2005 Grzegorz Kowal
+# Spanish translation (C) 2005 Patricio Martínez Ros
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+Splash.splash.file = Fichero de la pantalla de bienvenida
+Splash.splash.timeout = Tiempo de espera de la pantalla de bienvenida
+Config.specify.output.exe = Especifique el fichero de salida con extensi\u00F3n .exe.
+Config.application.jar = Aplicaci\u00F3n jar
+Config.application.jar.path = Especifique la ruta del jar relativa al ejecutable.
+Config.chdir.relative = 'Cambiar al directorio' debe ser una ruta relativa al ejecutable.
+Config.chdir.path = 'Cambiar al directorio' ahora es una ruta en lugar de un booleano, por favor consulte la documentaci\u00F3n.
+Config.icon = Icono
+Config.jar.arguments = Argumentos del jar
+Config.error.title = T\u00EDtulo de error
+Config.invalid.header.type = Tipo de cabecera no v\u00E1lido
+Config.splash.not.impl.by.console.hdr = La pantalla de bienvenida no est\u00E1 implementada para la cabecera de tipo consola.
+VersionInfo.file.version = La versi\u00F3n del fichero, deber\u00EDa ser 'x.x.x.x'
+VersionInfo.txt.file.version = Forma libre de versi\u00F3n del fichero
+VersionInfo.file.description = Descripci\u00F3n del fichero
+VersionInfo.copyright = Copyright
+VersionInfo.product.version = Versi\u00F3n del producto, deber\u00EDa ser 'x.x.x.x'
+VersionInfo.txt.product.version = Forma libre de versi\u00F3n del producto
+VersionInfo.product.name = Nombre del producto
+VersionInfo.company.name = Nombre de la organizaci\u00F3n
+VersionInfo.internal.name = Nombre interno
+VersionInfo.internal.name.not.exe = El nombre interno no deber\u00EDa tener extensi\u00F3n .exe.
+VersionInfo.original.filename = Nombre original del fichero
+VersionInfo.original.filename.exe = El nombre original del fichero debe acabar con extensi\u00F3n .exe.
+Jre.min.version = La versi\u00F3n m\u00EDnima del JRE deber\u00EDa ser x.x.x[_xx]
+Jre.max.version = La versi\u00F3n m\u00E1xima del JRE deber\u00EDa ser x.x.x[_xx]
+Jre.specify.jre.path.min.version = Especifique la ruta del JRE embebido o/y la versi\u00F3n m\u00EDnima del JRE.
+Jre.embedded.path.rel = La ruta del JRE debe ser relativa al ejecutable.
+Jre.specify.min.version = Especifique la versi\u00F3n m\u00EDnima del JRE.
+Jre.max.greater.than.min = La versi\u00F3n m\u00E1xima del JRE debe ser mayor que la m\u00EDnima.\nPara usar cierta versi\u00F3n del JRE, puede esyablecer el rango m\u00EDnimo/m\u00E1ximo a [1.4.2 - 1.4.2_10], por ejemplo.
+Jre.initial.heap = El tama\u00F1o inicial de la pila no puede ser negativo, ponga 0 o deje el campo en blanco para usar el de por defecto de la JVM.
+Jre.max.heap = El tama\u00F1o m\u00E1ximo de la pila no puede ser menor que el tama\u00F1o inicial, ponga 0 o deje el campo en blanco para usar el de por defecto de la JVM.
+Jre.jvm.args = Argumentos de la JVM
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/Config.jfrm
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/Config.jfrm?rev=404778&view=auto
==============================================================================
Binary file - no diff available.
Propchange: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/Config.jfrm
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/ConfigForm.java
URL: http://svn.apache.org/viewcvs/incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/ConfigForm.java?rev=404778&view=auto
==============================================================================
--- incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/ConfigForm.java (added)
+++ incubator/cayenne/main/trunk/cayenne/cayenne-ant/lib/windows/launch4j-2.1.1/src/net/sf/launch4j/form/ConfigForm.java Sun May 7 07:55:12 2006
@@ -0,0 +1,625 @@
+package net.sf.launch4j.form;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+
+public abstract class ConfigForm extends JPanel
+{
+ protected final JTabbedPane _tab = new JTabbedPane();
+ protected final JButton _outfileButton = new JButton();
+ protected final JLabel _outfileLabel = new JLabel();
+ protected final JLabel _errorTitleLabel = new JLabel();
+ protected final JTextField _outfileField = new JTextField();
+ protected final JTextField _errorTitleField = new JTextField();
+ protected final JCheckBox _customProcNameCheck = new JCheckBox();
+ protected final JCheckBox _stayAliveCheck = new JCheckBox();
+ protected final JLabel _iconLabel = new JLabel();
+ protected final JTextField _iconField = new JTextField();
+ protected final JTextField _jarField = new JTextField();
+ protected final JLabel _jarLabel = new JLabel();
+ protected final JButton _jarButton = new JButton();
+ protected final JButton _iconButton = new JButton();
+ protected final JLabel _jarArgsLabel = new JLabel();
+ protected final JTextField _jarArgsField = new JTextField();
+ protected final JLabel _optionsLabel = new JLabel();
+ protected final JLabel _chdirLabel = new JLabel();
+ protected final JTextField _chdirField = new JTextField();
+ protected final JCheckBox _dontWrapJarCheck = new JCheckBox();
+ protected final JLabel _headerTypeLabel = new JLabel();
+ protected final JRadioButton _guiHeaderRadio = new JRadioButton();
+ protected final ButtonGroup _headerButtonGroup = new ButtonGroup();
+ protected final JRadioButton _consoleHeaderRadio = new JRadioButton();
+ protected final JTextArea _headerObjectsTextArea = new JTextArea();
+ protected final JTextArea _libsTextArea = new JTextArea();
+ protected final JCheckBox _headerObjectsCheck = new JCheckBox();
+ protected final JCheckBox _libsCheck = new JCheckBox();
+ protected final TitledSeparator _linkerOptionsSeparator = new TitledSeparator();
+ protected final JLabel _jrePathLabel = new JLabel();
+ protected final JLabel _jreMinLabel = new JLabel();
+ protected final JLabel _jreMaxLabel = new JLabel();
+ protected final JLabel _jvmArgsTextLabel = new JLabel();
+ protected final JTextField _jrePathField = new JTextField();
+ protected final JTextField _jreMinField = new JTextField();
+ protected final JTextField _jreMaxField = new JTextField();
+ protected final JTextArea _jvmArgsTextArea = new JTextArea();
+ protected final JLabel _initialHeapSizeLabel = new JLabel();
+ protected final JLabel _maxHeapSizeLabel = new JLabel();
+ protected final JTextField _initialHeapSizeField = new JTextField();
+ protected final JTextField _maxHeapSizeField = new JTextField();
+ protected final JRadioButton _otherVarRadio = new JRadioButton();
+ protected final ButtonGroup _buttongroup1 = new ButtonGroup();
+ protected final JTextField _otherVarField = new JTextField();
+ protected final JButton _addVarButton = new JButton();
+ protected final JRadioButton _exeDirRadio = new JRadioButton();
+ protected final JRadioButton _exeFileRadio = new JRadioButton();
+ protected final JLabel _addVarsLabel = new JLabel();
+ protected final JLabel _splashFileLabel = new JLabel();
+ protected final JLabel _waitForWindowLabel = new JLabel();
+ protected final JLabel _timeoutLabel = new JLabel();
+ protected final JCheckBox _timeoutErrCheck = new JCheckBox();
+ protected final JTextField _splashFileField = new JTextField();
+ protected final JTextField _timeoutField = new JTextField();
+ protected final JButton _splashFileButton = new JButton();
+ protected final JCheckBox _splashCheck = new JCheckBox();
+ protected final JCheckBox _waitForWindowCheck = new JCheckBox();
+ protected final JCheckBox _versionInfoCheck = new JCheckBox();
+ protected final JLabel _fileVersionLabel = new JLabel();
+ protected final JTextField _fileVersionField = new JTextField();
+ protected final TitledSeparator _addVersionInfoSeparator = new TitledSeparator();
+ protected final JLabel _productVersionLabel = new JLabel();
+ protected final JTextField _productVersionField = new JTextField();
+ protected final JLabel _fileDescriptionLabel = new JLabel();
+ protected final JTextField _fileDescriptionField = new JTextField();
+ protected final JLabel _copyrightLabel = new JLabel();
+ protected final JTextField _copyrightField = new JTextField();
+ protected final JLabel _txtFileVersionLabel = new JLabel();
+ protected final JTextField _txtFileVersionField = new JTextField();
+ protected final JLabel _txtProductVersionLabel = new JLabel();
+ protected final JTextField _txtProductVersionField = new JTextField();
+ protected final JLabel _productNameLabel = new JLabel();
+ protected final JTextField _productNameField = new JTextField();
+ protected final JLabel _originalFilenameLabel = new JLabel();
+ protected final JTextField _originalFilenameField = new JTextField();
+ protected final JLabel _internalNameLabel = new JLabel();
+ protected final JTextField _internalNameField = new JTextField();
+ protected final JLabel _companyNameLabel = new JLabel();
+ protected final JTextField _companyNameField = new JTextField();
+ protected final JTextArea _logTextArea = new JTextArea();
+ protected final TitledSeparator _logSeparator = new TitledSeparator();
+
+ /**
+ * Default constructor
+ */
+ public ConfigForm()
+ {
+ initializePanel();
+ }
+
+ /**
+ * Adds fill components to empty cells in the first row and first column of the grid.
+ * This ensures that the grid spacing will be the same as shown in the designer.
+ * @param cols an array of column indices in the first row where fill components should be added.
+ * @param rows an array of row indices in the first column where fill components should be added.
+ */
+ void addFillComponents( Container panel, int[] cols, int[] rows )
+ {
+ Dimension filler = new Dimension(10,10);
+
+ boolean filled_cell_11 = false;
+ CellConstraints cc = new CellConstraints();
+ if ( cols.length > 0 && rows.length > 0 )
+ {
+ if ( cols[0] == 1 && rows[0] == 1 )
+ {
+ /** add a rigid area */
+ panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+ filled_cell_11 = true;
+ }
+ }
+
+ for( int index = 0; index < cols.length; index++ )
+ {
+ if ( cols[index] == 1 && filled_cell_11 )
+ {
+ continue;
+ }
+ panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+ }
+
+ for( int index = 0; index < rows.length; index++ )
+ {
+ if ( rows[index] == 1 && filled_cell_11 )
+ {
+ continue;
+ }
+ panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+ }
+
+ }
+
+ /**
+ * Helper method to load an image file from the CLASSPATH
+ * @param imageName the package and name of the file to load relative to the CLASSPATH
+ * @return an ImageIcon instance with the specified image file
+ * @throws IllegalArgumentException if the image resource cannot be loaded.
+ */
+ public ImageIcon loadImage( String imageName )
+ {
+ try
+ {
+ ClassLoader classloader = getClass().getClassLoader();
+ java.net.URL url = classloader.getResource( imageName );
+ if ( url != null )
+ {
+ ImageIcon icon = new ImageIcon( url );
+ return icon;
+ }
+ }
+ catch( Exception e )
+ {
+ e.printStackTrace();
+ }
+ throw new IllegalArgumentException( "Unable to load image: " + imageName );
+ }
+
+ public JPanel createPanel()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE","CENTER:3DLU:NONE,FILL:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _tab.setName("tab");
+ _tab.addTab("Basic",null,createPanel1());
+ _tab.addTab("Header",null,createPanel2());
+ _tab.addTab("JRE",null,createPanel3());
+ _tab.addTab("Splash",null,createPanel5());
+ _tab.addTab("Version Info",null,createPanel6());
+ jpanel1.add(_tab,cc.xy(2,2));
+
+ _logTextArea.setName("logTextArea");
+ JScrollPane jscrollpane1 = new JScrollPane();
+ jscrollpane1.setViewportView(_logTextArea);
+ jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+ jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ jpanel1.add(jscrollpane1,cc.xy(2,6));
+
+ _logSeparator.setName("logSeparator");
+ _logSeparator.setText("Log");
+ jpanel1.add(_logSeparator,cc.xy(2,4));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5,6,7 });
+ return jpanel1;
+ }
+
+ public JPanel createPanel1()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:26PX:NONE,FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _outfileButton.setIcon(loadImage("images/open16.png"));
+ _outfileButton.setName("outfileButton");
+ jpanel1.add(_outfileButton,cc.xy(6,2));
+
+ _outfileLabel.setName("outfileLabel");
+ _outfileLabel.setText("<html><b>Output file</b></html>");
+ jpanel1.add(_outfileLabel,cc.xy(2,2));
+
+ _errorTitleLabel.setName("errorTitleLabel");
+ _errorTitleLabel.setText("Error title");
+ jpanel1.add(_errorTitleLabel,cc.xy(2,14));
+
+ _outfileField.setName("outfileField");
+ _outfileField.setToolTipText("Output executable file.");
+ jpanel1.add(_outfileField,cc.xy(4,2));
+
+ _errorTitleField.setName("errorTitleField");
+ _errorTitleField.setToolTipText("Launch4j signals errors using a message box, you can set it's title to the application's name.");
+ jpanel1.add(_errorTitleField,cc.xy(4,14));
+
+ _customProcNameCheck.setActionCommand("Custom process name");
+ _customProcNameCheck.setName("customProcNameCheck");
+ _customProcNameCheck.setText("Custom process name");
+ jpanel1.add(_customProcNameCheck,cc.xy(4,16));
+
+ _stayAliveCheck.setActionCommand("Stay alive after launching a GUI application");
+ _stayAliveCheck.setName("stayAliveCheck");
+ _stayAliveCheck.setText("Stay alive after launching a GUI application");
+ jpanel1.add(_stayAliveCheck,cc.xy(4,18));
+
+ _iconLabel.setName("iconLabel");
+ _iconLabel.setText("Icon");
+ jpanel1.add(_iconLabel,cc.xy(2,8));
+
+ _iconField.setName("iconField");
+ _iconField.setToolTipText("Application icon.");
+ jpanel1.add(_iconField,cc.xy(4,8));
+
+ _jarField.setName("jarField");
+ _jarField.setToolTipText("Application jar.");
+ jpanel1.add(_jarField,cc.xy(4,4));
+
+ _jarLabel.setName("jarLabel");
+ _jarLabel.setText("<html><b>Jar</b></html>");
+ jpanel1.add(_jarLabel,cc.xy(2,4));
+
+ _jarButton.setIcon(loadImage("images/open16.png"));
+ _jarButton.setName("jarButton");
+ jpanel1.add(_jarButton,cc.xy(6,4));
+
+ _iconButton.setIcon(loadImage("images/open16.png"));
+ _iconButton.setName("iconButton");
+ jpanel1.add(_iconButton,cc.xy(6,8));
+
+ _jarArgsLabel.setName("jarArgsLabel");
+ _jarArgsLabel.setText("Jar arguments");
+ jpanel1.add(_jarArgsLabel,cc.xy(2,12));
+
+ _jarArgsField.setName("jarArgsField");
+ _jarArgsField.setToolTipText("Constant command line arguments passed to the application.");
+ jpanel1.add(_jarArgsField,cc.xy(4,12));
+
+ _optionsLabel.setName("optionsLabel");
+ _optionsLabel.setText("Options");
+ jpanel1.add(_optionsLabel,cc.xy(2,16));
+
+ _chdirLabel.setName("chdirLabel");
+ _chdirLabel.setText("Change dir");
+ jpanel1.add(_chdirLabel,cc.xy(2,10));
+
+ _chdirField.setName("chdirField");
+ _chdirField.setToolTipText("Change current directory to a location relative to the executable. Empty field has no effect, . - changes directory to the exe location.");
+ jpanel1.add(_chdirField,cc.xy(4,10));
+
+ _dontWrapJarCheck.setActionCommand("Don't wrap the jar, launch it only");
+ _dontWrapJarCheck.setName("dontWrapJarCheck");
+ _dontWrapJarCheck.setText("Don't wrap the jar, launch only");
+ jpanel1.add(_dontWrapJarCheck,cc.xy(4,6));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19 });
+ return jpanel1;
+ }
+
+ public JPanel createPanel2()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(0.2),CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:9DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _headerTypeLabel.setName("headerTypeLabel");
+ _headerTypeLabel.setText("Header type");
+ jpanel1.add(_headerTypeLabel,cc.xy(2,2));
+
+ _guiHeaderRadio.setActionCommand("GUI");
+ _guiHeaderRadio.setName("guiHeaderRadio");
+ _guiHeaderRadio.setText("GUI");
+ _headerButtonGroup.add(_guiHeaderRadio);
+ jpanel1.add(_guiHeaderRadio,cc.xy(4,2));
+
+ _consoleHeaderRadio.setActionCommand("Console");
+ _consoleHeaderRadio.setName("consoleHeaderRadio");
+ _consoleHeaderRadio.setText("Console");
+ _headerButtonGroup.add(_consoleHeaderRadio);
+ jpanel1.add(_consoleHeaderRadio,cc.xy(6,2));
+
+ _headerObjectsTextArea.setName("headerObjectsTextArea");
+ JScrollPane jscrollpane1 = new JScrollPane();
+ jscrollpane1.setViewportView(_headerObjectsTextArea);
+ jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+ jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ jpanel1.add(jscrollpane1,cc.xywh(4,6,4,1));
+
+ _libsTextArea.setName("libsTextArea");
+ JScrollPane jscrollpane2 = new JScrollPane();
+ jscrollpane2.setViewportView(_libsTextArea);
+ jscrollpane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+ jscrollpane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ jpanel1.add(jscrollpane2,cc.xywh(4,8,4,1));
+
+ _headerObjectsCheck.setActionCommand("Object files");
+ _headerObjectsCheck.setName("headerObjectsCheck");
+ _headerObjectsCheck.setText("Object files");
+ jpanel1.add(_headerObjectsCheck,new CellConstraints(2,6,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+ _libsCheck.setActionCommand("w32api");
+ _libsCheck.setName("libsCheck");
+ _libsCheck.setText("w32api");
+ jpanel1.add(_libsCheck,new CellConstraints(2,8,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+ _linkerOptionsSeparator.setName("linkerOptionsSeparator");
+ _linkerOptionsSeparator.setText("Custom header - linker options");
+ jpanel1.add(_linkerOptionsSeparator,cc.xywh(2,4,6,1));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8 },new int[]{ 1,2,3,4,5,6,7,8,9 });
+ return jpanel1;
+ }
+
+ public JPanel createPanel3()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:3DLU:NONE,FILL:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _jrePathLabel.setName("jrePathLabel");
+ _jrePathLabel.setText("<html><b>Emb. JRE path</b></html>");
+ jpanel1.add(_jrePathLabel,cc.xy(2,2));
+
+ _jreMinLabel.setName("jreMinLabel");
+ _jreMinLabel.setText("<html><b>Min JRE version</b></html>");
+ jpanel1.add(_jreMinLabel,cc.xy(2,4));
+
+ _jreMaxLabel.setName("jreMaxLabel");
+ _jreMaxLabel.setText("Max JRE version");
+ jpanel1.add(_jreMaxLabel,cc.xy(2,6));
+
+ _jvmArgsTextLabel.setName("jvmArgsTextLabel");
+ _jvmArgsTextLabel.setText("JVM arguments");
+ jpanel1.add(_jvmArgsTextLabel,new CellConstraints(2,12,1,1,CellConstraints.DEFAULT,CellConstraints.TOP));
+
+ _jrePathField.setName("jrePathField");
+ _jrePathField.setToolTipText("Embedded JRE path relative to the executable.");
+ jpanel1.add(_jrePathField,cc.xywh(4,2,4,1));
+
+ _jreMinField.setName("jreMinField");
+ jpanel1.add(_jreMinField,cc.xy(4,4));
+
+ _jreMaxField.setName("jreMaxField");
+ jpanel1.add(_jreMaxField,cc.xy(4,6));
+
+ _jvmArgsTextArea.setName("jvmArgsTextArea");
+ _jvmArgsTextArea.setToolTipText("Accepts everything you would normally pass to java/javaw launcher: assertion options, system properties and X options.");
+ JScrollPane jscrollpane1 = new JScrollPane();
+ jscrollpane1.setViewportView(_jvmArgsTextArea);
+ jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+ jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ jpanel1.add(jscrollpane1,cc.xywh(4,12,4,1));
+
+ _initialHeapSizeLabel.setName("initialHeapSizeLabel");
+ _initialHeapSizeLabel.setText("Initial heap size");
+ jpanel1.add(_initialHeapSizeLabel,cc.xy(2,8));
+
+ _maxHeapSizeLabel.setName("maxHeapSizeLabel");
+ _maxHeapSizeLabel.setText("Max heap size");
+ jpanel1.add(_maxHeapSizeLabel,cc.xy(2,10));
+
+ JLabel jlabel1 = new JLabel();
+ jlabel1.setText("MB");
+ jpanel1.add(jlabel1,cc.xy(6,8));
+
+ JLabel jlabel2 = new JLabel();
+ jlabel2.setText("MB");
+ jpanel1.add(jlabel2,cc.xy(6,10));
+
+ _initialHeapSizeField.setName("initialHeapSizeField");
+ jpanel1.add(_initialHeapSizeField,cc.xy(4,8));
+
+ _maxHeapSizeField.setName("maxHeapSizeField");
+ jpanel1.add(_maxHeapSizeField,cc.xy(4,10));
+
+ jpanel1.add(createPanel4(),cc.xywh(4,14,4,1));
+ _addVarsLabel.setName("addVarsLabel");
+ _addVarsLabel.setText("Add variables");
+ jpanel1.add(_addVarsLabel,cc.xy(2,14));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 });
+ return jpanel1;
+ }
+
+ public JPanel createPanel4()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:7DLU:NONE,FILL:DEFAULT:NONE,FILL:3DLU:NONE,FILL:60DLU:GROW(1.0),FILL:3DLU:NONE,FILL:DEFAULT:NONE","CENTER:DEFAULT:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _otherVarRadio.setActionCommand("Other");
+ _otherVarRadio.setName("otherVarRadio");
+ _otherVarRadio.setText("Other");
+ _buttongroup1.add(_otherVarRadio);
+ jpanel1.add(_otherVarRadio,cc.xy(5,1));
+
+ _otherVarField.setName("otherVarField");
+ jpanel1.add(_otherVarField,cc.xy(7,1));
+
+ _addVarButton.setActionCommand("Add");
+ _addVarButton.setIcon(loadImage("images/edit_add16.png"));
+ _addVarButton.setName("addVarButton");
+ _addVarButton.setText("Add");
+ jpanel1.add(_addVarButton,cc.xy(9,1));
+
+ _exeDirRadio.setActionCommand("%EXEPATH%");
+ _exeDirRadio.setName("exeDirRadio");
+ _exeDirRadio.setText("EXEDIR");
+ _buttongroup1.add(_exeDirRadio);
+ jpanel1.add(_exeDirRadio,cc.xy(1,1));
+
+ _exeFileRadio.setActionCommand("%EXEFILE%");
+ _exeFileRadio.setName("exeFileRadio");
+ _exeFileRadio.setText("EXEFILE");
+ _buttongroup1.add(_exeFileRadio);
+ jpanel1.add(_exeFileRadio,cc.xy(3,1));
+
+ addFillComponents(jpanel1,new int[]{ 2,4,6,8 },new int[0]);
+ return jpanel1;
+ }
+
+ public JPanel createPanel5()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:3DLU:NONE,FILL:26PX:NONE,FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _splashFileLabel.setName("splashFileLabel");
+ _splashFileLabel.setText("Splash file");
+ jpanel1.add(_splashFileLabel,cc.xy(2,4));
+
+ _waitForWindowLabel.setName("waitForWindowLabel");
+ _waitForWindowLabel.setText("Wait for window");
+ jpanel1.add(_waitForWindowLabel,cc.xy(2,6));
+
+ _timeoutLabel.setName("timeoutLabel");
+ _timeoutLabel.setText("Timeout [s]");
+ jpanel1.add(_timeoutLabel,cc.xy(2,8));
+
+ _timeoutErrCheck.setActionCommand("Signal error on timeout");
+ _timeoutErrCheck.setName("timeoutErrCheck");
+ _timeoutErrCheck.setText("Signal error on timeout");
+ _timeoutErrCheck.setToolTipText("True signals an error on splash timeout, false closes the splash screen quietly.");
+ jpanel1.add(_timeoutErrCheck,cc.xywh(4,10,2,1));
+
+ _splashFileField.setName("splashFileField");
+ _splashFileField.setToolTipText("Splash screen file in BMP format.");
+ jpanel1.add(_splashFileField,cc.xywh(4,4,2,1));
+
+ _timeoutField.setName("timeoutField");
+ _timeoutField.setToolTipText("Number of seconds after which the splash screen must close. Splash timeout may cause an error depending on splashTimeoutErr property.");
+ jpanel1.add(_timeoutField,cc.xy(4,8));
+
+ _splashFileButton.setIcon(loadImage("images/open16.png"));
+ _splashFileButton.setName("splashFileButton");
+ jpanel1.add(_splashFileButton,cc.xy(7,4));
+
+ _splashCheck.setActionCommand("Enable splash screen");
+ _splashCheck.setName("splashCheck");
+ _splashCheck.setText("Enable splash screen");
+ jpanel1.add(_splashCheck,cc.xywh(4,2,2,1));
+
+ _waitForWindowCheck.setActionCommand("Close splash screen when an application window appears");
+ _waitForWindowCheck.setName("waitForWindowCheck");
+ _waitForWindowCheck.setText("Close splash screen when an application window appears");
+ jpanel1.add(_waitForWindowCheck,cc.xywh(4,6,2,1));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11 });
+ return jpanel1;
+ }
+
+ public JPanel createPanel6()
+ {
+ JPanel jpanel1 = new JPanel();
+ FormLayout formlayout1 = new FormLayout("FILL:7DLU:NONE,RIGHT:MAX(65DLU;DEFAULT):NONE,FILL:3DLU:NONE,FILL:60DLU:NONE,FILL:7DLU:NONE,RIGHT:DEFAULT:NONE,FILL:3DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:7DLU:NONE","CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:3DLU:NONE,CENTER:DEFAULT:NONE,CENTER:9DLU:NONE");
+ CellConstraints cc = new CellConstraints();
+ jpanel1.setLayout(formlayout1);
+
+ _versionInfoCheck.setActionCommand("Add version information");
+ _versionInfoCheck.setName("versionInfoCheck");
+ _versionInfoCheck.setText("Add version information");
+ jpanel1.add(_versionInfoCheck,cc.xywh(4,2,5,1));
+
+ _fileVersionLabel.setName("fileVersionLabel");
+ _fileVersionLabel.setText("File version");
+ jpanel1.add(_fileVersionLabel,cc.xy(2,4));
+
+ _fileVersionField.setName("fileVersionField");
+ _fileVersionField.setToolTipText("Version number 'x.x.x.x'");
+ jpanel1.add(_fileVersionField,cc.xy(4,4));
+
+ _addVersionInfoSeparator.setName("addVersionInfoSeparator");
+ _addVersionInfoSeparator.setText("Additional information");
+ jpanel1.add(_addVersionInfoSeparator,cc.xywh(2,10,7,1));
+
+ _productVersionLabel.setName("productVersionLabel");
+ _productVersionLabel.setText("Product version");
+ jpanel1.add(_productVersionLabel,cc.xy(2,12));
+
+ _productVersionField.setName("productVersionField");
+ _productVersionField.setToolTipText("Version number 'x.x.x.x'");
+ jpanel1.add(_productVersionField,cc.xy(4,12));
+
+ _fileDescriptionLabel.setName("fileDescriptionLabel");
+ _fileDescriptionLabel.setText("File description");
+ jpanel1.add(_fileDescriptionLabel,cc.xy(2,6));
+
+ _fileDescriptionField.setName("fileDescriptionField");
+ _fileDescriptionField.setToolTipText("File description presented to the user.");
+ jpanel1.add(_fileDescriptionField,cc.xywh(4,6,5,1));
+
+ _copyrightLabel.setName("copyrightLabel");
+ _copyrightLabel.setText("Copyright");
+ jpanel1.add(_copyrightLabel,cc.xy(2,8));
+
+ _copyrightField.setName("copyrightField");
+ jpanel1.add(_copyrightField,cc.xywh(4,8,5,1));
+
+ _txtFileVersionLabel.setName("txtFileVersionLabel");
+ _txtFileVersionLabel.setText("Free form");
+ jpanel1.add(_txtFileVersionLabel,cc.xy(6,4));
+
+ _txtFileVersionField.setName("txtFileVersionField");
+ _txtFileVersionField.setToolTipText("Free form file version, for example '1.20.RC1'.");
+ jpanel1.add(_txtFileVersionField,cc.xy(8,4));
+
+ _txtProductVersionLabel.setName("txtProductVersionLabel");
+ _txtProductVersionLabel.setText("Free form");
+ jpanel1.add(_txtProductVersionLabel,cc.xy(6,12));
+
+ _txtProductVersionField.setName("txtProductVersionField");
+ _txtProductVersionField.setToolTipText("Free form product version, for example '1.20.RC1'.");
+ jpanel1.add(_txtProductVersionField,cc.xy(8,12));
+
+ _productNameLabel.setName("productNameLabel");
+ _productNameLabel.setText("Product name");
+ jpanel1.add(_productNameLabel,cc.xy(2,14));
+
+ _productNameField.setName("productNameField");
+ jpanel1.add(_productNameField,cc.xywh(4,14,5,1));
+
+ _originalFilenameLabel.setName("originalFilenameLabel");
+ _originalFilenameLabel.setText("Original filename");
+ jpanel1.add(_originalFilenameLabel,cc.xy(2,20));
+
+ _originalFilenameField.setName("originalFilenameField");
+ _originalFilenameField.setToolTipText("Original name of the file without the path. Allows to determine whether a file has been renamed by a user.");
+ jpanel1.add(_originalFilenameField,cc.xywh(4,20,5,1));
+
+ _internalNameLabel.setName("internalNameLabel");
+ _internalNameLabel.setText("Internal name");
+ jpanel1.add(_internalNameLabel,cc.xy(2,18));
+
+ _internalNameField.setName("internalNameField");
+ _internalNameField.setToolTipText("Internal name without extension, original filename or module name for example.");
+ jpanel1.add(_internalNameField,cc.xywh(4,18,5,1));
+
+ _companyNameLabel.setName("companyNameLabel");
+ _companyNameLabel.setText("Company name");
+ jpanel1.add(_companyNameLabel,cc.xy(2,16));
+
+ _companyNameField.setName("companyNameField");
+ jpanel1.add(_companyNameField,cc.xywh(4,16,5,1));
+
+ addFillComponents(jpanel1,new int[]{ 1,2,3,4,5,6,7,8,9 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 });
+ return jpanel1;
+ }
+
+ /**
+ * Initializer
+ */
+ protected void initializePanel()
+ {
+ setLayout(new BorderLayout());
+ add(createPanel(), BorderLayout.CENTER);
+ }
+
+
+}