summaryrefslogtreecommitdiff
path: root/java/src/IceGridGUI/Application/ServiceSubEditor.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceGridGUI/Application/ServiceSubEditor.java')
-rwxr-xr-xjava/src/IceGridGUI/Application/ServiceSubEditor.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/Application/ServiceSubEditor.java b/java/src/IceGridGUI/Application/ServiceSubEditor.java
new file mode 100755
index 00000000000..313194ebcd6
--- /dev/null
+++ b/java/src/IceGridGUI/Application/ServiceSubEditor.java
@@ -0,0 +1,104 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2005 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+package IceGridGUI.Application;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.JFrame;
+import javax.swing.JTextField;
+
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+
+import IceGrid.*;
+import IceGridGUI.*;
+
+class ServiceSubEditor extends CommunicatorSubEditor
+{
+ ServiceSubEditor(Editor mainEditor, JFrame parentFrame)
+ {
+ super(mainEditor, parentFrame);
+
+ _name.getDocument().addDocumentListener(
+ _mainEditor.getUpdateListener());
+ _name.setToolTipText("Identifies this service within an IceBox server");
+
+ _entry.getDocument().addDocumentListener(
+ _mainEditor.getUpdateListener());
+ _entry.setToolTipText(
+ "<html>The service entry point and optional arguments.<br>"
+ + "C++: <i>shared object:function-name arg1 arg2 ...</i><br>"
+ + "Java: <i>class-name arg1 arg2 ...</i><br>"
+ + "C#, Visual Basic: <i>assembly:class-name arg1 arg2 ...</i>"
+ + "</html>");
+ }
+
+ ServiceDescriptor getServiceDescriptor()
+ {
+ return (ServiceDescriptor)
+ _mainEditor.getSubDescriptor();
+ }
+
+ void appendProperties(DefaultFormBuilder builder)
+ {
+ builder.append("Service Name");
+ builder.append(_name, 3);
+ builder.nextLine();
+
+ //
+ // Add Communicator fields
+ //
+ super.appendProperties(builder);
+
+ builder.append("Entry Point");
+ builder.append(_entry, 3);
+ builder.nextLine();
+ }
+
+ void writeDescriptor()
+ {
+ ServiceDescriptor descriptor = getServiceDescriptor();
+ descriptor.name = _name.getText();
+ descriptor.entry = _entry.getText();
+ super.writeDescriptor(descriptor);
+ }
+
+ boolean isSimpleUpdate()
+ {
+ return getServiceDescriptor().name.equals(_name.getText());
+ }
+
+ void show(boolean isEditable)
+ {
+ ServiceDescriptor descriptor = getServiceDescriptor();
+ Utils.Resolver detailResolver = _mainEditor.getDetailResolver();
+
+ isEditable = isEditable && (detailResolver == null);
+
+ if(detailResolver != null)
+ {
+ _name.setText(detailResolver.find("service"));
+ }
+ else
+ {
+ _name.setText(descriptor.name);
+ }
+ _name.setEditable(isEditable);
+
+ _entry.setText(
+ Utils.substitute(descriptor.entry, detailResolver));
+ _entry.setEditable(isEditable);
+
+ show(descriptor, isEditable);
+ }
+
+ private JTextField _name = new JTextField(20);
+ private JTextField _entry = new JTextField(20);
+}