From 20744ae1f1182d08e26b175f59d14041aabaf754 Mon Sep 17 00:00:00 2001 From: Bernard Normier Date: Wed, 29 Mar 2006 21:21:02 +0000 Subject: IceGrid GUI refactoring --- .../IceGridGUI/Application/ServiceSubEditor.java | 104 +++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 java/src/IceGridGUI/Application/ServiceSubEditor.java (limited to 'java/src/IceGridGUI/Application/ServiceSubEditor.java') 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( + "The service entry point and optional arguments.
" + + "C++: shared object:function-name arg1 arg2 ...
" + + "Java: class-name arg1 arg2 ...
" + + "C#, Visual Basic: assembly:class-name arg1 arg2 ..." + + ""); + } + + 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); +} -- cgit v1.2.3