From 2cb6f13fd6884330d7c33cc79cf2dd74ec88fc4c Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Mon, 19 Oct 2009 18:30:34 +0000
Subject: [PATCH] Fix for issue 4284 (Add ability to Duplicate an existing entry with the Control Panel).

---
 opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
index 15dc214..07a08e9 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/ui/StatusGenericPanel.java
@@ -29,6 +29,7 @@
 
 import static org.opends.messages.AdminToolMessages.*;
 
+import java.awt.CardLayout;
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Container;
@@ -109,6 +110,8 @@
 public abstract class StatusGenericPanel extends JPanel
 implements ConfigChangeListener
 {
+  private static final long serialVersionUID = -9123358652232556732L;
+
   /**
    * The string to be used as combo separator.
    */
@@ -131,9 +134,15 @@
 
   private boolean disposeOnClose = false;
 
+  private JPanel cardPanel;
   private JPanel mainPanel;
   private JEditorPane message;
 
+  private CardLayout cardLayout;
+
+  private static final String MAIN_PANEL = "mainPanel";
+  private static final String MESSAGE_PANEL = "messagePanel";
+
   /**
    * The error pane.
    */
@@ -240,6 +249,10 @@
     super(new GridBagLayout());
     setBackground(ColorAndFontConstants.background);
 
+    cardLayout = new CardLayout();
+    cardPanel = new JPanel(cardLayout);
+    cardPanel.setOpaque(false);
+
     mainPanel = new JPanel(new GridBagLayout());
     mainPanel.setOpaque(false);
 
@@ -251,11 +264,18 @@
     gbc.fill = GridBagConstraints.BOTH;
     gbc.weightx = 1.0;
     gbc.weighty = 1.0;
-    super.add(mainPanel, gbc);
+    super.add(cardPanel, gbc);
+
+    cardPanel.add(mainPanel, MAIN_PANEL);
+
+    JPanel messagePanel = new JPanel(new GridBagLayout());
+    messagePanel.setOpaque(false);
     gbc.fill = GridBagConstraints.NONE;
     gbc.anchor = GridBagConstraints.CENTER;
-    super.add(message, gbc);
-    message.setVisible(false);
+    messagePanel.add(message, gbc);
+    cardPanel.add(messagePanel, MESSAGE_PANEL);
+
+    cardLayout.show(cardPanel, MAIN_PANEL);
   }
 
   /**
@@ -640,7 +660,7 @@
     }
     else
     {
-      if (isLocal() || true)
+      if (isLocal())
       {
         rebuildIndexes = Utilities.displayConfirmationDialog(progressDialog,
             INFO_CTRL_PANEL_INDEX_REBUILD_REQUIRED_SUMMARY.get(),
@@ -1091,8 +1111,7 @@
    */
   protected void displayMainPanel()
   {
-    mainPanel.setVisible(true);
-    message.setVisible(false);
+    cardLayout.show(cardPanel, MAIN_PANEL);
   }
 
   /**
@@ -1112,8 +1131,7 @@
   {
     message.setText(Utilities.applyFont(msg.toString(),
         ColorAndFontConstants.progressFont));
-    mainPanel.setVisible(false);
-    message.setVisible(true);
+    cardLayout.show(cardPanel, MESSAGE_PANEL);
   }
 
   /**
@@ -1125,8 +1143,7 @@
   {
     updateErrorPane(message, title, ColorAndFontConstants.errorTitleFont,
         msg, ColorAndFontConstants.defaultFont);
-    mainPanel.setVisible(false);
-    message.setVisible(true);
+    cardLayout.show(cardPanel, MESSAGE_PANEL);
   }
 
   /**

--
Gitblit v1.10.0