Author: jflesch
Date: 2007-06-17 23:53:50 +0000 (Sun, 17 Jun 2007)
New Revision: 13639

Added:
   trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
Modified:
   trunk/apps/Thaw/src/thaw/core/MainWindow.java
   trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
   trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
   trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java
   trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java
   trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java
   trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
   trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
   trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java
Log:
Change the tabbed pane behavior

Modified: trunk/apps/Thaw/src/thaw/core/MainWindow.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/MainWindow.java       2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/core/MainWindow.java       2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -22,6 +22,7 @@
 import javax.swing.WindowConstants;


+import thaw.gui.TabbedPane;
 import thaw.gui.IconBox;


@@ -77,7 +78,7 @@
        private JButton settingsButton = null;
        private JButton quitButton = null;

-       private JTabbedPane tabbedPane = null;
+       private TabbedPane tabbedPane = null;
        private JLabel statusBar = null;

        private Core core = null; /* core is called back when exit() */
@@ -171,7 +172,7 @@

                // TABBED PANE

-               tabbedPane = new JTabbedPane();
+               tabbedPane = new TabbedPane();

                // STATUS BAR

@@ -300,18 +301,21 @@

        /**
         * Used to add a tab in the main window.
-        * In the future, even if the interface, this function should remain 
available.
+        * In the future, even if the interface change,
+        * this function should remain available.
         */
        public boolean addTab(final String tabName, final java.awt.Component 
panel) {
-               tabbedPane.addTab(tabName, panel);
-
-               return true;
+               return addTab(tabName, IconBox.add, panel);
        }

        /**
+        * Used to add a tab in the main window.
+        * In the future, even if the interface change,
+        * this function should remain available
         * @see #addTab(String, java.awt.Component)
         */
-       public boolean addTab(final String tabName, final Icon icon, final 
java.awt.Component panel) {
+       public boolean addTab(final String tabName, final Icon icon,
+                             final java.awt.Component panel) {
                tabbedPane.addTab(tabName, icon, panel);

                return true;

Added: trunk/apps/Thaw/src/thaw/gui/TabbedPane.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/TabbedPane.java                                
(rev 0)
+++ trunk/apps/Thaw/src/thaw/gui/TabbedPane.java        2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -0,0 +1,63 @@
+package thaw.gui;
+
+import javax.swing.JTabbedPane;
+import javax.swing.Icon;
+import java.awt.Component;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+
+import java.util.Vector;
+
+import thaw.core.Logger;
+
+
+public class TabbedPane extends JTabbedPane implements ChangeListener {
+       private Vector tabNames;
+
+       public TabbedPane() {
+               super();
+               tabNames = new Vector();
+               super.addChangeListener(this);
+       }
+
+
+       public void addTab(final String tabName, final Icon icon,
+                          final java.awt.Component panel) {
+               tabNames.add(tabName);
+
+               if (tabNames.size() > 1)
+                       super.addTab("", icon, panel);
+               else
+                       super.addTab(tabName, icon, panel);
+
+               int x = super.indexOfComponent(panel);
+
+               super.setToolTipTextAt(x, tabName);
+       }
+
+
+       public void remove(Component panel) {
+               int x = super.indexOfComponent(panel);
+
+               if (x >= 0)
+                       tabNames.remove(x);
+               else
+                       Logger.error(this, "remove(): Component not found ?");
+
+               super.remove(panel);
+       }
+
+
+       public void stateChanged(final ChangeEvent e) {
+               int x = super.getSelectedIndex();
+               int tabCount = super.getTabCount();
+
+               for (int i = 0 ; i < tabCount ; i++) {
+                       if (i == x)
+                               super.setTitleAt(i, (String)tabNames.get(i));
+                       else
+                               super.setTitleAt(i, "");
+               }
+       }
+}

Modified: trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/IndexBrowser.java  2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -78,7 +78,7 @@
                core.getMainWindow().getTabbedPane().addChangeListener(this);

                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.indexes"),
-                                           IconBox.minIndexBrowser,
+                                           IconBox.indexBrowser,
                                            browserPanel.getPanel());

                browserPanel.restoreState();

Modified: trunk/apps/Thaw/src/thaw/plugins/LogConsole.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/LogConsole.java    2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/LogConsole.java    2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -67,7 +67,8 @@
                consolePanel.add(logAreaScrollPane, BorderLayout.CENTER);
                consolePanel.add(saveToFile, BorderLayout.SOUTH);

-               
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.console.console"), 
thaw.gui.IconBox.minTerminal, consolePanel);
+               
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.console.console"),
+                                           thaw.gui.IconBox.terminal, 
consolePanel);

                Logger.addLogListener(this);


Modified: trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java   2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/PeerMonitor.java   2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -141,7 +141,7 @@

        public void update(Observable o, Object param) {
                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.peerMonitor.peerMonitor"),
-                                           thaw.gui.IconBox.minPeerMonitor,
+                                           thaw.gui.IconBox.peers,
                                            peerPanel.getTabPanel());
                core.getMainWindow().setSelectedTab(peerPanel.getTabPanel());


Modified: trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java  2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/QueueWatcher.java  2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -98,7 +98,7 @@
                setMainWindow(core.getMainWindow());
                core.getMainWindow().getTabbedPane().addChangeListener(this);
                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.queueWatcher"),
-                                           IconBox.minQueue,
+                                           IconBox.queue,
                                            panelAdded);

                split.setResizeWeight(0.5);

Modified: trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java    2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/SqlConsole.java    2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -64,7 +64,7 @@
                panel = getPanel();

                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.hsqldb.console"),
-                                           thaw.gui.IconBox.minTerminal,
+                                           thaw.gui.IconBox.terminal,
                                            panel);

                return true;

Modified: trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java  2007-06-17 20:30:04 UTC 
(rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/TransferLogs.java  2007-06-17 23:53:50 UTC 
(rev 13639)
@@ -135,7 +135,7 @@
                setAsObserverEverywhere(true);

                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.transferLogs.transferLogsShort"),
-                                           thaw.gui.IconBox.minFile,
+                                           thaw.gui.IconBox.file,
                                            tab);

                return true;

Modified: trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java       2007-06-17 
20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/index/BlackList.java       2007-06-17 
23:53:50 UTC (rev 13639)
@@ -180,7 +180,7 @@
                visible = true;
                updateList();
                
core.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.blackList"),
-                                           IconBox.minStop, panel);
+                                           IconBox.stop, panel);
                core.getMainWindow().setSelectedTab(panel);
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java      2007-06-17 
20:30:04 UTC (rev 13638)
+++ trunk/apps/Thaw/src/thaw/plugins/index/CommentTab.java      2007-06-17 
23:53:50 UTC (rev 13639)
@@ -182,6 +182,7 @@
                updateCommentList();

                
indexBrowser.getMainWindow().addTab(I18n.getMessage("thaw.plugin.index.comment.commentList"),
+                                                   
thaw.gui.IconBox.readComments,
                                                    tabPanel);
                indexBrowser.getMainWindow().setSelectedTab(tabPanel);



Reply via email to