uidata: simplify newsfeed tab management code 51/17751/3
Simon Marchetto [Mon, 1 Feb 2016 14:24:46 +0000 (15:24 +0100)]
Change-Id: If03b233b4c2bfd14a8b240e73b54c318f926d1c6

scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/newsfeed/NewsFeedTab.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/newsfeed/NewsFeedTabFactory.java

index 5e1fac6..4a55574 100644 (file)
@@ -33,6 +33,7 @@ import org.scilab.modules.gui.menubar.ScilabMenuBar;
 import org.scilab.modules.gui.tab.SimpleTab;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
+import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 
 import org.scilab.modules.ui_data.utils.UiDataMessages;
 
@@ -54,6 +55,10 @@ public class NewsFeedTab extends SwingScilabDockablePanel implements SimpleTab {
     private NewsFeedWidget newsFeedWidget;
     private NewsFeedController newsFeedController;
 
+    static {
+        ScilabTabFactory.getInstance().addTabFactory(NewsFeedTabFactory.getInstance());
+    }
+
     public static NewsFeedTab getInstance() {
         if (instance == null) {
             instance = new NewsFeedTab();
@@ -84,13 +89,7 @@ public class NewsFeedTab extends SwingScilabDockablePanel implements SimpleTab {
     }
 
     public static void displayTab() {
-        if (instance == null) {
-            if (!WindowsConfigurationManager.restoreUUID(NEWSFEED_UUID)) {
-                NewsFeedTabFactory.getInstance().getTab(NEWSFEED_UUID);
-                instance.createTabWindow();
-            }
-        }
-        instance.setVisible(true);
+        WindowsConfigurationManager.restoreWindow(NEWSFEED_UUID);
     }
 
     public void startNewsFeed() {
@@ -154,13 +153,6 @@ public class NewsFeedTab extends SwingScilabDockablePanel implements SimpleTab {
         return toolBar;
     }
 
-    private SwingScilabWindow createTabWindow() {
-        SwingScilabWindow window = SwingScilabWindow.createWindow(true);
-        window.addTab(this);
-        window.setVisible(true);
-        return window;
-    }
-
     private void registerClosingOperation() {
         ClosingOperationsManager.registerClosingOperation(this, new ClosingOperationsManager.ClosingOperation() {
 
index 1b04eeb..9ff11d8 100644 (file)
@@ -17,7 +17,7 @@ package org.scilab.modules.ui_data.newsfeed;
 
 import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
-import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
+
 
 /**
  * Factory to create news feed tabs For now, manages one tab only
@@ -28,22 +28,15 @@ public class NewsFeedTabFactory extends AbstractScilabTabFactory {
     public static final String PACKAGE = "";
     public static final String CLASS = "org.scilab.modules.ui_data.newsfeed.NewsFeedTabFactory";
 
-    static {
-        ScilabTabFactory.getInstance().addTabFactory(NewsFeedTabFactory.getInstance());
-    }
-
     private static NewsFeedTabFactory instance = null;
 
     public NewsFeedTabFactory() {
-        if (instance == null) {
+        if (instance == null)
             instance = this;
-        }
     }
 
     public SwingScilabDockablePanel getTab(String uuid) {
-        NewsFeedTab newsFeedTab = NewsFeedTab.getInstance();
-        ScilabTabFactory.getInstance().addToCache(newsFeedTab);
-        return newsFeedTab;
+        return NewsFeedTab.getInstance();
     }
 
     public String getPackage() {
@@ -58,7 +51,6 @@ public class NewsFeedTabFactory extends AbstractScilabTabFactory {
         return APPLICATION;
     }
 
-
     public boolean isAValidUUID(String uuid) {
         return NewsFeedTab.NEWSFEED_UUID.equals(uuid);
     }