X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSplitFrame.java;h=b790d62444114499d84451723f61a007127c4ab2;hb=db4eacee27b836db4126dca551887bfc6652d72a;hp=bfb3719df02f5215afe7730583efb59dbc04185a;hpb=f69e96788c2ae3a08f56c4461d8d197a3b3a06a2;p=jalview.git diff --git a/src/jalview/gui/SplitFrame.java b/src/jalview/gui/SplitFrame.java index bfb3719..b790d62 100644 --- a/src/jalview/gui/SplitFrame.java +++ b/src/jalview/gui/SplitFrame.java @@ -1,5 +1,33 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ package jalview.gui; +import jalview.api.SplitContainerI; +import jalview.api.ViewStyleI; +import jalview.datamodel.AlignmentI; +import jalview.jbgui.GAlignFrame; +import jalview.jbgui.GSplitFrame; +import jalview.structure.StructureSelectionManager; +import jalview.viewmodel.AlignmentViewport; + import java.awt.Component; import java.awt.Toolkit; import java.awt.event.ActionEvent; @@ -18,14 +46,6 @@ import javax.swing.KeyStroke; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; -import jalview.api.SplitContainerI; -import jalview.api.ViewStyleI; -import jalview.datamodel.AlignmentI; -import jalview.jbgui.GAlignFrame; -import jalview.jbgui.GSplitFrame; -import jalview.structure.StructureSelectionManager; -import jalview.viewmodel.AlignmentViewport; - /** * An internal frame on the desktop that hosts a horizontally split view of * linked DNA and Protein alignments. Additional views can be created in linked @@ -65,14 +85,14 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI // about 50 pixels for the SplitFrame's title bar etc int height = ((AlignFrame) getTopFrame()).getHeight() + ((AlignFrame) getBottomFrame()).getHeight() + 50; - height = Math.min(height, Desktop.instance.getHeight() - 20); - // setSize(AlignFrame.DEFAULT_WIDTH, Desktop.instance.getHeight() - 20); + // about 65 pixels for Desktop decorators on Windows + height = Math.min(height, Desktop.instance.getHeight() - 65); setSize(width, height); adjustLayout(); addCloseFrameListener(); - + addKeyListener(); addKeyBindings(); @@ -144,16 +164,7 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI @Override public void internalFrameClosed(InternalFrameEvent evt) { - if (getTopFrame() instanceof AlignFrame) - { - ((AlignFrame) getTopFrame()) - .closeMenuItem_actionPerformed(true); - } - if (getBottomFrame() instanceof AlignFrame) - { - ((AlignFrame) getBottomFrame()) - .closeMenuItem_actionPerformed(true); - } + close(); }; }); } @@ -164,7 +175,8 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI */ protected void addKeyListener() { - addKeyListener(new KeyAdapter() { + addKeyListener(new KeyAdapter() + { @Override public void keyPressed(KeyEvent e) @@ -198,7 +210,7 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI } } } - + }); } @@ -392,6 +404,8 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI { AlignFrame topFrame = (AlignFrame) getTopFrame(); AlignFrame bottomFrame = (AlignFrame) getBottomFrame(); + final boolean scaleProteinAsCdna = topFrame.viewport + .isScaleProteinAsCdna(); AlignmentPanel newTopPanel = topFrame.newView(null, true); AlignmentPanel newBottomPanel = bottomFrame.newView(null, true); @@ -410,6 +424,19 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI newBottomPanel.av.viewName = newTopPanel.av.viewName; newTopPanel.av.setCodingComplement(newBottomPanel.av); + /* + * These lines can be removed once scaleProteinAsCdna is added to element + * Viewport in jalview.xsd, as Jalview2XML.copyAlignPanel will then take + * care of it + */ + newTopPanel.av.setScaleProteinAsCdna(scaleProteinAsCdna); + newBottomPanel.av.setScaleProteinAsCdna(scaleProteinAsCdna); + + /* + * Line up id labels etc + */ + adjustLayout(); + final StructureSelectionManager ssm = StructureSelectionManager .getStructureSelectionManager(Desktop.instance); ssm.addCommandListener(newTopPanel.av); @@ -632,4 +659,3 @@ public class SplitFrame extends GSplitFrame implements SplitContainerI overrideKeyBinding(key_cmdF, action); } } -