From aaee394b8c7fdcb653d09d35ea1a28e574632a22 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Tue, 08 May 2007 21:29:14 +0000
Subject: [PATCH] Do not display the replication monitoring information if there are no replicated suffixes.
---
opendj-sdk/opends/src/statuspanel/org/opends/statuspanel/ui/StatusPanelDialog.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 92 insertions(+), 21 deletions(-)
diff --git a/opendj-sdk/opends/src/statuspanel/org/opends/statuspanel/ui/StatusPanelDialog.java b/opendj-sdk/opends/src/statuspanel/org/opends/statuspanel/ui/StatusPanelDialog.java
index ee38635..0425421 100644
--- a/opendj-sdk/opends/src/statuspanel/org/opends/statuspanel/ui/StatusPanelDialog.java
+++ b/opendj-sdk/opends/src/statuspanel/org/opends/statuspanel/ui/StatusPanelDialog.java
@@ -33,6 +33,7 @@
import java.awt.GridBagLayout;
import java.awt.Point;
import java.awt.Rectangle;
+import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
@@ -112,8 +113,10 @@
private HashSet<JLabel> subsectionLabels = new HashSet<JLabel>();
- private DatabasesTableModel dbTableModel;
- private JTable dbTable;
+ private DatabasesTableModel dbTableModelWithReplication;
+ private DatabasesTableModel dbTableModelWithoutReplication;
+ private JTable dbTableWithReplication;
+ private JTable dbTableWithoutReplication;
private ListenersTableModel listenersTableModel;
private JTable listenersTable;
@@ -122,9 +125,6 @@
private final String NOT_AVAILABLE = getMsg("not-available-label");
- private final int MAXIMAL_WIDTH = 1000;
- private final int MAXIMAL_HEIGHT = 1000;
-
/**
* ProgressDialog constructor.
*/
@@ -163,8 +163,8 @@
int packedMinWidth = (int) getPreferredSize().getWidth();
int packedMinHeight = (int) getPreferredSize().getHeight();
- int minWidth = Math.min(packedMinWidth, MAXIMAL_WIDTH);
- int minHeight = Math.min(packedMinHeight, MAXIMAL_HEIGHT);
+ int minWidth = Math.min(packedMinWidth, getMaximalWidth());
+ int minHeight = Math.min(packedMinHeight, getMaximalHeight());
addComponentListener(new MinimumSizeComponentListener(this,
minWidth, minHeight));
@@ -226,6 +226,18 @@
if (mustRepack)
{
pack();
+ int packedMinWidth = (int) getPreferredSize().getWidth();
+ int packedMinHeight = (int) getPreferredSize().getHeight();
+
+ int minWidth = Math.min(packedMinWidth, getMaximalWidth());
+ int minHeight = Math.min(packedMinHeight, getMaximalHeight());
+
+ if ((minWidth != packedMinWidth) || (minHeight != packedMinHeight))
+ {
+ setPreferredSize(new Dimension(minWidth, minHeight));
+ pack();
+ }
+
lastPackDescriptor = lastDescriptor;
}
}
@@ -744,18 +756,35 @@
p.add(createSubsectionTitle(getMsg("databases-title")), gbc);
- dbTableModel = new DatabasesTableModel();
- dbTable = UIFactory.makeSortableTable(dbTableModel,
+ dbTableModelWithReplication = new DatabasesTableModel(true);
+ dbTableModelWithoutReplication = new DatabasesTableModel(false);
+ dbTableWithReplication =
+ UIFactory.makeSortableTable(dbTableModelWithReplication,
new DatabasesCellRenderer(),
UIFactory.makeHeaderRenderer());
- toolTipManager.registerComponent(dbTable);
+ toolTipManager.registerComponent(dbTableWithReplication);
+ dbTableWithoutReplication =
+ UIFactory.makeSortableTable(dbTableModelWithoutReplication,
+ new DatabasesCellRenderer(),
+ UIFactory.makeHeaderRenderer());
+ toolTipManager.registerComponent(dbTableWithoutReplication);
gbc.insets.top = UIFactory.TOP_INSET_PRIMARY_FIELD;
- p.add(dbTable.getTableHeader(), gbc);
- int height = (int)dbTable.getTableHeader().getPreferredSize().getHeight();
- dbTable.setRowHeight(height);
+ p.add(dbTableWithReplication.getTableHeader(), gbc);
+ int height = (int)dbTableWithReplication.getTableHeader().
+ getPreferredSize().getHeight();
+ dbTableWithReplication.setRowHeight(height);
gbc.insets.top = 0;
- p.add(dbTable, gbc);
+ p.add(dbTableWithReplication, gbc);
+
+ gbc.insets.top = UIFactory.TOP_INSET_PRIMARY_FIELD;
+ p.add(dbTableWithoutReplication.getTableHeader(), gbc);
+ height = (int)dbTableWithoutReplication.getTableHeader().
+ getPreferredSize().getHeight();
+ dbTableWithoutReplication.setRowHeight(height);
+ gbc.insets.top = 0;
+ p.add(dbTableWithoutReplication, gbc);
+ dbTableWithoutReplication.setVisible(false);
gbc.insets.top = UIFactory.TOP_INSET_PRIMARY_FIELD;
lDbTableEmpty = UIFactory.makeJLabel(UIFactory.IconType.NO_ICON, "",
@@ -1063,12 +1092,16 @@
{
replicas.addAll(db.getBaseDns());
}
- dbTableModel.setData(replicas);
+ dbTableModelWithReplication.setData(replicas);
+ dbTableModelWithoutReplication.setData(replicas);
- if (dbTableModel.getRowCount() == 0)
+ if (dbTableModelWithReplication.getRowCount() == 0)
{
- dbTable.setVisible(false);
- dbTable.getTableHeader().setVisible(false);
+
+ dbTableWithoutReplication.setVisible(false);
+ dbTableWithoutReplication.getTableHeader().setVisible(false);
+ dbTableWithReplication.setVisible(false);
+ dbTableWithReplication.getTableHeader().setVisible(false);
lDbTableEmpty.setVisible(true);
if (desc.getStatus() == ServerStatusDescriptor.ServerStatus.STARTED)
{
@@ -1088,10 +1121,22 @@
}
else
{
- dbTable.setVisible(true);
- dbTable.getTableHeader().setVisible(true);
+ boolean replicated = false;
+ for (BaseDNDescriptor suffix: replicas)
+ {
+ if (suffix.getType() == BaseDNDescriptor.Type.REPLICATED)
+ {
+ replicated = true;
+ }
+ }
+
+ updateTableSizes(dbTableWithoutReplication);
+ updateTableSizes(dbTableWithReplication);
+ dbTableWithoutReplication.setVisible(!replicated);
+ dbTableWithoutReplication.getTableHeader().setVisible(!replicated);
+ dbTableWithReplication.setVisible(replicated);
+ dbTableWithReplication.getTableHeader().setVisible(replicated);
lDbTableEmpty.setVisible(false);
- updateTableSizes(dbTable);
}
}
@@ -1232,6 +1277,32 @@
}
}
+ private int getMaximalWidth()
+ {
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+
+ boolean multipleScreen = screenSize.width / screenSize.height >= 2;
+
+ if (multipleScreen)
+ {
+ return Math.min((screenSize.width/2) - 100, 1000);
+ }
+ else
+ {
+ return Math.min(screenSize.width - 100, 1000);
+ }
+ }
+
+ /**
+ * Returns the maximum height we allow this dialog to have after pack.
+ * @return the maximum height we allow this dialog to have after pack.
+ */
+ private int getMaximalHeight()
+ {
+ Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+
+ return Math.min(screenSize.height - 100, 800);
+ }
/**
* Method written for testing purposes.
* @param args the arguments to be passed to the test program.
--
Gitblit v1.10.0