X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=b9ba9f344c7fa4aaebc5af7be02b2d08a0b725bc;hb=9807ea8cc4e867378c52d51b832168d4bc611d29;hp=ab5ed30eb905914bf74a44c53a6c0e386f6fa5c7;hpb=bf22060aa91d40c9d6f7e3c7f518b6bd0457921e;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index ab5ed30..b9ba9f3 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -18,8 +18,6 @@ */ package jalview.gui; -import jalview.analysis.*; - import jalview.datamodel.*; import jalview.schemes.*; @@ -91,21 +89,31 @@ public class SeqPanel extends JPanel ap = p; + addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent evt) { doMouseMoved(evt); + if (editingSeqs) + { + // This is because MacOSX creates a mouseMoved + // If control is down + if(!av.isDataset()) + doMouseDragged(evt); + } } public void mouseDragged(MouseEvent evt) { if (editingSeqs) { + if(!av.isDataset()) doMouseDragged(evt); } else { + if(!av.isDataset()) doMouseDraggedDefineMode(evt); } } @@ -120,7 +128,7 @@ public class SeqPanel extends JPanel { Font font = av.getFont(); int fontSize = font.getSize(); - if (e.getWheelRotation() > 0 && fontSize < 30) + if (e.getWheelRotation() > 0 && fontSize < 51) fontSize++; else if (fontSize > 1) fontSize--; @@ -140,67 +148,71 @@ public class SeqPanel extends JPanel }); - addMouseListener(new MouseAdapter() - { - public void mouseReleased(MouseEvent evt) - { - mouseWheelPressed = false; - - if (editingSeqs) - { - doMouseReleased(evt); - } - else - { - doMouseReleasedDefineMode(evt); - } - } - - public void mousePressed(MouseEvent evt) - { - if( javax.swing.SwingUtilities.isMiddleMouseButton(evt)) - { - mouseWheelPressed = true; - return; - } + if(!av.isDataset()) + { + addMouseListener(new MouseAdapter() + { + public void mouseReleased(MouseEvent evt) + { + mouseWheelPressed = false; - if (evt.isShiftDown() || evt.isAltDown() || - evt.isControlDown()) - { - if (evt.isAltDown() || evt.isControlDown()) - { - groupEditing = true; - } + if (editingSeqs) + { + doMouseReleased(evt); + } + else + { + doMouseReleasedDefineMode(evt); + } + } - editingSeqs = true; - doMousePressed(evt); - } - else - { - doMousePressedDefineMode(evt); - } - } + public void mousePressed(MouseEvent evt) + { + if (javax.swing.SwingUtilities.isMiddleMouseButton(evt)) + { + mouseWheelPressed = true; + return; + } + + if (evt.isShiftDown() || evt.isAltDown() || + evt.isControlDown()) + { + if (evt.isAltDown() || evt.isControlDown()) + { + groupEditing = true; + + } + + editingSeqs = true; + doMousePressed(evt); + } + else + { + doMousePressedDefineMode(evt); + } + } - public void mouseExited(MouseEvent evt) - { - if (editingSeqs) - { - return; - } + public void mouseExited(MouseEvent evt) + { + if (editingSeqs) + { + return; + } - doMouseExitedDefineMode(evt); - } + doMouseExitedDefineMode(evt); + } - public void mouseEntered(MouseEvent evt) - { - if (editingSeqs) - { - return; - } + public void mouseEntered(MouseEvent evt) + { + if (editingSeqs) + { + return; + } - doMouseEnteredDefineMode(evt); - } - }); + doMouseEnteredDefineMode(evt); + } + }); + } } int startWrapBlock=-1; @@ -238,6 +250,9 @@ public class SeqPanel extends JPanel res = (x / av.getCharWidth()) + av.getStartRes(); } + if(av.hasHiddenColumns) + res = av.getColumnSelection().adjustForHiddenColumns(res); + return res; } @@ -345,6 +360,12 @@ public class SeqPanel extends JPanel return; } + if(seqCanvas.pdbCanvas!=null && sequence==seqCanvas.pdbCanvas.sequence) + { + seqCanvas.pdbCanvas.highlightRes(sequence.findPosition(res)); + } + + StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: " + sequence.getName()); @@ -378,32 +399,62 @@ public class SeqPanel extends JPanel // use aa to see if the mouse pointer is on a if (av.showSequenceFeatures) { - Vector features = sequence.getSequenceFeatures(); - Enumeration e = features.elements(); - StringBuffer sbuffer = new StringBuffer(); - - while (e.hasMoreElements()) + SequenceFeature [] features = sequence.getDatasetSequence().getSequenceFeatures(); + if(features!=null) { - SequenceFeature sf = (SequenceFeature) e.nextElement(); + StringBuffer sbuffer = new StringBuffer(""); - if ((sf.getStart() <= sequence.findPosition(res)) && - (sf.getEnd() >= sequence.findPosition(res))) + for (int i = 0; i < features.length; i++) + { + + if ( (features[i].getBegin() <= sequence.findPosition(res)) && + (features[i].getEnd() >= sequence.findPosition(res))) { - if (sbuffer.length() > 0) + if(!av.featuresDisplayed.containsKey(features[i].getType())) + continue; + + + if (features[i].getType().equals("disulfide bond")) + { + if (features[i].getBegin() == sequence.findPosition(res) + || features[i].getEnd() == sequence.findPosition(res)) { - sbuffer.append("; "); + if (sbuffer.length() > 6) + sbuffer.append("
"); + sbuffer.append("disulfide bond " + features[i].getBegin() + ":" + + features[i].getEnd()); } + } + else + { + if (sbuffer.length() > 6) + sbuffer.append("
"); + if(features[i].featureGroup!=null) + sbuffer.append(features[i].featureGroup+";"); + + sbuffer.append(features[i].getType()); - sbuffer.append(sf.getType() + " " + sf.getDescription()); + if (features[i].getDescription() != null + && !features[i].description.equals(features[i].getType())) + sbuffer.append("; " + features[i].getDescription()); - if (sf.getStatus().length() > 0) + if (features[i].getStatus() != null && features[i].getStatus().length()>0) { - sbuffer.append(" (" + sf.getStatus() + ")"); + sbuffer.append("; (" + features[i].getStatus() + ")"); } + } } - } - this.setToolTipText(sbuffer.toString()); + } + + sbuffer.append(""); + if(sbuffer.length()==13) // + setToolTipText(""); + else + setToolTipText(sbuffer.toString()); + } + else + setToolTipText(""); } } @@ -559,19 +610,6 @@ public class SeqPanel extends JPanel seqCanvas.repaint(); } - /** - * DOCUMENT ME! - * - * @param seqstart DOCUMENT ME! - * @param seqend DOCUMENT ME! - * @param start DOCUMENT ME! - */ - public void drawChars(int seqstart, int seqend, int start) - { - seqCanvas.drawPanel(seqCanvas.gg, start, av.getEndRes(), seqstart, - seqend, av.getStartRes(), av.getStartSeq(), 0); - seqCanvas.repaint(); - } /** * DOCUMENT ME! @@ -969,7 +1007,7 @@ public class SeqPanel extends JPanel try { - Thread.sleep(75); + Thread.sleep(20); } catch (Exception ex) {