diff options
Diffstat (limited to 'java/src/IceGridGUI/Application/PropertySetEditor.java')
-rwxr-xr-x | java/src/IceGridGUI/Application/PropertySetEditor.java | 438 |
1 files changed, 219 insertions, 219 deletions
diff --git a/java/src/IceGridGUI/Application/PropertySetEditor.java b/java/src/IceGridGUI/Application/PropertySetEditor.java index 63b6fdb0dfd..af61997df74 100755 --- a/java/src/IceGridGUI/Application/PropertySetEditor.java +++ b/java/src/IceGridGUI/Application/PropertySetEditor.java @@ -1,219 +1,219 @@ -// **********************************************************************
-//
-// 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 java.awt.event.ItemEvent;
-import java.awt.event.ItemListener;
-
-import javax.swing.AbstractAction;
-import javax.swing.Action;
-import javax.swing.DefaultComboBoxModel;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JScrollPane;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.CellConstraints;
-
-import IceGrid.*;
-import IceGridGUI.*;
-
-class PropertySetEditor extends Editor
-{
- protected boolean applyUpdate()
- {
- PropertySet nps = (PropertySet)_target;
- Root root = nps.getRoot();
-
- root.disableSelectionListener();
- try
- {
- PropertySetParent parent = (PropertySetParent)nps.getParent();
- if(nps.isEphemeral())
- {
- writeDescriptor();
- PropertySetDescriptor descriptor =
- (PropertySetDescriptor)nps.getDescriptor();
- nps.destroy(); // just removes the child
-
- try
- {
- parent.tryAdd(_id.getText().trim(), descriptor);
- }
- catch(UpdateFailedException e)
- {
- //
- // Add back ephemeral child
- //
- try
- {
- parent.insertPropertySet(nps, true);
- }
- catch(UpdateFailedException die)
- {
- assert false;
- }
- root.setSelectedNode(_target);
-
- JOptionPane.showMessageDialog(
- root.getCoordinator().getMainFrame(),
- e.toString(),
- "Apply failed",
- JOptionPane.ERROR_MESSAGE);
- return false;
- }
-
- //
- // Success
- //
- _target = ((TreeNode)parent).findChildWithDescriptor(descriptor);
- root.updated();
- root.setSelectedNode(_target);
- _id.setEditable(false);
- }
- else
- {
- writeDescriptor();
- root.updated();
- nps.getEditable().markModified();
- }
-
- root.getCoordinator().getCurrentTab().showNode(_target);
- _applyButton.setEnabled(false);
- _discardButton.setEnabled(false);
- return true;
- }
- finally
- {
- root.enableSelectionListener();
- }
- }
-
- Utils.Resolver getDetailResolver()
- {
- Root root = _target.getRoot();
-
- if(root.getCoordinator().substitute())
- {
- return _target.getResolver();
- }
- else
- {
- return null;
- }
- }
-
- PropertySetEditor()
- {
- //
- // Associate updateListener with various fields
- //
- _id.getDocument().addDocumentListener(_updateListener);
- _id.setToolTipText("The id of this Property Set");
-
- _propertySets.getDocument().addDocumentListener(_updateListener);
- _propertySets.setToolTipText("Property Set References");
- _properties = new PropertiesField(this);
- }
-
- void writeDescriptor()
- {
- PropertySetDescriptor descriptor =
- (PropertySetDescriptor)getPropertySet().getDescriptor();
-
- descriptor.references =
- (String[])_propertySets.getList().toArray(new String[0]);
- descriptor.properties = _properties.getProperties();
- }
-
- boolean isSimpleUpdate()
- {
- return true;
- }
-
- protected void appendProperties(DefaultFormBuilder builder)
- {
- builder.append("ID" );
- builder.append(_id, 3);
- builder.nextLine();
-
- builder.append("Property Sets");
- builder.append(_propertySets, 3);
- builder.nextLine();
-
- builder.append("Properties");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
-
- builder.nextRow(-6);
- JScrollPane scrollPane = new JScrollPane(_properties);
- CellConstraints cc = new CellConstraints();
- builder.add(scrollPane,
- cc.xywh(builder.getColumn(), builder.getRow(), 3, 7));
- builder.nextRow(6);
- builder.nextLine();
- }
-
- protected void buildPropertiesPanel()
- {
- super.buildPropertiesPanel();
- _propertiesPanel.setName("Named Property Set");
- }
-
- protected boolean validate()
- {
- return check(new String[]{"ID", _id.getText()});
- }
-
- void show(PropertySet nps)
- {
- detectUpdates(false);
- _target = nps;
-
- Utils.Resolver resolver = getDetailResolver();
- boolean isEditable = (resolver == null);
-
- PropertySetDescriptor descriptor =
- (PropertySetDescriptor)nps.getDescriptor();
-
- _id.setText(_target.getId());
- _id.setEditable(_target.isEphemeral());
-
- _propertySets.setList(java.util.Arrays.asList(descriptor.references),
- resolver);
- _propertySets.setEditable(isEditable);
-
- _properties.setProperties(descriptor.properties, null,
- getDetailResolver(), isEditable);
-
- _applyButton.setEnabled(nps.isEphemeral());
- _discardButton.setEnabled(nps.isEphemeral());
- detectUpdates(true);
- }
-
- private PropertySet getPropertySet()
- {
- return (PropertySet)_target;
- }
-
- private JTextField _id = new JTextField(20);
-
- private ListTextField _propertySets = new ListTextField(20);
- private PropertiesField _properties;
-}
+// ********************************************************************** +// +// 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 java.awt.event.ItemEvent; +import java.awt.event.ItemListener; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.DefaultComboBoxModel; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JScrollPane; +import javax.swing.JTextArea; +import javax.swing.JTextField; + +import com.jgoodies.forms.builder.DefaultFormBuilder; +import com.jgoodies.forms.layout.CellConstraints; + +import IceGrid.*; +import IceGridGUI.*; + +class PropertySetEditor extends Editor +{ + protected boolean applyUpdate() + { + PropertySet nps = (PropertySet)_target; + Root root = nps.getRoot(); + + root.disableSelectionListener(); + try + { + PropertySetParent parent = (PropertySetParent)nps.getParent(); + if(nps.isEphemeral()) + { + writeDescriptor(); + PropertySetDescriptor descriptor = + (PropertySetDescriptor)nps.getDescriptor(); + nps.destroy(); // just removes the child + + try + { + parent.tryAdd(_id.getText().trim(), descriptor); + } + catch(UpdateFailedException e) + { + // + // Add back ephemeral child + // + try + { + parent.insertPropertySet(nps, true); + } + catch(UpdateFailedException die) + { + assert false; + } + root.setSelectedNode(_target); + + JOptionPane.showMessageDialog( + root.getCoordinator().getMainFrame(), + e.toString(), + "Apply failed", + JOptionPane.ERROR_MESSAGE); + return false; + } + + // + // Success + // + _target = ((TreeNode)parent).findChildWithDescriptor(descriptor); + root.updated(); + root.setSelectedNode(_target); + _id.setEditable(false); + } + else + { + writeDescriptor(); + root.updated(); + nps.getEditable().markModified(); + } + + root.getCoordinator().getCurrentTab().showNode(_target); + _applyButton.setEnabled(false); + _discardButton.setEnabled(false); + return true; + } + finally + { + root.enableSelectionListener(); + } + } + + Utils.Resolver getDetailResolver() + { + Root root = _target.getRoot(); + + if(root.getCoordinator().substitute()) + { + return _target.getResolver(); + } + else + { + return null; + } + } + + PropertySetEditor() + { + // + // Associate updateListener with various fields + // + _id.getDocument().addDocumentListener(_updateListener); + _id.setToolTipText("The id of this Property Set"); + + _propertySets.getDocument().addDocumentListener(_updateListener); + _propertySets.setToolTipText("Property Set References"); + _properties = new PropertiesField(this); + } + + void writeDescriptor() + { + PropertySetDescriptor descriptor = + (PropertySetDescriptor)getPropertySet().getDescriptor(); + + descriptor.references = + (String[])_propertySets.getList().toArray(new String[0]); + descriptor.properties = _properties.getProperties(); + } + + boolean isSimpleUpdate() + { + return true; + } + + protected void appendProperties(DefaultFormBuilder builder) + { + builder.append("ID" ); + builder.append(_id, 3); + builder.nextLine(); + + builder.append("Property Sets"); + builder.append(_propertySets, 3); + builder.nextLine(); + + builder.append("Properties"); + builder.nextLine(); + builder.append(""); + builder.nextLine(); + builder.append(""); + builder.nextLine(); + builder.append(""); + + builder.nextRow(-6); + JScrollPane scrollPane = new JScrollPane(_properties); + CellConstraints cc = new CellConstraints(); + builder.add(scrollPane, + cc.xywh(builder.getColumn(), builder.getRow(), 3, 7)); + builder.nextRow(6); + builder.nextLine(); + } + + protected void buildPropertiesPanel() + { + super.buildPropertiesPanel(); + _propertiesPanel.setName("Named Property Set"); + } + + protected boolean validate() + { + return check(new String[]{"ID", _id.getText()}); + } + + void show(PropertySet nps) + { + detectUpdates(false); + _target = nps; + + Utils.Resolver resolver = getDetailResolver(); + boolean isEditable = (resolver == null); + + PropertySetDescriptor descriptor = + (PropertySetDescriptor)nps.getDescriptor(); + + _id.setText(_target.getId()); + _id.setEditable(_target.isEphemeral()); + + _propertySets.setList(java.util.Arrays.asList(descriptor.references), + resolver); + _propertySets.setEditable(isEditable); + + _properties.setProperties(descriptor.properties, null, + getDetailResolver(), isEditable); + + _applyButton.setEnabled(nps.isEphemeral()); + _discardButton.setEnabled(nps.isEphemeral()); + detectUpdates(true); + } + + private PropertySet getPropertySet() + { + return (PropertySet)_target; + } + + private JTextField _id = new JTextField(20); + + private ListTextField _propertySets = new ListTextField(20); + private PropertiesField _properties; +} |