summaryrefslogtreecommitdiff
path: root/xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-08-19 22:27:03 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-08-19 21:25:05 +0000
commit4ca751c002784c4bfd349cc5240b045b62277c80 (patch)
treedfc17b31990e2429535609b85f6d080c4fa0d9fe /xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java
parent890d9a2952301682ffecaed4495f5f65c84c3642 (diff)
parent060e58b3afea3ea39f5ba1cb5a443ca3ebda28c8 (diff)
downloadidea-4ca751c002784c4bfd349cc5240b045b62277c80.tar.gz
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java')
-rw-r--r--xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java b/xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java
new file mode 100644
index 000000000000..edbef65543af
--- /dev/null
+++ b/xml/impl/src/org/jetbrains/builtInWebServer/BuiltInServerConfigurableUi.java
@@ -0,0 +1,47 @@
+package org.jetbrains.builtInWebServer;
+
+import com.intellij.openapi.options.ConfigurableUi;
+import com.intellij.ui.PortField;
+import org.jetbrains.annotations.NotNull;
+
+import javax.swing.*;
+
+class BuiltInServerConfigurableUi implements ConfigurableUi<BuiltInServerOptions> {
+ private JPanel mainPanel;
+
+ private PortField builtInServerPort;
+ private JCheckBox builtInServerAvailableExternallyCheckBox;
+
+ public BuiltInServerConfigurableUi() {
+ builtInServerPort.setMin(1024);
+ }
+
+ @Override
+ @NotNull
+ public JComponent getComponent() {
+ return mainPanel;
+ }
+
+ @Override
+ public boolean isModified(@NotNull BuiltInServerOptions settings) {
+ return builtInServerPort.getNumber() != settings.builtInServerPort ||
+ builtInServerAvailableExternallyCheckBox.isSelected() != settings.builtInServerAvailableExternally;
+ }
+
+ @Override
+ public void apply(@NotNull BuiltInServerOptions settings) {
+ boolean builtInServerPortChanged = settings.builtInServerPort != builtInServerPort.getNumber() || settings.builtInServerAvailableExternally != builtInServerAvailableExternallyCheckBox.isSelected();
+ if (builtInServerPortChanged) {
+ settings.builtInServerPort = builtInServerPort.getNumber();
+ settings.builtInServerAvailableExternally = builtInServerAvailableExternallyCheckBox.isSelected();
+
+ BuiltInServerOptions.onBuiltInServerPortChanged();
+ }
+ }
+
+ @Override
+ public void reset(@NotNull BuiltInServerOptions settings) {
+ builtInServerPort.setNumber(settings.builtInServerPort);
+ builtInServerAvailableExternallyCheckBox.setSelected(settings.builtInServerAvailableExternally);
+ }
+}