mirror of https://github.com/FreeCol/freecol.git
Shows the styling in the cargo panel when using the vertical scrollbars.
This commit is contained in:
parent
8e4c9c7ed9
commit
031fa81599
|
@ -267,22 +267,43 @@ public class CargoPanel extends FreeColPanel
|
||||||
protected void paintComponent(Graphics g) {
|
protected void paintComponent(Graphics g) {
|
||||||
super.paintComponent(g);
|
super.paintComponent(g);
|
||||||
|
|
||||||
|
if (!withStyling) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final Dimension size = getSize();
|
final Dimension size = getSize();
|
||||||
|
|
||||||
|
final int cargoHoldsPerRow = 6;
|
||||||
final BufferedImage available = getImageLibrary().getScaledCargoHold(true);
|
final BufferedImage available = getImageLibrary().getScaledCargoHold(true);
|
||||||
final BufferedImage unavailable = getImageLibrary().getScaledCargoHold(false);
|
final BufferedImage unavailable = getImageLibrary().getScaledCargoHold(false);
|
||||||
final int availableHolds = (carrier != null) ? carrier.getCargoCapacity() : 0;
|
|
||||||
if (withStyling) {
|
final int totalAvailableHolds = (carrier != null) ? carrier.getCargoCapacity() : 0;
|
||||||
|
final int rows = totalAvailableHolds / cargoHoldsPerRow + ((totalAvailableHolds % cargoHoldsPerRow > 0) ? 1 : 0);
|
||||||
|
|
||||||
|
if (rows == 0) {
|
||||||
int x = 0;
|
int x = 0;
|
||||||
for (int i=0; i<availableHolds; i++) {
|
|
||||||
g.drawImage(available, x, 0, null);
|
|
||||||
x += available.getWidth();
|
|
||||||
}
|
|
||||||
while (x < size.width) {
|
while (x < size.width) {
|
||||||
g.drawImage(unavailable, x, 0, null);
|
g.drawImage(unavailable, x, 0, null);
|
||||||
x += unavailable.getWidth();
|
x += unavailable.getWidth();
|
||||||
}
|
}
|
||||||
g.drawImage(unavailable, x, 0, null);
|
g.drawImage(unavailable, x, 0, null);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int y = 0;
|
||||||
|
for (int row=0; row<rows; row++) {
|
||||||
|
final int availableHolds = (row < rows - 1) ? cargoHoldsPerRow : totalAvailableHolds - cargoHoldsPerRow * row;
|
||||||
|
int x = 0;
|
||||||
|
for (int i=0; i<availableHolds; i++) {
|
||||||
|
g.drawImage(available, x, y, null);
|
||||||
|
x += available.getWidth();
|
||||||
|
}
|
||||||
|
while (x < size.width) {
|
||||||
|
g.drawImage(unavailable, x, y, null);
|
||||||
|
x += unavailable.getWidth();
|
||||||
|
}
|
||||||
|
g.drawImage(unavailable, x, y, null);
|
||||||
|
y += available.getHeight();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue