import jalview.structure.StructureSelectionManager;
import jalview.structure.VamsasSource;
import jalview.util.MessageManager;
-import jalview.util.StringUtils;
import jalview.viewmodel.AlignmentViewport;
import jalview.ws.params.AutoCalcSetting;
boolean antiAlias = false;
- Rectangle explodedPosition;
+ private Rectangle explodedGeometry;
String viewName;
- boolean gatherViewsHere = false;
+ private boolean gatherViewsHere = false;
private Deque<CommandI> historyList = new ArrayDeque<CommandI>();
style = 2;
}
- setFont(new Font(fontName, style, Integer.parseInt(fontSize)));
+ setFont(new Font(fontName, style, Integer.parseInt(fontSize)), true);
alignment
.setGapCharacter(Cache.getDefault("GAP_SYMBOL", "-").charAt(0));
boolean validCharWidth;
/**
- * DOCUMENT ME!
+ * update view settings with the given font. You may need to call
+ * alignPanel.fontChanged to update the layout geometry
*
- * @param f
- * DOCUMENT ME!
+ * @param setGrid
+ * when true, charWidth/height is set according to font mentrics
*/
- public void setFont(Font f)
+ public void setFont(Font f, boolean setGrid)
{
font = f;
java.awt.FontMetrics fm = c.getFontMetrics(font);
int w = viewStyle.getCharWidth(), ww = fm.charWidth('M'), h = viewStyle
.getCharHeight();
- // only update width/height if the new font won't fit
- if (h < fm.getHeight())
+ if (setGrid)
{
setCharHeight(fm.getHeight());
- }
- if (w < ww)
- {
setCharWidth(ww);
}
viewStyle.setFontName(font.getName());
{
super.setViewStyle(settingsForView);
setFont(new Font(viewStyle.getFontName(), viewStyle.getFontStyle(),
- viewStyle.getFontSize()));
+ viewStyle.getFontSize()), false);
}
/**
if (openSplitPane)
{
+ // TODO: move this kind of constructor stuff to a factory/controller
+ // method ?
/*
* Open in split pane. DNA sequence above, protein below.
*/
cdnaFrame.setVisible(true);
proteinFrame.setVisible(true);
String sep = String.valueOf(File.separatorChar);
- String proteinShortName = StringUtils.getLastToken(
- proteinFrame.getTitle(), sep);
- String dnaShortName = StringUtils.getLastToken(cdnaFrame.getTitle(),
- sep);
+ String proteinShortName = proteinFrame.getTitle().substring(
+ proteinFrame.getTitle().lastIndexOf(sep) + 1);
+ String dnaShortName = cdnaFrame.getTitle().substring(
+ cdnaFrame.getTitle().lastIndexOf(sep) + 1);
String linkedTitle = MessageManager.formatMessage(
"label.linked_view_title", dnaShortName, proteinShortName);
JInternalFrame splitFrame = new SplitFrame(cdnaFrame, proteinFrame);
- Desktop.addInternalFrame(splitFrame, linkedTitle,
- AlignFrame.DEFAULT_WIDTH,
- AlignFrame.DEFAULT_HEIGHT);
+ Desktop.addInternalFrame(splitFrame, linkedTitle, -1, -1);
/*
* Set the frames to listen for each other's edit and sort commands.
getAlignPanel().getIdPanel().getIdCanvas().setPreferredSize(idw);
}
}
+
+ public Rectangle getExplodedGeometry()
+ {
+ return explodedGeometry;
+ }
+
+ public void setExplodedGeometry(Rectangle explodedPosition)
+ {
+ this.explodedGeometry = explodedPosition;
+ }
+
+ public boolean isGatherViewsHere()
+ {
+ return gatherViewsHere;
+ }
+
+ public void setGatherViewsHere(boolean gatherViewsHere)
+ {
+ this.gatherViewsHere = gatherViewsHere;
+ }
}