From 130ed2a67a70af42336c737ed52ecbd5e29a244a Mon Sep 17 00:00:00 2001 From: Doublestrike Date: Thu, 16 Feb 2012 11:00:46 +0000 Subject: [PATCH] Checkstyle. --- .../java/forge/view/toolbox/WrapLayout.java | 287 ++++++++---------- 1 file changed, 135 insertions(+), 152 deletions(-) diff --git a/src/main/java/forge/view/toolbox/WrapLayout.java b/src/main/java/forge/view/toolbox/WrapLayout.java index 4d63d255f8d..f57a7783333 100644 --- a/src/main/java/forge/view/toolbox/WrapLayout.java +++ b/src/main/java/forge/view/toolbox/WrapLayout.java @@ -12,178 +12,161 @@ import javax.swing.SwingUtilities; /** * FlowLayout subclass that fully supports wrapping of components. */ -public class WrapLayout extends FlowLayout -{ - private Dimension preferredLayoutSize; +@SuppressWarnings("serial") +public class WrapLayout extends FlowLayout { + /** + * Constructs a new WrapLayout with a left + * alignment and a default 5-unit horizontal and vertical gap. + */ + public WrapLayout() { + super(); + } - /** - * Constructs a new WrapLayout with a left - * alignment and a default 5-unit horizontal and vertical gap. - */ - public WrapLayout() - { - super(); - } + /** + * Constructs a new FlowLayout with the specified + * alignment and a default 5-unit horizontal and vertical gap. + * The value of the alignment argument must be one of + * WrapLayout, WrapLayout, + * or WrapLayout. + * @param align the alignment value + */ + public WrapLayout(int align) { + super(align); + } - /** - * Constructs a new FlowLayout with the specified - * alignment and a default 5-unit horizontal and vertical gap. - * The value of the alignment argument must be one of - * WrapLayout, WrapLayout, - * or WrapLayout. - * @param align the alignment value - */ - public WrapLayout(int align) - { - super(align); - } + /** + * Creates a new flow layout manager with the indicated alignment + * and the indicated horizontal and vertical gaps. + *

+ * The value of the alignment argument must be one of + * WrapLayout, WrapLayout, + * or WrapLayout. + * @param align the alignment value + * @param hgap the horizontal gap between components + * @param vgap the vertical gap between components + */ + public WrapLayout(int align, int hgap, int vgap) { + super(align, hgap, vgap); + } - /** - * Creates a new flow layout manager with the indicated alignment - * and the indicated horizontal and vertical gaps. - *

- * The value of the alignment argument must be one of - * WrapLayout, WrapLayout, - * or WrapLayout. - * @param align the alignment value - * @param hgap the horizontal gap between components - * @param vgap the vertical gap between components - */ - public WrapLayout(int align, int hgap, int vgap) - { - super(align, hgap, vgap); - } + /** + * Returns the preferred dimensions for this layout given the + * visible components in the specified target container. + * @param target the component which needs to be laid out + * @return the preferred dimensions to lay out the + * subcomponents of the specified container + */ + @Override + public Dimension preferredLayoutSize(Container target) { + return layoutSize(target, true); + } - /** - * Returns the preferred dimensions for this layout given the - * visible components in the specified target container. - * @param target the component which needs to be laid out - * @return the preferred dimensions to lay out the - * subcomponents of the specified container - */ - @Override - public Dimension preferredLayoutSize(Container target) - { - return layoutSize(target, true); - } + /** + * Returns the minimum dimensions needed to layout the visible + * components contained in the specified target container. + * @param target the component which needs to be laid out + * @return the minimum dimensions to lay out the + * subcomponents of the specified container + */ + @Override + public Dimension minimumLayoutSize(Container target) { + Dimension minimum = layoutSize(target, false); + minimum.width -= (getHgap() + 1); + return minimum; + } - /** - * Returns the minimum dimensions needed to layout the visible - * components contained in the specified target container. - * @param target the component which needs to be laid out - * @return the minimum dimensions to lay out the - * subcomponents of the specified container - */ - @Override - public Dimension minimumLayoutSize(Container target) - { - Dimension minimum = layoutSize(target, false); - minimum.width -= (getHgap() + 1); - return minimum; - } +/** +* Returns the minimum or preferred dimension needed to layout the target +* container. +* +* @param target target to get layout size for +* @param preferred should preferred size be calculated +* @return the dimension to layout the target container +*/ +private Dimension layoutSize(Container target, boolean preferred) { +synchronized (target.getTreeLock()) { + // Each row must fit with the width allocated to the containter. + // When the container width = 0, the preferred width of the container + // has not yet been calculated so lets ask for the maximum. - /** - * Returns the minimum or preferred dimension needed to layout the target - * container. - * - * @param target target to get layout size for - * @param preferred should preferred size be calculated - * @return the dimension to layout the target container - */ - private Dimension layoutSize(Container target, boolean preferred) - { - synchronized (target.getTreeLock()) - { - // Each row must fit with the width allocated to the containter. - // When the container width = 0, the preferred width of the container - // has not yet been calculated so lets ask for the maximum. + int targetWidth = target.getSize().width; - int targetWidth = target.getSize().width; + if (targetWidth == 0) { + targetWidth = Integer.MAX_VALUE; + } - if (targetWidth == 0) - targetWidth = Integer.MAX_VALUE; + int hgap = getHgap(); + int vgap = getVgap(); + Insets insets = target.getInsets(); + int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); + int maxWidth = targetWidth - horizontalInsetsAndGap; - int hgap = getHgap(); - int vgap = getVgap(); - Insets insets = target.getInsets(); - int horizontalInsetsAndGap = insets.left + insets.right + (hgap * 2); - int maxWidth = targetWidth - horizontalInsetsAndGap; + // Fit components into the allowed width - // Fit components into the allowed width + Dimension dim = new Dimension(0, 0); + int rowWidth = 0; + int rowHeight = 0; - Dimension dim = new Dimension(0, 0); - int rowWidth = 0; - int rowHeight = 0; + int nmembers = target.getComponentCount(); - int nmembers = target.getComponentCount(); + for (int i = 0; i < nmembers; i++) { + Component m = target.getComponent(i); - for (int i = 0; i < nmembers; i++) - { - Component m = target.getComponent(i); + if (m.isVisible()) { + Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); - if (m.isVisible()) - { - Dimension d = preferred ? m.getPreferredSize() : m.getMinimumSize(); + // Can't add the component to current row. Start a new row. + if (rowWidth + d.width > maxWidth) { + addRow(dim, rowWidth, rowHeight); + rowWidth = 0; + rowHeight = 0; + } - // Can't add the component to current row. Start a new row. + // Add a horizontal gap for all components after the first + if (rowWidth != 0) { + rowWidth += hgap; + } - if (rowWidth + d.width > maxWidth) - { - addRow(dim, rowWidth, rowHeight); - rowWidth = 0; - rowHeight = 0; - } + rowWidth += d.width; + rowHeight = Math.max(rowHeight, d.height); + } + } - // Add a horizontal gap for all components after the first + addRow(dim, rowWidth, rowHeight); - if (rowWidth != 0) - { - rowWidth += hgap; - } + dim.width += horizontalInsetsAndGap; + dim.height += insets.top + insets.bottom + vgap * 2; - rowWidth += d.width; - rowHeight = Math.max(rowHeight, d.height); - } - } + //When using a scroll pane or the DecoratedLookAndFeel we need to + // make sure the preferred size is less than the size of the + // target containter so shrinking the container size works + // correctly. Removing the horizontal gap is an easy way to do this. - addRow(dim, rowWidth, rowHeight); + Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); - dim.width += horizontalInsetsAndGap; - dim.height += insets.top + insets.bottom + vgap * 2; + if (scrollPane != null) { + dim.width -= (hgap + 1); + } - // When using a scroll pane or the DecoratedLookAndFeel we need to - // make sure the preferred size is less than the size of the - // target containter so shrinking the container size works - // correctly. Removing the horizontal gap is an easy way to do this. - - Container scrollPane = SwingUtilities.getAncestorOfClass(JScrollPane.class, target); - - if (scrollPane != null) - { - dim.width -= (hgap + 1); - } - - return dim; - } - } - - /* - * A new row has been completed. Use the dimensions of this row - * to update the preferred size for the container. - * - * @param dim update the width and height when appropriate - * @param rowWidth the width of the row to add - * @param rowHeight the height of the row to add - */ - private void addRow(Dimension dim, int rowWidth, int rowHeight) - { - dim.width = Math.max(dim.width, rowWidth); - - if (dim.height > 0) - { - dim.height += getVgap(); - } - - dim.height += rowHeight; - } + return dim; + } +} + +/* + * A new row has been completed. Use the dimensions of this row + * to update the preferred size for the container. + * + * @param dim update the width and height when appropriate + * @param rowWidth the width of the row to add + * @param rowHeight the height of the row to add + */ +private void addRow(Dimension dim, int rowWidth, int rowHeight) { + dim.width = Math.max(dim.width, rowWidth); + + if (dim.height > 0) { + dim.height += getVgap(); + } + + dim.height += rowHeight; + } }