diff options
Diffstat (limited to 'java/src/IceGridGUI/EditorBase.java')
-rwxr-xr-x | java/src/IceGridGUI/EditorBase.java | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/java/src/IceGridGUI/EditorBase.java b/java/src/IceGridGUI/EditorBase.java new file mode 100755 index 00000000000..1e11340f891 --- /dev/null +++ b/java/src/IceGridGUI/EditorBase.java @@ -0,0 +1,139 @@ +// **********************************************************************
+//
+// 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;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JToolBar;
+
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.factories.Borders;
+import com.jgoodies.forms.layout.FormLayout;
+import com.jgoodies.forms.util.LayoutStyle;
+
+import IceGrid.*;
+
+//
+// Base class for all editors
+//
+public abstract class EditorBase
+{
+ public JComponent getProperties()
+ {
+ if(_propertiesPanel == null)
+ {
+ buildPropertiesPanel();
+ }
+ return _propertiesPanel;
+ }
+
+ public JToolBar getToolBar()
+ {
+ return null;
+ }
+
+ static public java.util.SortedMap propertiesToMap(java.util.List props,
+ Utils.Resolver resolver)
+ {
+ java.util.SortedMap result = new java.util.TreeMap();
+ java.util.Iterator p = props.iterator();
+ while(p.hasNext())
+ {
+ PropertyDescriptor pd = (PropertyDescriptor)p.next();
+ String name = (String)pd.name;
+ String val = (String)pd.value;
+ if(resolver != null)
+ {
+ name = resolver.substitute(pd.name);
+ val = resolver.substitute(pd.value);
+ }
+ result.put(name, val);
+ }
+ return result;
+ }
+
+ static public java.util.Vector mapToVector(java.util.Map map)
+ {
+ java.util.Vector result = new java.util.Vector(map.size());
+ java.util.Iterator p = map.entrySet().iterator();
+ while(p.hasNext())
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
+ java.util.Vector row = new java.util.Vector(2);
+ row.add(entry.getKey());
+ row.add(entry.getValue());
+ result.add(row);
+ }
+ return result;
+ }
+
+ static public java.util.LinkedList mapToProperties(java.util.Map map)
+ {
+ java.util.LinkedList result = new java.util.LinkedList();
+ java.util.Iterator p = map.entrySet().iterator();
+ while(p.hasNext())
+ {
+ java.util.Map.Entry entry = (java.util.Map.Entry)p.next();
+ String name = (String)entry.getKey();
+ String value = (String)entry.getValue();
+ result.add(new PropertyDescriptor(name, value));
+ }
+ return result;
+ }
+
+ static public java.util.Map makeParameterValues(
+ java.util.Map oldParameterValues,
+ java.util.List newParameters)
+ {
+ java.util.Map result = new java.util.HashMap();
+
+ java.util.Iterator p = newParameters.iterator();
+ while(p.hasNext())
+ {
+ Object name = p.next();
+ Object value = oldParameterValues.get(name);
+ if(value != null)
+ {
+ result.put(name, value);
+ }
+ }
+ return result;
+ }
+
+ protected abstract void appendProperties(DefaultFormBuilder builder);
+
+ protected void buildPropertiesPanel()
+ {
+ FormLayout layout = new FormLayout(
+ "right:pref, 3dlu, fill:pref:grow, 3dlu, pref", "");
+
+ DefaultFormBuilder builder = new DefaultFormBuilder(layout);
+ builder.setBorder(Borders.DLU2_BORDER);
+ builder.setRowGroupingEnabled(true);
+ builder.setLineGapSize(LayoutStyle.getCurrent().getLinePad());
+
+ appendProperties(builder);
+
+ JScrollPane scrollPane =
+ new JScrollPane(builder.getPanel(),
+ JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
+ JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+
+ scrollPane.setBorder(Borders.DIALOG_BORDER);
+
+ _propertiesPanel = new JPanel(new BorderLayout());
+ _propertiesPanel.add(scrollPane, BorderLayout.CENTER);
+ _propertiesPanel.setBorder(Borders.EMPTY_BORDER);
+ }
+
+ protected JPanel _propertiesPanel;
+}
|