diff options
author | Saad Mohammad <[email protected]> | 2012-12-05 12:29:24 -0500 |
---|---|---|
committer | Saad Mohammad <[email protected]> | 2012-12-05 12:29:24 -0500 |
commit | 32d774ac5311656b21576bc3259ad0abff0b7f56 (patch) | |
tree | f5a41e54abc90f9335e3d940a5556422566043b6 /netx/net/sourceforge | |
parent | 7be1687bb1c3dc011805824509a1765518506590 (diff) |
PR1217: Add command line arguments for plugins
Diffstat (limited to 'netx/net/sourceforge')
5 files changed, 104 insertions, 0 deletions
diff --git a/netx/net/sourceforge/jnlp/config/Defaults.java b/netx/net/sourceforge/jnlp/config/Defaults.java index 48bec09..8b9785a 100644 --- a/netx/net/sourceforge/jnlp/config/Defaults.java +++ b/netx/net/sourceforge/jnlp/config/Defaults.java @@ -378,6 +378,12 @@ public class Defaults { DeploymentConfiguration.KEY_UPDATE_TIMEOUT, BasicValueValidators.getRangedIntegerValidator(0, 10000), String.valueOf(500) + }, + //JVM arguments for plugin + { + DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS, + null, + null } }; diff --git a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java index 0d4875b..c7e3e33 100644 --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java @@ -158,6 +158,11 @@ public final class DeploymentConfiguration { public static final String KEY_BROWSER_PATH = "deployment.browser.path"; public static final String KEY_UPDATE_TIMEOUT = "deployment.javaws.update.timeout"; + /* + * JVM arguments for plugin + */ + public static final String KEY_PLUGIN_JVM_ARGUMENTS= "deployment.plugin.jvm.arguments"; + public enum ConfigType { System, User } diff --git a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java index f1eb003..a53bb81 100644 --- a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java +++ b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java @@ -226,6 +226,7 @@ public class ControlPanel extends JFrame { // new SettingsPanel(Translator.R("CPTabClassLoader"), createClassLoaderSettingsPanel()), new SettingsPanel(Translator.R("CPTabDebugging"), createDebugSettingsPanel()), new SettingsPanel(Translator.R("CPTabDesktopIntegration"), createDesktopSettingsPanel()), + new SettingsPanel(Translator.R("CPTabJVMSettings"), createJVMSettingsPanel()), new SettingsPanel(Translator.R("CPTabNetwork"), createNetworkSettingsPanel()), // TODO: This is commented out since this is not implemented yet // new SettingsPanel(Translator.R("CPTabRuntimes"), createRuntimesSettingsPanel()), @@ -319,6 +320,10 @@ public class ControlPanel extends JFrame { return new SecuritySettingsPanel(this.config); } + private JPanel createJVMSettingsPanel() { + return new JVMPanel(this.config); + } + /** * This is a placeholder panel. * diff --git a/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java b/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java new file mode 100644 index 0000000..91f5b1c --- /dev/null +++ b/netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java @@ -0,0 +1,85 @@ +/* PluginPanel.java +Copyright (C) 2012, Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea 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, version 2. + +IcedTea 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 IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. +*/ +package net.sourceforge.jnlp.controlpanel; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; + +import javax.swing.Box; +import javax.swing.JLabel; +import javax.swing.JTextField; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.runtime.Translator; + +@SuppressWarnings("serial") +public class JVMPanel extends NamedBorderPanel { + private DeploymentConfiguration config; + + JVMPanel(DeploymentConfiguration config) { + super(Translator.R("CPHeadJVMSettings"), new GridBagLayout()); + this.config = config; + addComponents(); + } + + private void addComponents() { + JLabel description = new JLabel("<html>" + Translator.R("CPJVMPluginArguments") + "<hr /></html>"); + JTextField testFieldArguments = new JTextField(25); + + testFieldArguments.getDocument().addDocumentListener(new DocumentAdapter(config, DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS)); + testFieldArguments.setText(config.getProperty(DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS)); + + // Filler to pack the bottom of the panel. + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.weightx = 1; + c.gridx = 0; + c.gridy = 0; + + this.add(description, c); + c.gridy++; + this.add(testFieldArguments, c); + + // This is to keep it from expanding vertically if resized. + Component filler = Box.createRigidArea(new Dimension(1, 1)); + c.gridy++; + c.weighty++; + this.add(filler, c); + } +} diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties index 2d91f55..1fde3d3 100644 --- a/netx/net/sourceforge/jnlp/resources/Messages.properties +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties @@ -300,6 +300,7 @@ CPCertificatesDescription=Use certificates to positively identify yourself, cert CPSecurityDescription=Use this to configure security settings.
CPDebuggingDescription=Enable options here to help with debugging
CPDesktopIntegrationDescription=Set whether or not to allow creation of desktop shortcut.
+CPJVMPluginArguments=Set JVM arguments for plugin.
# Control Panel - Buttons
CPButAbout=About...
@@ -318,6 +319,7 @@ CPHeadCertificates=Certificates CPHeadDebugging=Debugging Settings
CPHeadDesktopIntegration=Desktop Integrations
CPHeadSecurity=Security Settings
+CPHeadJVMSettings=JVM Settings
# Control Panel - Tabs
CPTabAbout=About IcedTea-Web
@@ -329,6 +331,7 @@ CPTabDesktopIntegration=Desktop Integration CPTabNetwork=Network
CPTabRuntimes=Runtimes
CPTabSecurity=Security
+CPTabJVMSettings=JVM Settings
# Control Panel - AboutPanel
CPAboutInfo=This is the control panel for setting deployments.properties.<br/>Not all options will take effect until implemented.<br/>The use of multiple JREs is currently unsupported.<br/>
|