X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FFinder.java;h=db46177cedc6ff7b694ffcf3674655db184f855b;hb=27e04880edb301447f2e57b5156b8c685b853b68;hp=8905b5256026cb3cb9830312ada0e9bb9fac5003;hpb=dedbb25d7f54f28aaa36592be27c80487090e10d;p=jalview.git diff --git a/src/jalview/appletgui/Finder.java b/src/jalview/appletgui/Finder.java index 8905b52..db46177 100755 --- a/src/jalview/appletgui/Finder.java +++ b/src/jalview/appletgui/Finder.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -25,6 +25,7 @@ import java.awt.*; import java.awt.event.*; import jalview.datamodel.*; +import java.awt.Rectangle; public class Finder extends Panel implements ActionListener { @@ -107,7 +108,7 @@ public class Finder extends Panel implements ActionListener SequenceFeature sf = new SequenceFeature(featureName, null, null, searchResults.getResultStart(i), - searchResults.getResultEnd(i)); + searchResults.getResultEnd(i), "Search Results"); ap.seqPanel.seqCanvas.getFeatureRenderer().addNewFeature( featureName, new Color(60,160,115)); @@ -122,9 +123,16 @@ public class Finder extends Panel implements ActionListener void doSearch(boolean findAll) { + if(jalview.bin.JalviewLite.currentAlignFrame!=null) + { + ap = jalview.bin.JalviewLite.currentAlignFrame.alignPanel; + av = ap.av; + } createNewGroup.setEnabled(false); - String searchString = textfield.getText().toUpperCase(); + String searchString = textfield.getText(); + if(!caseSensitive.getState()) + searchString = searchString.toUpperCase(); com.stevesoft.pat.Regex regex = new com.stevesoft.pat.Regex(searchString); @@ -140,7 +148,7 @@ public class Finder extends Panel implements ActionListener int res = Integer.parseInt(searchString); found = true; - if (av.getSelectionGroup() == null || av.getSelectionGroup().getSize() < 1) + if (av.getSelectionGroup() == null || av.getSelectionGroup().getSize(false) < 1) { seq = (Sequence) av.getAlignment().getSequenceAt(0); } @@ -163,7 +171,7 @@ public class Finder extends Panel implements ActionListener SequenceGroup selection = av.getSelectionGroup(); if (selection != null) { - if (selection.getSize() < 1 || + if (selection.getSize(false) < 1 || (selection.getEndRes() - selection.getStartRes() < 2)) { selection = null; @@ -175,14 +183,16 @@ public class Finder extends Panel implements ActionListener seq = (Sequence) av.alignment.getSequenceAt(seqIndex); - if (selection != null && !selection.sequences.contains(seq)) + if (selection != null && !selection.getSequences(false).contains(seq)) { seqIndex++; resIndex = 0; continue; } - item = seq.getSequence().toUpperCase(); + item = seq.getSequence(); + if(!caseSensitive.getState()) + item = item.toUpperCase(); if (selection != null && selection.getEndRes() < av.alignment.getWidth()) { @@ -297,7 +307,7 @@ public class Finder extends Panel implements ActionListener Panel jPanel1 = new Panel(); GridLayout gridLayout1 = new GridLayout(); protected Button createNewGroup = new Button(); - + Checkbox caseSensitive = new Checkbox(); private void jbInit() throws Exception { jLabel1.setFont(new java.awt.Font("Verdana", 0, 12)); @@ -329,10 +339,13 @@ public class Finder extends Panel implements ActionListener createNewGroup.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10)); createNewGroup.setLabel("New Feature"); createNewGroup.addActionListener(this); - jPanel1.add(findNext, null); + caseSensitive.setLabel("Match Case"); + caseSensitive.setBounds(new Rectangle(40, 49, 126, 23)); + jPanel1.add(findNext, null); jPanel1.add(findAll, null); jPanel1.add(createNewGroup, null); - this.add(textfield, null); + this.add(caseSensitive); + this.add(textfield, null); this.add(jLabel1, null); this.add(jPanel1, null); }