summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2013-08-29 20:16:27 +0200
committerJose <jose@zeroc.com>2013-08-29 20:16:27 +0200
commit447f69dcda8e1b0eff791a1fe2caa40f09dd61c8 (patch)
treed4a91229fed6fa030eb4d1c835fa4d43cc8b1460 /java/src
parentminor fix to makemsi script (diff)
downloadice-447f69dcda8e1b0eff791a1fe2caa40f09dd61c8.tar.bz2
ice-447f69dcda8e1b0eff791a1fe2caa40f09dd61c8.tar.xz
ice-447f69dcda8e1b0eff791a1fe2caa40f09dd61c8.zip
Improvements to Metrics Table Layout - related to ICE-5408
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceGridGUI/EditorBase.java32
-rw-r--r--java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java58
2 files changed, 58 insertions, 32 deletions
diff --git a/java/src/IceGridGUI/EditorBase.java b/java/src/IceGridGUI/EditorBase.java
index 17734ae40ac..6b5d6c46e7c 100644
--- a/java/src/IceGridGUI/EditorBase.java
+++ b/java/src/IceGridGUI/EditorBase.java
@@ -42,21 +42,35 @@ public abstract class EditorBase
return null;
}
- protected abstract void appendProperties(DefaultFormBuilder builder);
+ protected void appendProperties(DefaultFormBuilder builder)
+ {
+ }
+
+ protected JComponent createPropertiesPanel()
+ {
+ return null;
+ }
protected void buildPropertiesPanel()
{
- FormLayout layout = new FormLayout("right:pref, 3dlu, fill:pref:grow, 3dlu, pref", "");
-
- DefaultFormBuilder builder = new DefaultFormBuilder(layout);
- builder.border(Borders.DLU2);
- builder.rowGroupingEnabled(true);
- builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
+ JComponent contents = createPropertiesPanel();
+
+ if(contents == null)
+ {
+ FormLayout layout = new FormLayout("right:pref, 3dlu, fill:pref:grow, 3dlu, pref", "");
- appendProperties(builder);
+ DefaultFormBuilder builder = new DefaultFormBuilder(layout);
+ builder.border(Borders.DLU2);
+ builder.rowGroupingEnabled(true);
+ builder.lineGapSize(LayoutStyle.getCurrent().getLinePad());
+ appendProperties(builder);
+
+ contents = builder.getPanel();
+ }
+
JScrollPane scrollPane =
- new JScrollPane(builder.getPanel(),
+ new JScrollPane(contents,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
diff --git a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
index 4d06a155efe..7ceccd5140f 100644
--- a/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
+++ b/java/src/IceGridGUI/LiveDeployment/MetricsViewEditor.java
@@ -26,6 +26,7 @@ import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentAdapter;
+import java.awt.BorderLayout;
import java.util.List;
import java.util.ArrayList;
@@ -43,6 +44,9 @@ import javax.swing.JButton;
import javax.swing.AbstractCellEditor;
import javax.swing.DefaultCellEditor;
import javax.swing.JOptionPane;
+import javax.swing.BorderFactory;
+
+import javax.swing.border.TitledBorder;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
@@ -53,6 +57,7 @@ import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.SwingConstants;
import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -60,6 +65,7 @@ import javax.swing.JTree;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
+import javax.swing.JPanel;
import javax.swing.table.TableColumnModel;
import javax.swing.table.DefaultTableCellRenderer;
@@ -924,8 +930,10 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
return null;
}
- protected void appendProperties(DefaultFormBuilder builder)
+ protected JComponent createPropertiesPanel()
{
+ JSplitPane current = null;
+ JSplitPane top = null;
Map<String, JTable> tables = new HashMap<String, JTable>(_tables);
for(String name : _sectionSort)
{
@@ -939,35 +947,39 @@ public class MetricsViewEditor extends Editor implements MetricsFieldContext
{
section = name;
}
- createScrollTable(builder, section, table);
+ current = createScrollTable(current, section, table);
+ if(top == null)
+ {
+ top = current;
+ }
}
for(Map.Entry<String, JTable> entry : tables.entrySet())
{
- createScrollTable(builder, entry.getKey(), entry.getValue());
+ current = createScrollTable(current, entry.getKey(), entry.getValue());
+ if(top == null)
+ {
+ top = current;
+ }
}
+ return top;
}
- private void createScrollTable(DefaultFormBuilder builder, String title, JTable table)
+ private JSplitPane createScrollTable(JSplitPane currentPane, String title, JTable table)
{
- CellConstraints cc = new CellConstraints();
- builder.appendSeparator(title);
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextLine();
- builder.append("");
- builder.nextRow(-10);
-
- JScrollPane scrollPane = new JScrollPane(table);
- builder.add(scrollPane, cc.xywh(builder.getColumn(), builder.getRow(), 3, 10));
- builder.nextRow(10);
- builder.nextLine();
+ JPanel panel = new JPanel();
+ TitledBorder border = BorderFactory.createTitledBorder(BorderFactory.createEmptyBorder(),
+ title, TitledBorder.LEFT, TitledBorder.CENTER);
+ panel.setBorder(border);
+ panel.setLayout(new BorderLayout());
+ panel.add(new JScrollPane(table), BorderLayout.CENTER);
+
+ JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
+ splitPane.setTopComponent(panel);
+ if(currentPane != null)
+ {
+ currentPane.setBottomComponent(splitPane);
+ }
+ return splitPane;
}
protected void buildPropertiesPanel()