diff options
Diffstat (limited to 'java/src/IceGridGUI/Application/TemplateEditor.java')
-rwxr-xr-x | java/src/IceGridGUI/Application/TemplateEditor.java | 416 |
1 files changed, 208 insertions, 208 deletions
diff --git a/java/src/IceGridGUI/Application/TemplateEditor.java b/java/src/IceGridGUI/Application/TemplateEditor.java index d06f37f0ac6..7f40fe78b22 100755 --- a/java/src/IceGridGUI/Application/TemplateEditor.java +++ b/java/src/IceGridGUI/Application/TemplateEditor.java @@ -1,208 +1,208 @@ -// **********************************************************************
-//
-// Copyright (c) 2003-2006 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.JButton;
-import javax.swing.JOptionPane;
-import javax.swing.JScrollPane;
-import javax.swing.JTextField;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-
-import IceGrid.*;
-import IceGridGUI.*;
-
-class TemplateEditor extends Editor
-{
- TemplateEditor()
- {
- _template.getDocument().addDocumentListener(_updateListener);
- _template.setToolTipText("Must be unique within the enclosing application");
-
- _parameters = new ParametersField(this);
- }
-
- TemplateDescriptor getDescriptor()
- {
- return (TemplateDescriptor)_target.getDescriptor();
- }
-
- Object getSubDescriptor()
- {
- return getDescriptor().descriptor;
- }
-
- void writeDescriptor()
- {
- TemplateDescriptor descriptor = getDescriptor();
- java.util.LinkedList parameters = new java.util.LinkedList();
- descriptor.parameterDefaults = _parameters.get(parameters);
- descriptor.parameters = parameters;
- }
-
- boolean isSimpleUpdate()
- {
- TemplateDescriptor descriptor = getDescriptor();
- java.util.List parameters = new java.util.LinkedList();
- java.util.Map defaultValues = _parameters.get(parameters);
-
- return descriptor.parameters.equals(parameters)
- && descriptor.parameterDefaults.equals(defaultValues);
- }
-
- protected void appendProperties(DefaultFormBuilder builder)
- {
- builder.append("Template ID");
- builder.append(_template, 3);
- builder.nextLine();
-
- builder.append("Parameters");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
-
- builder.nextRow(-6);
- JScrollPane scrollPane = new JScrollPane(_parameters);
- CellConstraints cc = new CellConstraints();
- builder.add(scrollPane,
- cc.xywh(builder.getColumn(), builder.getRow(), 3, 7));
- builder.nextRow(6);
- builder.nextLine();
- }
-
- protected boolean validate()
- {
- return check(new String[]{"Template ID", _template.getText().trim()});
- }
-
- void show()
- {
- TemplateDescriptor descriptor = getDescriptor();
- _template.setText(_target.getId());
- _template.setEditable(_target.isEphemeral());
-
- _parameters.set(descriptor.parameters, descriptor.parameterDefaults);
- }
-
- protected boolean applyUpdate()
- {
- Root root = _target.getRoot();
- root.disableSelectionListener();
-
- try
- {
- if(_target.isEphemeral())
- {
- writeDescriptor();
- TemplateDescriptor descriptor = getDescriptor();
- Templates parent = (Templates)_target.getParent();
- _target.destroy(); // just removes the child
-
- try
- {
- parent.tryAdd(_template.getText().trim(), descriptor);
- }
- catch(UpdateFailedException e)
- {
- //
- // Re-add ephemeral child
- //
- try
- {
- parent.insertChild(_target, true);
- }
- catch(UpdateFailedException die)
- {
- assert false;
- }
- root.setSelectedNode(_target);
-
- JOptionPane.showMessageDialog(
- _target.getCoordinator().getMainFrame(),
- e.toString(),
- "Apply failed",
- JOptionPane.ERROR_MESSAGE);
- return false;
- }
-
- //
- // Success
- //
- _target = parent.findChildWithDescriptor(descriptor);
- root.updated();
- root.setSelectedNode(_target);
- _template.setEditable(false);
- }
- else if(isSimpleUpdate())
- {
- writeDescriptor();
- ((Communicator)_target).getEnclosingEditable().markModified();
- root.updated();
-
- }
- else
- {
- //
- // Save to be able to rollback
- //
- Object savedDescriptor = ((Communicator)_target).saveDescriptor();
- Templates parent = (Templates)_target.getParent();
- writeDescriptor();
-
- try
- {
- parent.tryUpdate((Communicator)_target);
- }
- catch(UpdateFailedException e)
- {
- ((Communicator)_target).restoreDescriptor(savedDescriptor);
-
- JOptionPane.showMessageDialog(
- _target.getCoordinator().getMainFrame(),
- e.toString(),
- "Apply failed",
- JOptionPane.ERROR_MESSAGE);
- //
- // Everything was restored, user must deal with error
- //
- return false;
- }
-
- //
- // Success
- //
- ((Communicator)_target).getEnclosingEditable().markModified();
- root.updated();
-
- _target = parent.findChildWithDescriptor(getDescriptor());
- root.setSelectedNode(_target);
- }
-
- root.getCoordinator().getCurrentTab().showNode(_target);
- _applyButton.setEnabled(false);
- _discardButton.setEnabled(false);
- return true;
- }
- finally
- {
- root.enableSelectionListener();
- }
- }
-
- private JTextField _template = new JTextField(20);
- private ParametersField _parameters;
-}
+// ********************************************************************** +// +// Copyright (c) 2003-2006 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.JButton; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.JTextField; + +import com.jgoodies.forms.builder.DefaultFormBuilder; +import com.jgoodies.forms.layout.CellConstraints; + +import IceGrid.*; +import IceGridGUI.*; + +class TemplateEditor extends Editor +{ + TemplateEditor() + { + _template.getDocument().addDocumentListener(_updateListener); + _template.setToolTipText("Must be unique within the enclosing application"); + + _parameters = new ParametersField(this); + } + + TemplateDescriptor getDescriptor() + { + return (TemplateDescriptor)_target.getDescriptor(); + } + + Object getSubDescriptor() + { + return getDescriptor().descriptor; + } + + void writeDescriptor() + { + TemplateDescriptor descriptor = getDescriptor(); + java.util.LinkedList parameters = new java.util.LinkedList(); + descriptor.parameterDefaults = _parameters.get(parameters); + descriptor.parameters = parameters; + } + + boolean isSimpleUpdate() + { + TemplateDescriptor descriptor = getDescriptor(); + java.util.List parameters = new java.util.LinkedList(); + java.util.Map defaultValues = _parameters.get(parameters); + + return descriptor.parameters.equals(parameters) + && descriptor.parameterDefaults.equals(defaultValues); + } + + protected void appendProperties(DefaultFormBuilder builder) + { + builder.append("Template ID"); + builder.append(_template, 3); + builder.nextLine(); + + builder.append("Parameters"); + builder.nextLine(); + builder.append(""); + builder.nextLine(); + builder.append(""); + builder.nextLine(); + builder.append(""); + + builder.nextRow(-6); + JScrollPane scrollPane = new JScrollPane(_parameters); + CellConstraints cc = new CellConstraints(); + builder.add(scrollPane, + cc.xywh(builder.getColumn(), builder.getRow(), 3, 7)); + builder.nextRow(6); + builder.nextLine(); + } + + protected boolean validate() + { + return check(new String[]{"Template ID", _template.getText().trim()}); + } + + void show() + { + TemplateDescriptor descriptor = getDescriptor(); + _template.setText(_target.getId()); + _template.setEditable(_target.isEphemeral()); + + _parameters.set(descriptor.parameters, descriptor.parameterDefaults); + } + + protected boolean applyUpdate() + { + Root root = _target.getRoot(); + root.disableSelectionListener(); + + try + { + if(_target.isEphemeral()) + { + writeDescriptor(); + TemplateDescriptor descriptor = getDescriptor(); + Templates parent = (Templates)_target.getParent(); + _target.destroy(); // just removes the child + + try + { + parent.tryAdd(_template.getText().trim(), descriptor); + } + catch(UpdateFailedException e) + { + // + // Re-add ephemeral child + // + try + { + parent.insertChild(_target, true); + } + catch(UpdateFailedException die) + { + assert false; + } + root.setSelectedNode(_target); + + JOptionPane.showMessageDialog( + _target.getCoordinator().getMainFrame(), + e.toString(), + "Apply failed", + JOptionPane.ERROR_MESSAGE); + return false; + } + + // + // Success + // + _target = parent.findChildWithDescriptor(descriptor); + root.updated(); + root.setSelectedNode(_target); + _template.setEditable(false); + } + else if(isSimpleUpdate()) + { + writeDescriptor(); + ((Communicator)_target).getEnclosingEditable().markModified(); + root.updated(); + + } + else + { + // + // Save to be able to rollback + // + Object savedDescriptor = ((Communicator)_target).saveDescriptor(); + Templates parent = (Templates)_target.getParent(); + writeDescriptor(); + + try + { + parent.tryUpdate((Communicator)_target); + } + catch(UpdateFailedException e) + { + ((Communicator)_target).restoreDescriptor(savedDescriptor); + + JOptionPane.showMessageDialog( + _target.getCoordinator().getMainFrame(), + e.toString(), + "Apply failed", + JOptionPane.ERROR_MESSAGE); + // + // Everything was restored, user must deal with error + // + return false; + } + + // + // Success + // + ((Communicator)_target).getEnclosingEditable().markModified(); + root.updated(); + + _target = parent.findChildWithDescriptor(getDescriptor()); + root.setSelectedNode(_target); + } + + root.getCoordinator().getCurrentTab().showNode(_target); + _applyButton.setEnabled(false); + _discardButton.setEnabled(false); + return true; + } + finally + { + root.enableSelectionListener(); + } + } + + private JTextField _template = new JTextField(20); + private ParametersField _parameters; +} |