X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAlignFrame.java;h=7b1dfeb10c4a81e1b87b0a7390eeb5a3ac5f81b4;hb=c858b2b71816055429bd496a7158973ad8acec57;hp=6aceffcc861a987d17b6f848678e740c7623aedc;hpb=49606a763a26d7e130b06078558f079603ea8bae;p=jalview.git diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index 6aceffc..7b1dfeb 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -64,7 +64,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener String fileName = null; - private int treeCount = 0; /** * Creates a new AlignFrame object. @@ -159,7 +158,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener void addKeyListener() { - final AlignFrame af = this; addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent evt) @@ -173,17 +171,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener switch (evt.getKeyCode()) { - case KeyEvent.VK_G: - Desktop.instance.gatherViews(af); - break; - - case KeyEvent.VK_X: - if (!evt.isControlDown()) - { - Desktop.instance.explodeViews(af); - } - break; - case 27: // escape key deselectAllSequenceMenuItem_actionPerformed(null); @@ -323,7 +310,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener SequenceGroup sg = viewport.getSelectionGroup(); if (toggleSeqs) { - if (sg != null && sg.getSize(false) != viewport.alignment.getHeight()) + if (sg != null && sg.getSize() != viewport.alignment.getHeight()) { hideSelSequences_actionPerformed(null); hide = true; @@ -388,13 +375,12 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener { if (aSize == 2) { - AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement(); - tabbedPane.addTab(first.av.viewName==null?"Original":first.av.viewName,first); - - this.getContentPane().add(tabbedPane, BorderLayout.CENTER); + setInitialTabVisible(); } - tabbedPane.addTab(ap.av.viewName==null?"Original":ap.av.viewName, ap); + expandViews.setEnabled(true); + gatherViews.setEnabled(true); + tabbedPane.addTab(ap.av.viewName, ap); ap.setVisible(false); } @@ -408,6 +394,16 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener } } + public void setInitialTabVisible() + { + expandViews.setEnabled(true); + gatherViews.setEnabled(true); + tabbedPane.setVisible(true); + AlignmentPanel first = (AlignmentPanel) alignPanels.firstElement(); + tabbedPane.addTab(first.av.viewName,first); + this.getContentPane().add(tabbedPane, BorderLayout.CENTER); + } + public AlignViewport getViewport() { @@ -473,7 +469,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener abovePIDThreshold.setSelected(av.getAbovePIDThreshold()); conservationMenuItem.setSelected(av.getConservationSelected()); seqLimits.setSelected(av.getShowJVSuffix()); - idRightAlign.setSelected(av.idsAlignRight); + idRightAlign.setSelected(av.rightAlignIds); renderGapsMenuItem.setSelected(av.renderGaps); wrapMenuItem.setSelected(av.wrapAlignment); annotationPanelMenuItem.setState(av.showAnnotation); @@ -562,7 +558,22 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener { if(currentFileFormat.equals("Jalview")) { - this.closeMenuItem_actionPerformed(true); + JInternalFrame [] frames = Desktop.desktop.getAllFrames(); + for(int i=0; iSelect a dark and light text colour, then set the threshold to" - +"
switch between colours, based on background colour
"), - BorderLayout.NORTH); - panel.add(col1); - panel.add(slider); - panel.add(col2); - - col1.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - Color col = JColorChooser.showDialog(bigpanel, - "Select Colour for Text", - viewport.textColour); - if (col != null) - { - viewport.textColour = col; - col1.setBackground(col); - col1.setForeground(col); - if(viewport.colourAppliesToAllGroups) - setGroupTextColour(); - } - alignPanel.repaint(); - } - }); - - col2.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - Color col = JColorChooser.showDialog(bigpanel, - "Select Colour for Text", - viewport.textColour); - if (col != null) - { - viewport.textColour2 = col; - col2.setBackground(col); - col2.setForeground(col); - if(viewport.colourAppliesToAllGroups) - setGroupTextColour(); - } - alignPanel.repaint(); - } - }); - - - slider.addChangeListener(new ChangeListener() - { - public void stateChanged(ChangeEvent evt) - { - viewport.thresholdTextColour = slider.getValue(); - if(viewport.colourAppliesToAllGroups) - setGroupTextColour(); - alignPanel.repaint(); - } - }); - - int reply = JOptionPane.showInternalOptionDialog(this, - bigpanel, - "Adjust Foreground Text Colour Threshold", - JOptionPane.OK_CANCEL_OPTION, - JOptionPane.QUESTION_MESSAGE, - null, - null, null); - - if(reply==JOptionPane.CANCEL_OPTION) - { - viewport.textColour = new Color(original1); - viewport.textColour2 = new Color(original2); - viewport.thresholdTextColour = thresh; - } - } - - void setGroupTextColour() - { - if(viewport.alignment.getGroups()==null) - return; - - Vector groups = viewport.alignment.getGroups(); - - for(int i=0; i 0)) || + (viewport.getSelectionGroup().getSize() < 4) && + (viewport.getSelectionGroup().getSize() > 0)) || (viewport.getAlignment().getHeight() < 4)) { JOptionPane.showInternalMessageDialog(this, @@ -2575,7 +2562,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener return; } - new PCAPanel(viewport); + new PCAPanel(alignPanel); } @@ -2643,7 +2630,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener TreePanel tp; if (viewport.getSelectionGroup() != null) { - if (viewport.getSelectionGroup().getSize(false) < 3) { + if (viewport.getSelectionGroup().getSize() < 3) { JOptionPane.showMessageDialog(Desktop.desktop, "You need to have more than two sequences selected to build a tree!", "Not enough sequences", @@ -2655,9 +2642,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener SequenceGroup sg = viewport.getSelectionGroup(); /* Decide if the selection is a column region */ - while (s < sg.getSize(false)) + while (s < sg.getSize()) { - if ( ( (SequenceI) sg.getSequences(false).elementAt(s++)).getLength() < + if ( ( (SequenceI) sg.getSequences(null).elementAt(s++)).getLength() < sg.getEndRes()) { JOptionPane.showMessageDialog(Desktop.desktop, @@ -2695,9 +2682,14 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener tp = new TreePanel(alignPanel, type, pwType); } - addTreeMenuItem(tp, title); + title += " from "; + + if(viewport.viewName!=null) + title+= viewport.viewName+" of "; - Desktop.addInternalFrame(tp, title + " from " + this.title, 600, 500); + title += this.title; + + Desktop.addInternalFrame(tp, title, 600, 500); } /** @@ -2735,51 +2727,53 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener * @param treePanel Displayed tree window. * @param title SortBy menu item title. */ - void addTreeMenuItem(final TreePanel treePanel, String title) + public void buildTreeMenu() { - final JMenuItem item = new JMenuItem(title); - - treeCount++; + sortByTreeMenu.removeAll(); - if (treeCount == 1) + Vector comps = (Vector)PaintRefresher.components.get(viewport.getSequenceSetId()); + Vector treePanels = new Vector(); + int i, iSize = comps.size(); + for(i=0; i 1)) + (viewport.getSelectionGroup().getSize() > 1)) { // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface! /*SequenceGroup seqs = viewport.getSelectionGroup(); @@ -2835,7 +2829,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener AlignmentView seqs = null; if ( (viewport.getSelectionGroup() != null) && - (viewport.getSelectionGroup().getSize(false) > 0)) + (viewport.getSelectionGroup().getSize() > 0)) { seqs = viewport.getAlignmentView(true); } @@ -2935,7 +2929,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener Desktop.addInternalFrame(tp, title, w, h); - addTreeMenuItem(tp, title); } } catch (Exception ex) @@ -2946,28 +2939,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener return tp; } - class PrintThread - extends Thread - { - public void run() - { - PrinterJob printJob = PrinterJob.getPrinterJob(); - PageFormat pf = printJob.pageDialog(printJob.defaultPage()); - printJob.setPrintable(alignPanel, pf); - - if (printJob.printDialog()) - { - try - { - printJob.print(); - } - catch (Exception PrintException) - { - PrintException.printStackTrace(); - } - } - } - } /** * Generates menu items and listener event actions for web service clients @@ -3302,7 +3273,7 @@ public void drop(DropTargetDropEvent evt) } boolean isAnnotation = new AnnotationFile().readAnnotationFile(viewport. - alignment, file); + alignment, file, protocol); if (!isAnnotation) { @@ -3370,3 +3341,34 @@ public void drop(DropTargetDropEvent evt) return viewport; } } + +class PrintThread extends Thread +{ + AlignmentPanel ap; + public PrintThread(AlignmentPanel ap) + { + this.ap = ap; + } + static PageFormat pf; + public void run() + { + PrinterJob printJob = PrinterJob.getPrinterJob(); + + if (pf != null) + printJob.setPrintable(ap, pf); + else + printJob.setPrintable(ap); + + if (printJob.printDialog()) + { + try + { + printJob.print(); + } + catch (Exception PrintException) + { + PrintException.printStackTrace(); + } + } + } +}