From: arnaiz <oli...@us...> - 2007-05-25 12:46:13
|
Update of /cvsroot/gmod/apollo/src/java/apollo/gui/detailviewers/exonviewer In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv4978 Modified Files: BaseFineEditor.java BaseEditorPanel.java Log Message: A "GoTo" button in the exon details editor. Index: BaseFineEditor.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/detailviewers/exonviewer/BaseFineEditor.java,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** BaseFineEditor.java 16 Nov 2005 00:10:26 -0000 1.49 --- BaseFineEditor.java 25 May 2007 12:45:12 -0000 1.50 *************** *** 58,61 **** --- 58,62 ---- protected JButton findButton; protected JButton clearFindsButton; + protected JButton goToButton; protected JCheckBox showIntronBox; // Need? private JCheckBox followSelectionCheckBox; *************** *** 333,336 **** --- 334,343 ---- } ); + goToButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + editorPanel.showGoToDialog(); + } + } + ); showIntronBox.addActionListener(new ActionListener() { *************** *** 410,413 **** --- 417,421 ---- findButton = null; clearFindsButton = null; + goToButton = null; upstream_button = null; downstream_button = null; *************** *** 427,430 **** --- 435,440 ---- // Disable until we actually get search results clearFindsButton.setEnabled(false); + + goToButton = new JButton("GoTo..."); showIntronBox = new JCheckBox("Show introns in translation viewer", true); *************** *** 472,479 **** checkboxesTop.setBackground (Color.white); checkboxesTop.add(Box.createHorizontalStrut(5)); ! checkboxesTop.add(findButton); checkboxesTop.add(Box.createHorizontalStrut(10)); checkboxesTop.add(clearFindsButton); ! checkboxesTop.add(Box.createHorizontalGlue()); Box checkboxesBottom = new Box(BoxLayout.X_AXIS); checkboxesBottom.add(showIntronBox); --- 482,491 ---- checkboxesTop.setBackground (Color.white); checkboxesTop.add(Box.createHorizontalStrut(5)); ! checkboxesTop.add(findButton); checkboxesTop.add(Box.createHorizontalStrut(10)); checkboxesTop.add(clearFindsButton); ! checkboxesTop.add(Box.createHorizontalStrut(15)); ! checkboxesTop.add(goToButton); ! checkboxesTop.add(Box.createHorizontalGlue()); Box checkboxesBottom = new Box(BoxLayout.X_AXIS); checkboxesBottom.add(showIntronBox); Index: BaseEditorPanel.java =================================================================== RCS file: /cvsroot/gmod/apollo/src/java/apollo/gui/detailviewers/exonviewer/BaseEditorPanel.java,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** BaseEditorPanel.java 29 Dec 2006 16:39:06 -0000 1.79 --- BaseEditorPanel.java 25 May 2007 12:45:12 -0000 1.80 *************** *** 375,379 **** splices[1] = acceptor; } ! private class FindDialog extends JDialog { JLabel seqLabel; --- 375,434 ---- splices[1] = acceptor; } ! private class GoToDialog extends JDialog { ! JLabel posLabel; ! JTextField posField; ! JButton goButton; ! ! public GoToDialog() { ! posLabel = new JLabel("Position"); ! posField = new JTextField(); ! goButton = new JButton("GoTo"); ! init(); ! } ! private void init() { ! Box posBox = new Box(BoxLayout.X_AXIS); ! posBox.add(Box.createHorizontalStrut(5)); ! posBox.add(posLabel); ! posBox.add(Box.createHorizontalStrut(10)); ! posBox.add(posField); ! posBox.add(Box.createHorizontalStrut(15)); ! posBox.add(goButton); ! getContentPane().add(posBox); ! setTitle("Exon Detail Editor GoTo"); ! setSize(250,50); ! ! goButton.addActionListener(new ActionListener() { ! public void actionPerformed(ActionEvent e) { ! goTo(); ! } ! }); ! } ! ! private void goTo() { ! String pos = posField.getText(); ! if (pos.length() < 1) ! return; ! try { ! int position = Integer.parseInt(pos); ! scrollToBase(position); ! Vector zones = new Vector(); ! int [] match_positions = new int[2]; ! if (reverseStrand) { ! match_positions[0] = basePairToPos(position); ! match_positions[1] = basePairToPos((position-1)); ! } else { ! match_positions[0] = basePairToPos(position); ! match_positions[1] = basePairToPos((position+1)); ! } ! zones.add(match_positions); ! setHitZones(zones); ! setShowHitZones(true); ! baseFineEditor.clearFindsButton.setEnabled(true); ! dispose(); ! } catch (Exception e) { ! logger.error("Not an integer: " + pos); ! } ! } ! } private class FindDialog extends JDialog { JLabel seqLabel; *************** *** 825,828 **** --- 880,888 ---- } + protected void showGoToDialog() { + GoToDialog gtd = new GoToDialog(); + gtd.show(); + } + protected boolean notTooSmall (int start_pos, int end_pos) { return (end_pos - start_pos + 1) >= MIN_FEATURE_SIZE; |