git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3619 fix up warning message and minimal patch to make sure failed-to-launch viewe...
[jalview.git]
/
src
/
jalview
/
gui
/
AlignmentPanel.java
diff --git
a/src/jalview/gui/AlignmentPanel.java
b/src/jalview/gui/AlignmentPanel.java
index
5c2cdd0
..
5366913
100644
(file)
--- a/
src/jalview/gui/AlignmentPanel.java
+++ b/
src/jalview/gui/AlignmentPanel.java
@@
-24,6
+24,7
@@
import jalview.analysis.AnnotationSorter;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.bin.Cache;
import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.bin.Jalview;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
import jalview.bin.Jalview;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.HiddenColumns;
@@
-77,6
+78,11
@@
import javax.swing.SwingUtilities;
public class AlignmentPanel extends GAlignmentPanel implements
AdjustmentListener, Printable, AlignmentViewPanel, ViewportListenerI
{
public class AlignmentPanel extends GAlignmentPanel implements
AdjustmentListener, Printable, AlignmentViewPanel, ViewportListenerI
{
+ /*
+ * spare space in pixels between sequence id and alignment panel
+ */
+ private static final int ID_WIDTH_PADDING = 4;
+
public AlignViewport av;
OverviewPanel overviewPanel;
public AlignViewport av;
OverviewPanel overviewPanel;
@@
-235,8
+241,6
@@
public class AlignmentPanel extends GAlignmentPanel implements
getAnnotationPanel().adjustPanelHeight();
Dimension d = calculateIdWidth();
getAnnotationPanel().adjustPanelHeight();
Dimension d = calculateIdWidth();
-
- d.setSize(d.width + 4, d.height);
getIdPanel().getIdCanvas().setPreferredSize(d);
hscrollFillerPanel.setPreferredSize(d);
getIdPanel().getIdCanvas().setPreferredSize(d);
hscrollFillerPanel.setPreferredSize(d);
@@
-244,20
+248,24
@@
public class AlignmentPanel extends GAlignmentPanel implements
}
/**
}
/**
- * Calculate the width of the alignment labels based on the displayed names
- * and any bounds on label width set in preferences.
+ * Calculates the width of the alignment labels based on the displayed names
+ * and any bounds on label width set in preferences. The calculated width is
+ * also set as a property of the viewport.
*
* @return Dimension giving the maximum width of the alignment label panel
* that should be used.
*/
public Dimension calculateIdWidth()
{
*
* @return Dimension giving the maximum width of the alignment label panel
* that should be used.
*/
public Dimension calculateIdWidth()
{
+ int oldWidth = av.getIdWidth();
+
// calculate sensible default width when no preference is available
Dimension r = null;
if (av.getIdWidth() < 0)
{
int afwidth = (alignFrame != null ? alignFrame.getWidth() : 300);
// calculate sensible default width when no preference is available
Dimension r = null;
if (av.getIdWidth() < 0)
{
int afwidth = (alignFrame != null ? alignFrame.getWidth() : 300);
- int maxwidth = Math.max(20, Math.min(afwidth - 200, 2 * afwidth / 3));
+ int idWidth = Math.min(afwidth - 200, 2 * afwidth / 3);
+ int maxwidth = Math.max(IdwidthAdjuster.MIN_ID_WIDTH, idWidth);
r = calculateIdWidth(maxwidth);
av.setIdWidth(r.width);
}
r = calculateIdWidth(maxwidth);
av.setIdWidth(r.width);
}
@@
-267,6
+275,16
@@
public class AlignmentPanel extends GAlignmentPanel implements
r.width = av.getIdWidth();
r.height = 0;
}
r.width = av.getIdWidth();
r.height = 0;
}
+
+ /*
+ * fudge: if desired width has changed, update layout
+ * (see also paintComponent - updates layout on a repaint)
+ */
+ if (r.width != oldWidth)
+ {
+ idPanelHolder.setPreferredSize(r);
+ validate();
+ }
return r;
}
return r;
}
@@
-279,7
+297,7
@@
public class AlignmentPanel extends GAlignmentPanel implements
* @return Dimension giving the maximum width of the alignment label panel
* that should be used.
*/
* @return Dimension giving the maximum width of the alignment label panel
* that should be used.
*/
- public Dimension calculateIdWidth(int maxwidth)
+ protected Dimension calculateIdWidth(int maxwidth)
{
Container c = new Container();
{
Container c = new Container();
@@
-289,19
+307,13
@@
public class AlignmentPanel extends GAlignmentPanel implements
AlignmentI al = av.getAlignment();
int i = 0;
int idWidth = 0;
AlignmentI al = av.getAlignment();
int i = 0;
int idWidth = 0;
- String id;
while ((i < al.getHeight()) && (al.getSequenceAt(i) != null))
{
SequenceI s = al.getSequenceAt(i);
while ((i < al.getHeight()) && (al.getSequenceAt(i) != null))
{
SequenceI s = al.getSequenceAt(i);
-
- id = s.getDisplayId(av.getShowJVSuffix());
-
- if (fm.stringWidth(id) > idWidth)
- {
- idWidth = fm.stringWidth(id);
- }
-
+ String id = s.getDisplayId(av.getShowJVSuffix());
+ int stringWidth = fm.stringWidth(id);
+ idWidth = Math.max(idWidth, stringWidth);
i++;
}
i++;
}
@@
-315,18
+327,16
@@
public class AlignmentPanel extends GAlignmentPanel implements
while (i < al.getAlignmentAnnotation().length)
{
String label = al.getAlignmentAnnotation()[i].label;
while (i < al.getAlignmentAnnotation().length)
{
String label = al.getAlignmentAnnotation()[i].label;
-
- if (fm.stringWidth(label) > idWidth)
- {
- idWidth = fm.stringWidth(label);
- }
-
+ int stringWidth = fm.stringWidth(label);
+ idWidth = Math.max(idWidth, stringWidth);
i++;
}
}
i++;
}
}
- return new Dimension(
- maxwidth < 0 ? idWidth : Math.min(maxwidth, idWidth), 12);
+ int w = maxwidth < 0 ? idWidth : Math.min(maxwidth, idWidth);
+ w += ID_WIDTH_PADDING;
+
+ return new Dimension(w, 12);
}
/**
}
/**
@@
-797,7
+807,7
@@
public class AlignmentPanel extends GAlignmentPanel implements
// could not be validated and it is not clear if it is now being
// called. Log warning here in case it is called and unforeseen
// problems occur
// could not be validated and it is not clear if it is now being
// called. Log warning here in case it is called and unforeseen
// problems occur
- Cache.log.warn(
+ Console.warn(
"Unexpected path through code: Wrapped jar file opened with wrap alignment set in preferences");
// scroll to start of panel
"Unexpected path through code: Wrapped jar file opened with wrap alignment set in preferences");
// scroll to start of panel
@@
-836,12
+846,6
@@
public class AlignmentPanel extends GAlignmentPanel implements
}
}
}
}
- /**
- * DOCUMENT ME!
- *
- * @param g
- * DOCUMENT ME!
- */
@Override
public void paintComponent(Graphics g)
{
@Override
public void paintComponent(Graphics g)
{
@@
-1148,21
+1152,22
@@
public class AlignmentPanel extends GAlignmentPanel implements
* be returned
* @return
*/
* be returned
* @return
*/
- public int getVisibleIdWidth(boolean onscreen)
+ protected int getVisibleIdWidth(boolean onscreen)
{
// see if rendering offscreen - check preferences and calc width accordingly
if (!onscreen && Cache.getDefault("FIGURE_AUTOIDWIDTH", false))
{
{
// see if rendering offscreen - check preferences and calc width accordingly
if (!onscreen && Cache.getDefault("FIGURE_AUTOIDWIDTH", false))
{
- return calculateIdWidth(-1).width + 4;
+ return calculateIdWidth(-1).width;
}
}
- Integer idwidth = null;
- if (onscreen || (idwidth = Cache
- .getIntegerProperty("FIGURE_FIXEDIDWIDTH")) == null)
+ Integer idwidth = onscreen ? null
+ : Cache.getIntegerProperty("FIGURE_FIXEDIDWIDTH");
+ if (idwidth != null)
{
{
- int w = getIdPanel().getWidth();
- return (w > 0 ? w : calculateIdWidth().width + 4);
+ return idwidth.intValue() + ID_WIDTH_PADDING;
}
}
- return idwidth.intValue() + 4;
+
+ int w = getIdPanel().getWidth();
+ return (w > 0 ? w : calculateIdWidth().width);
}
/**
}
/**
@@
-1460,9
+1465,9
@@
public class AlignmentPanel extends GAlignmentPanel implements
}
else
{
}
else
{
- if (Cache.log.isDebugEnabled())
+ if (Console.isDebugEnabled())
{
{
- Cache.log.warn("Closing alignment panel which is already closed.");
+ Console.warn("Closing alignment panel which is already closed.");
}
}
}
}
}
}
@@
-1537,13
+1542,16
@@
public class AlignmentPanel extends GAlignmentPanel implements
} catch (Exception ex)
{
}
} catch (Exception ex)
{
}
-
if (b)
{
if (b)
{
- alignFrame.setDisplayedView(this);
+ setAlignFrameView();
}
}
}
}
-
+ public void setAlignFrameView()
+ {
+ alignFrame.setDisplayedView(this);
+ }
+
@Override
public StructureSelectionManager getStructureSelectionManager()
{
@Override
public StructureSelectionManager getStructureSelectionManager()
{