Revision: 14807
          http://gate.svn.sourceforge.net/gate/?rev=14807&view=rev
Author:   markagreenwood
Date:     2011-12-19 10:17:42 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
reused the Icon table cell renderer from the available plugins pane for the 
update sites table to fix a weird L&F bug that stops the dialog being created 
at all under GTK+ or Nimbus

Modified Paths:
--------------
    gate/trunk/src/gate/gui/creole/manager/AvailablePlugins.java
    gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java

Added Paths:
-----------
    gate/trunk/src/gate/swing/IconTableCellRenderer.java

Modified: gate/trunk/src/gate/gui/creole/manager/AvailablePlugins.java
===================================================================
--- gate/trunk/src/gate/gui/creole/manager/AvailablePlugins.java        
2011-12-19 02:28:54 UTC (rev 14806)
+++ gate/trunk/src/gate/gui/creole/manager/AvailablePlugins.java        
2011-12-19 10:17:42 UTC (rev 14807)
@@ -30,6 +30,7 @@
 import gate.resources.img.svg.ResetIcon;
 import gate.resources.img.svg.UserPluginIcon;
 import gate.swing.CheckBoxTableCellRenderer;
+import gate.swing.IconTableCellRenderer;
 import gate.swing.XJFileChooser;
 import gate.swing.XJTable;
 import gate.util.GateException;
@@ -85,7 +86,6 @@
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
 import javax.swing.table.AbstractTableModel;
-import javax.swing.table.DefaultTableCellRenderer;
 
 @SuppressWarnings("serial")
 public class AvailablePlugins extends JPanel {
@@ -508,23 +508,6 @@
     }
   }
 
-  private class IconTableCellRenderer extends DefaultTableCellRenderer {
-
-    @Override
-    public Component getTableCellRendererComponent(JTable table, Object value,
-            boolean isSelected, boolean hasFocus, int row, int column) {
-      if(value instanceof Icon) {
-        super.getTableCellRendererComponent(table, "", isSelected, hasFocus,
-                row, column);
-        setIcon((Icon)value);
-        return this;
-      } else {
-        return super.getTableCellRendererComponent(table, value, isSelected,
-                hasFocus, row, column);
-      }
-    }
-  }
-
   private class ResourcesListCellRenderer extends DefaultListCellRenderer {
 
     @Override

Modified: gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java
===================================================================
--- gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java     
2011-12-19 02:28:54 UTC (rev 14806)
+++ gate/trunk/src/gate/gui/creole/manager/PluginUpdateManager.java     
2011-12-19 10:17:42 UTC (rev 14807)
@@ -31,6 +31,7 @@
 import gate.resources.img.svg.UpdatesIcon;
 import gate.resources.img.svg.UserPluginIcon;
 import gate.swing.CheckBoxTableCellRenderer;
+import gate.swing.IconTableCellRenderer;
 import gate.swing.SpringUtilities;
 import gate.swing.XJFileChooser;
 import gate.swing.XJTable;
@@ -604,13 +605,13 @@
     tblUpdates.getColumnModel().getColumn(0).setMaxWidth(100);
     tblUpdates.getColumnModel().getColumn(2).setMaxWidth(100);
     tblUpdates.getColumnModel().getColumn(3).setMaxWidth(100);
-    
+
     tblUpdates.setSortable(true);
     tblUpdates.setSortedColumn(1);
     Collator collator = Collator.getInstance(Locale.ENGLISH);
     collator.setStrength(Collator.TERTIARY);
-    tblUpdates.setComparator(1, collator);    
-    
+    tblUpdates.setComparator(1, collator);
+
     JScrollPane scroller = new JScrollPane(tblUpdates);
     scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
     return scroller;
@@ -619,21 +620,20 @@
   private Component buildAvailable() {
     XJTable tblAvailable = new XJTable();
     tblAvailable.setModel(availableModel);
-    
-    
+
     tblAvailable.getColumnModel().getColumn(0)
             .setCellRenderer(new CheckBoxTableCellRenderer());
     tblAvailable.setSortable(false);
     tblAvailable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
     tblAvailable.getColumnModel().getColumn(0).setMaxWidth(100);
     tblAvailable.getColumnModel().getColumn(2).setMaxWidth(100);
-    
+
     tblAvailable.setSortable(true);
     tblAvailable.setSortedColumn(1);
     Collator collator = Collator.getInstance(Locale.ENGLISH);
     collator.setStrength(Collator.TERTIARY);
     tblAvailable.setComparator(1, collator);
-    
+
     JScrollPane scroller = new JScrollPane(tblAvailable);
     scroller.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
     return scroller;
@@ -646,6 +646,8 @@
     pnlUpdateSites.setBorder(BorderFactory
             .createTitledBorder("Plugin Repositories:"));
     final XJTable tblSites = new XJTable(sitesModel);
+    tblSites.getColumnModel().getColumn(0)
+            .setCellRenderer(new IconTableCellRenderer());
     tblSites.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
     JScrollPane scroller = new JScrollPane(tblSites);

Added: gate/trunk/src/gate/swing/IconTableCellRenderer.java
===================================================================
--- gate/trunk/src/gate/swing/IconTableCellRenderer.java                        
        (rev 0)
+++ gate/trunk/src/gate/swing/IconTableCellRenderer.java        2011-12-19 
10:17:42 UTC (rev 14807)
@@ -0,0 +1,24 @@
+package gate.swing;
+
+import java.awt.Component;
+
+import javax.swing.Icon;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+
+public class IconTableCellRenderer extends DefaultTableCellRenderer {
+
+  @Override
+  public Component getTableCellRendererComponent(JTable table, Object value,
+          boolean isSelected, boolean hasFocus, int row, int column) {
+    if(value instanceof Icon) {
+      super.getTableCellRendererComponent(table, "", isSelected, hasFocus,
+              row, column);
+      setIcon((Icon)value);
+      return this;
+    } else {
+      return super.getTableCellRendererComponent(table, value, isSelected,
+              hasFocus, row, column);
+    }
+  }
+}
\ No newline at end of file

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to