mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-10 09:12:09 +10:00
Ability to flip letters and numbers for board coordinates
This commit is contained in:
Binary file not shown.
@@ -26,7 +26,7 @@ import java.awt.Color;
|
|||||||
import java.awt.Composite;
|
import java.awt.Composite;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
|
|
||||||
import org.diylc.common.HorizontalAlignment;
|
import org.diylc.common.HorizontalAlignment;
|
||||||
import org.diylc.common.ObjectCache;
|
import org.diylc.common.ObjectCache;
|
||||||
import org.diylc.common.VerticalAlignment;
|
import org.diylc.common.VerticalAlignment;
|
||||||
@@ -59,7 +59,8 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
protected Color boardColor = BOARD_COLOR;
|
protected Color boardColor = BOARD_COLOR;
|
||||||
protected Color borderColor = BORDER_COLOR;
|
protected Color borderColor = BORDER_COLOR;
|
||||||
protected Color coordinateColor = COORDINATE_COLOR;
|
protected Color coordinateColor = COORDINATE_COLOR;
|
||||||
protected Boolean drawCoordinates = true;
|
protected Boolean drawCoordinates = null;
|
||||||
|
protected CoordinateType coordinateType = CoordinateType.XY;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project,
|
public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project,
|
||||||
@@ -82,8 +83,9 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
g2d.drawRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y);
|
g2d.drawRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y - firstPoint.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void drawCoordinates(Graphics2D g2d, int spacing, Project project) {
|
protected void drawCoordinates(Graphics2D g2d, int spacing, Project project) {
|
||||||
if (!getDrawCoordinates())
|
CoordinateType ct = getCoordinateType();
|
||||||
|
if (ct == CoordinateType.None)
|
||||||
return;
|
return;
|
||||||
Point p = new Point(firstPoint);
|
Point p = new Point(firstPoint);
|
||||||
g2d.setColor(coordinateColor);
|
g2d.setColor(coordinateColor);
|
||||||
@@ -92,7 +94,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
int t = 1;
|
int t = 1;
|
||||||
while (p.y < secondPoint.y - spacing) {
|
while (p.y < secondPoint.y - spacing) {
|
||||||
p.y += spacing;
|
p.y += spacing;
|
||||||
super.drawCenteredText(g2d, getCoordinateLabel(t++), p.x + 2, p.y, HorizontalAlignment.LEFT,
|
super.drawCenteredText(g2d, ct == CoordinateType.XY ? getCoordinateLabel(t++) : Integer.toString(t++), p.x + 2, p.y, HorizontalAlignment.LEFT,
|
||||||
VerticalAlignment.CENTER);
|
VerticalAlignment.CENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,7 +102,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
t = 1;
|
t = 1;
|
||||||
while (p.x < secondPoint.x - spacing) {
|
while (p.x < secondPoint.x - spacing) {
|
||||||
p.x += spacing;
|
p.x += spacing;
|
||||||
super.drawCenteredText(g2d, Integer.toString(t++), p.x, p.y - 2, HorizontalAlignment.CENTER,
|
super.drawCenteredText(g2d, ct == CoordinateType.XY ? Integer.toString(t++) : getCoordinateLabel(t++), p.x, p.y - 2, HorizontalAlignment.CENTER,
|
||||||
VerticalAlignment.TOP);
|
VerticalAlignment.TOP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -146,16 +148,17 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
|
|
||||||
public void setBorderColor(Color borderColor) {
|
public void setBorderColor(Color borderColor) {
|
||||||
this.borderColor = borderColor;
|
this.borderColor = borderColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EditableProperty(name = "Draw Coordinates")
|
@EditableProperty(name ="Coordinates")
|
||||||
public boolean getDrawCoordinates() {
|
public CoordinateType getCoordinateType() {
|
||||||
// Null protection for older files
|
if (coordinateType == null)
|
||||||
return drawCoordinates == null || drawCoordinates;
|
coordinateType = drawCoordinates == null || drawCoordinates ? CoordinateType.XY : CoordinateType.None;
|
||||||
}
|
return coordinateType;
|
||||||
|
}
|
||||||
public void setDrawCoordinates(boolean drawCoordinates) {
|
|
||||||
this.drawCoordinates = drawCoordinates;
|
public void setCoordinateType(CoordinateType coordinateType) {
|
||||||
|
this.coordinateType = coordinateType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -196,5 +199,20 @@ public abstract class AbstractBoard extends AbstractTransparentComponent<String>
|
|||||||
@Override
|
@Override
|
||||||
public void setValue(String value) {
|
public void setValue(String value) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static enum CoordinateType {
|
||||||
|
None("None"), XY("X-numbers Y-letters"), YX("X-letters Y-numbers");
|
||||||
|
|
||||||
|
private String label;
|
||||||
|
|
||||||
|
private CoordinateType(String label) {
|
||||||
|
this.label = label;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return label;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,10 +22,11 @@
|
|||||||
package org.diylc.components.boards;
|
package org.diylc.components.boards;
|
||||||
|
|
||||||
import java.awt.AlphaComposite;
|
import java.awt.AlphaComposite;
|
||||||
|
import java.awt.Color;
|
||||||
import java.awt.Composite;
|
import java.awt.Composite;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Shape;
|
import java.awt.Shape;
|
||||||
|
|
||||||
import org.diylc.common.ObjectCache;
|
import org.diylc.common.ObjectCache;
|
||||||
import org.diylc.common.SimpleComponentTransformer;
|
import org.diylc.common.SimpleComponentTransformer;
|
||||||
import org.diylc.core.ComponentState;
|
import org.diylc.core.ComponentState;
|
||||||
@@ -88,9 +89,15 @@ public class BlankBoard extends AbstractBoard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean getDrawCoordinates() {
|
public CoordinateType getCoordinateType() {
|
||||||
// Override to prevent editing.
|
// Override to prevent editing.
|
||||||
return super.getDrawCoordinates();
|
return super.getCoordinateType();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Color getCoordinateColor() {
|
||||||
|
// Override to prevent editing.
|
||||||
|
return super.getCoordinateColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EditableProperty(name = "Shape")
|
@EditableProperty(name = "Shape")
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -2265,6 +2265,10 @@
|
|||||||
<org.diylc.appframework.update.Change>
|
<org.diylc.appframework.update.Change>
|
||||||
<changeType>NEW_FEATURE</changeType>
|
<changeType>NEW_FEATURE</changeType>
|
||||||
<description>Configurable graphics hardware acceleration</description>
|
<description>Configurable graphics hardware acceleration</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>NEW_FEATURE</changeType>
|
||||||
|
<description>Ability to flip letters and numbers for board coordinates</description>
|
||||||
</org.diylc.appframework.update.Change>
|
</org.diylc.appframework.update.Change>
|
||||||
<org.diylc.appframework.update.Change>
|
<org.diylc.appframework.update.Change>
|
||||||
<changeType>IMPROVEMENT</changeType>
|
<changeType>IMPROVEMENT</changeType>
|
||||||
|
|||||||
Reference in New Issue
Block a user