From 09d25d31d26bdc71914b8441872f724f1d75f0cc Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Thu, 10 Aug 2006 13:17:29 +0000 Subject: [PATCH] Only add 1 feature settings table --- src/jalview/gui/AlignFrame.java | 4 +- src/jalview/gui/DasSourceBrowser.java | 9 ++- src/jalview/gui/FeatureSettings.java | 113 ++++++++++++++------------------- src/jalview/gui/SeqPanel.java | 19 +++--- 4 files changed, 68 insertions(+), 77 deletions(-) diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index b85d5d4..9b3bd4a 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -212,8 +212,6 @@ public class AlignFrame { alignPanel.seqPanel.seqCanvas.fr.featuresAdded(); alignPanel.repaint(); - if(featureSettings!=null) - featureSettings.setTableData(); } } @@ -1529,7 +1527,7 @@ public class AlignFrame } - FeatureSettings featureSettings; + public FeatureSettings featureSettings; public void featureSettings_actionPerformed(ActionEvent e) { if(featureSettings !=null ) diff --git a/src/jalview/gui/DasSourceBrowser.java b/src/jalview/gui/DasSourceBrowser.java index 6388e07..36e5164 100755 --- a/src/jalview/gui/DasSourceBrowser.java +++ b/src/jalview/gui/DasSourceBrowser.java @@ -41,11 +41,13 @@ public class DasSourceBrowser extends GDasSourceBrowser Vector selectedSources; + String DEFAULT_REGISTRY = "http://das.sanger.ac.uk/registry/das1/sources/"; + public DasSourceBrowser() { registryURL.setText(jalview.bin.Cache.getDefault("DAS_REGISTRY_URL", - "http://das.sanger.ac.uk/registry/das1/sources/") ); + DEFAULT_REGISTRY) ); setSelectedFromProperties(); @@ -678,6 +680,11 @@ public class DasSourceBrowser extends GDasSourceBrowser } } + public void reset_actionPerformed(ActionEvent e) + { + registryURL.setText(DEFAULT_REGISTRY); + } + public void saveProperties(Properties properties) { if (registryURL.getText() == null || registryURL.getText().length() < 1) diff --git a/src/jalview/gui/FeatureSettings.java b/src/jalview/gui/FeatureSettings.java index 314c357..687c18b 100755 --- a/src/jalview/gui/FeatureSettings.java +++ b/src/jalview/gui/FeatureSettings.java @@ -48,7 +48,6 @@ public class FeatureSettings extends JPanel JSlider transparency = new JSlider(); JPanel transPanel = new JPanel(new FlowLayout()); - boolean alignmentHasFeatures = false; public FeatureSettings(AlignFrame af) { @@ -66,6 +65,54 @@ public class FeatureSettings extends JPanel ex.printStackTrace(); } + table = new JTable(); + table.getTableHeader().setFont(new Font("Verdana", Font.PLAIN, 12)); + table.setFont(new Font("Verdana", Font.PLAIN, 12)); + table.setDefaultRenderer(Color.class, + new ColorRenderer()); + + table.setDefaultEditor(Color.class, + new ColorEditor()); + + table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + + table.addMouseListener(new MouseAdapter() + { + public void mousePressed(MouseEvent evt) + { + selectedRow = table.rowAtPoint(evt.getPoint()); + } + }); + + table.addMouseMotionListener(new MouseMotionAdapter() + { + public void mouseDragged(MouseEvent evt) + { + int newRow = table.rowAtPoint(evt.getPoint()); + if (newRow != selectedRow + && selectedRow != -1 + && newRow != -1) + { + Object[] temp = new Object[3]; + temp[0] = table.getValueAt(selectedRow, 0); + temp[1] = table.getValueAt(selectedRow, 1); + temp[2] = table.getValueAt(selectedRow, 2); + + table.setValueAt(table.getValueAt(newRow, 0), selectedRow, 0); + table.setValueAt(table.getValueAt(newRow, 1), selectedRow, 1); + table.setValueAt(table.getValueAt(newRow, 2), selectedRow, 2); + + table.setValueAt(temp[0], newRow, 0); + table.setValueAt(temp[1], newRow, 1); + table.setValueAt(temp[2], newRow, 2); + + selectedRow = newRow; + } + } + }); + + scrollPane.setViewportView(table); + dassourceBrowser = new DasSourceBrowser(); dasSettingsPane.add(dassourceBrowser, BorderLayout.CENTER); @@ -84,8 +131,6 @@ public class FeatureSettings extends JPanel synchronized public void setTableData() { - alignmentHasFeatures = false; - if (fr.featureGroups == null) fr.featureGroups = new Hashtable(); @@ -99,8 +144,6 @@ public class FeatureSettings extends JPanel if (af.getViewport().alignment.getSequenceAt(i).getDatasetSequence().getSequenceFeatures() == null) continue; - alignmentHasFeatures = true; - tmpfeatures = af.getViewport().alignment.getSequenceAt(i).getDatasetSequence().getSequenceFeatures(); int index = 0; @@ -173,19 +216,6 @@ public class FeatureSettings extends JPanel } } - - if(!alignmentHasFeatures) - { - // try - // { frame.setClosed(true); } - // catch (Exception ex){} - - // JOptionPane.showInternalMessageDialog( - /// Desktop.desktop, "No features have been added to this alignment!", - // - // return; - } - resetTable(false); } @@ -271,54 +301,9 @@ public class FeatureSettings extends JPanel System.arraycopy(data,0,originalData,0,data.length); } - table = new JTable(new FeatureTableModel(data)); - scrollPane.setViewportView(table); - table.getTableHeader().setFont(new Font("Verdana", Font.PLAIN, 12)); - table.setFont(new Font("Verdana", Font.PLAIN, 12)); - table.setDefaultRenderer(Color.class, - new ColorRenderer()); - - table.setDefaultEditor(Color.class, - new ColorEditor()); - + table.setModel(new FeatureTableModel(data)); table.getColumnModel().getColumn(0).setPreferredWidth(200); - table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - - table.addMouseListener(new MouseAdapter() - { - public void mousePressed(MouseEvent evt) - { - selectedRow = table.rowAtPoint(evt.getPoint()); - } - }); - - table.addMouseMotionListener(new MouseMotionAdapter() - { - public void mouseDragged(MouseEvent evt) - { - int newRow = table.rowAtPoint(evt.getPoint()); - if(newRow!=selectedRow - && selectedRow!=-1 - && newRow!=-1) - { - Object[] temp = new Object[3]; - temp[0] = table.getValueAt(selectedRow, 0); - temp[1] = table.getValueAt(selectedRow, 1); - temp[2] = table.getValueAt(selectedRow, 2); - - table.setValueAt(table.getValueAt(newRow, 0), selectedRow, 0); - table.setValueAt(table.getValueAt(newRow, 1), selectedRow, 1); - table.setValueAt(table.getValueAt(newRow, 2), selectedRow, 2); - - table.setValueAt(temp[0], newRow, 0); - table.setValueAt(temp[1], newRow, 1); - table.setValueAt(temp[2], newRow, 2); - - selectedRow = newRow; - } - } - }); if (groupPanel != null) { diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index e5b841a..a4d9240 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -1243,14 +1243,6 @@ public class SeqPanel extends JPanel implements MouseListener, } - if (av.cursorMode) - { - seqCanvas.cursorX = findRes(evt); - seqCanvas.cursorY = findSeq(evt); - seqCanvas.repaint(); - return; - } - if (javax.swing.SwingUtilities.isRightMouseButton(evt)) { @@ -1271,9 +1263,18 @@ public class SeqPanel extends JPanel implements MouseListener, jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(ap, null, links); pop.show(this, evt.getX(), evt.getY()); + return; + } + if (av.cursorMode) + { + seqCanvas.cursorX = findRes(evt); + seqCanvas.cursorY = findSeq(evt); + seqCanvas.repaint(); + return; } - else if (stretchGroup == null) + + if (stretchGroup == null) { //Only if left mouse button do we want to change group sizes -- 1.7.10.2