JAL-4020 Added search for PyMOLWinWithConsole.bat (and PyMOLWin.exe) in likely places...
[jalview.git] / src / jalview / urls / UrlLinkTableModel.java
index 6b03667..02e565e 100644 (file)
@@ -21,7 +21,7 @@
 
 package jalview.urls;
 
-import jalview.bin.Cache;
+import jalview.bin.Console;
 import jalview.urls.api.UrlProviderI;
 import jalview.util.UrlLink;
 
@@ -52,8 +52,8 @@ public class UrlLinkTableModel extends AbstractTableModel
   // list of columns to display in table in correct order
   private List<String> displayColumns;
 
-  // row in table which is currently the default
-  private int defaultRow;
+  // row in table which is currently the primary
+  private int primaryRow;
 
   /**
    * UrlLinkTableModel constructor
@@ -74,18 +74,18 @@ public class UrlLinkTableModel extends AbstractTableModel
     data = baseData.getLinksForTable();
     displayColumns = UrlLinkDisplay.getDisplayColumnNames();
 
-    // find the default row
-    defaultRow = 0;
+    // find the primary row
+    primaryRow = 0;
     Iterator<UrlLinkDisplay> it = data.iterator();
     while (it.hasNext())
     {
-      if (it.next().getIsDefault())
+      if (it.next().getIsPrimary())
       {
         break;
       }
       else
       {
-        defaultRow++;
+        primaryRow++;
       }
     }
 
@@ -101,7 +101,7 @@ public class UrlLinkTableModel extends AbstractTableModel
           dataProvider.setUrlData(data);
         } catch (IllegalArgumentException ex)
         {
-          Cache.log.error(ex.getMessage());
+          Console.error(ex.getMessage());
         }
       }
     });
@@ -162,25 +162,25 @@ public class UrlLinkTableModel extends AbstractTableModel
   public boolean isRowDeletable(int rowIndex)
   {
     // to delete, row must be a user entered row, and not the default row
-    return (dataProvider.isUserEntry(data.get(rowIndex).getId()) && !data
-            .get(rowIndex).getIsDefault());
+    return (dataProvider.isUserEntry(data.get(rowIndex).getId())
+            && !data.get(rowIndex).getIsPrimary());
   }
 
   @Override
   public void setValueAt(Object aValue, int rowIndex, int columnIndex)
   {
-    if (columnIndex == UrlLinkDisplay.DEFAULT)
+    if (columnIndex == UrlLinkDisplay.PRIMARY)
     {
       // Default url column: exactly one row must always be true
-      if (rowIndex != defaultRow)
+      if (rowIndex != primaryRow)
       {
         // selected row is not currently the default
         // set the current default to false
-        data.get(defaultRow).setValue(columnIndex, false);
-        fireTableRowsUpdated(defaultRow, defaultRow);
+        data.get(primaryRow).setValue(columnIndex, false);
+        fireTableRowsUpdated(primaryRow, primaryRow);
 
         // set the default to be the selected row
-        defaultRow = rowIndex;
+        primaryRow = rowIndex;
         data.get(rowIndex).setValue(columnIndex, aValue);
 
         fireTableRowsUpdated(rowIndex, rowIndex);
@@ -211,9 +211,9 @@ public class UrlLinkTableModel extends AbstractTableModel
     data.remove(rowIndex);
 
     // update default row
-    if (defaultRow > rowIndex)
+    if (primaryRow > rowIndex)
     {
-      defaultRow--;
+      primaryRow--;
     }
 
     // fire update which will update data source
@@ -223,7 +223,7 @@ public class UrlLinkTableModel extends AbstractTableModel
   public int insertRow(String name, String url)
   {
     // add a row to the data
-    UrlLink link = new UrlLink(name, url);
+    UrlLink link = new UrlLink(name, url, name);
     UrlLinkDisplay u = new UrlLinkDisplay(name, link, true, false);
     int index = data.size();
     data.add(u);
@@ -233,9 +233,9 @@ public class UrlLinkTableModel extends AbstractTableModel
     return index;
   }
 
-  public int getDefaultColumn()
+  public int getPrimaryColumn()
   {
-    return UrlLinkDisplay.DEFAULT;
+    return UrlLinkDisplay.PRIMARY;
   }
 
   public int getNameColumn()
@@ -243,6 +243,11 @@ public class UrlLinkTableModel extends AbstractTableModel
     return UrlLinkDisplay.NAME;
   }
 
+  public int getDatabaseColumn()
+  {
+    return UrlLinkDisplay.DATABASE;
+  }
+
   public int getIdColumn()
   {
     return UrlLinkDisplay.ID;
@@ -264,4 +269,9 @@ public class UrlLinkTableModel extends AbstractTableModel
     return dataProvider
             .isUserEntry(entry.getStringValue(UrlLinkDisplay.ID));
   }
+
+  public boolean isUniqueName(String name)
+  {
+    return !dataProvider.contains(name);
+  }
 }