mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Fix so hidden groups don't show up at all
This commit is contained in:
@@ -977,6 +977,9 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
int fontOffsetY = (GROUP_HEADER_HEIGHT - fm.getHeight()) / 2 + fm.getAscent();
|
||||
|
||||
for (Group group : groups) {
|
||||
if (group.items.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
if (group.getBottom() < visibleTop) {
|
||||
continue;
|
||||
}
|
||||
@@ -1004,29 +1007,24 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
FSkin.setGraphicsColor(g2d, GROUP_HEADER_LINE_COLOR);
|
||||
g2d.drawLine(x, y, bounds.x + bounds.width - 1, y);
|
||||
|
||||
if (!group.items.isEmpty()) { //draw expand/collapse glyph as long as group isn't empty
|
||||
Polygon glyph = new Polygon();
|
||||
int offset = GROUP_HEADER_GLYPH_WIDTH / 2 + 1;
|
||||
x = bounds.x + offset;
|
||||
if (group.isCollapsed) {
|
||||
y++;
|
||||
glyph.addPoint(x, y - offset);
|
||||
glyph.addPoint(x + offset, y);
|
||||
glyph.addPoint(x, y + offset);
|
||||
}
|
||||
else {
|
||||
glyph.addPoint(x - offset + 2, y + offset - 1);
|
||||
glyph.addPoint(x + offset, y + offset - 1);
|
||||
glyph.addPoint(x + offset, y - offset + 1);
|
||||
}
|
||||
g2d.fill(glyph);
|
||||
//draw expand/collapse glyph
|
||||
Polygon glyph = new Polygon();
|
||||
int offset = GROUP_HEADER_GLYPH_WIDTH / 2 + 1;
|
||||
x = bounds.x + offset;
|
||||
if (group.isCollapsed) {
|
||||
y++;
|
||||
glyph.addPoint(x, y - offset);
|
||||
glyph.addPoint(x + offset, y);
|
||||
glyph.addPoint(x, y + offset);
|
||||
}
|
||||
if (group.isCollapsed || group.items.isEmpty()) {
|
||||
continue;
|
||||
else {
|
||||
glyph.addPoint(x - offset + 2, y + offset - 1);
|
||||
glyph.addPoint(x + offset, y + offset - 1);
|
||||
glyph.addPoint(x + offset, y - offset + 1);
|
||||
}
|
||||
}
|
||||
else if (group.items.isEmpty()) {
|
||||
continue;
|
||||
g2d.fill(glyph);
|
||||
|
||||
if (group.isCollapsed) { continue; }
|
||||
}
|
||||
|
||||
ItemInfo skippedItem = null;
|
||||
|
||||
@@ -791,6 +791,8 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
|
||||
@Override
|
||||
public void draw(Graphics g) {
|
||||
if (items.isEmpty()) { return; }
|
||||
|
||||
if (groupBy != null) {
|
||||
//draw group name and horizontal line
|
||||
float x = GROUP_HEADER_GLYPH_WIDTH + PADDING + 1;
|
||||
@@ -801,24 +803,24 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
y += GROUP_HEADER_HEIGHT / 2;
|
||||
g.drawLine(GROUP_HEADER_LINE_THICKNESS, GROUP_HEADER_LINE_COLOR, x, y, getWidth(), y);
|
||||
|
||||
if (!items.isEmpty()) { //draw expand/collapse glyph as long as group isn't empty
|
||||
float offset = GROUP_HEADER_GLYPH_WIDTH / 2 + 1;
|
||||
x = offset;
|
||||
if (isCollapsed) {
|
||||
y += GROUP_HEADER_LINE_THICKNESS;
|
||||
g.fillTriangle(GROUP_HEADER_LINE_COLOR,
|
||||
x, y - offset,
|
||||
x + offset, y,
|
||||
x, y + offset);
|
||||
}
|
||||
else {
|
||||
g.fillTriangle(GROUP_HEADER_LINE_COLOR,
|
||||
x - offset + 2, y + offset - 1,
|
||||
x + offset, y + offset - 1,
|
||||
x + offset, y - offset + 1);
|
||||
}
|
||||
//draw expand/collapse glyph
|
||||
float offset = GROUP_HEADER_GLYPH_WIDTH / 2 + 1;
|
||||
x = offset;
|
||||
if (isCollapsed) {
|
||||
y += GROUP_HEADER_LINE_THICKNESS;
|
||||
g.fillTriangle(GROUP_HEADER_LINE_COLOR,
|
||||
x, y - offset,
|
||||
x + offset, y,
|
||||
x, y + offset);
|
||||
}
|
||||
if (isCollapsed || items.isEmpty()) { return; }
|
||||
else {
|
||||
g.fillTriangle(GROUP_HEADER_LINE_COLOR,
|
||||
x - offset + 2, y + offset - 1,
|
||||
x + offset, y + offset - 1,
|
||||
x + offset, y - offset + 1);
|
||||
}
|
||||
|
||||
if (isCollapsed) { return; }
|
||||
|
||||
float visibleLeft = getScrollLeft();
|
||||
float visibleRight = visibleLeft + getWidth();
|
||||
@@ -834,8 +836,6 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
|
||||
return;
|
||||
}
|
||||
|
||||
if (items.isEmpty()) { return; }
|
||||
|
||||
final float visibleTop = getScrollValue();
|
||||
final float visibleBottom = visibleTop + getScroller().getHeight();
|
||||
for (ItemInfo itemInfo : items) {
|
||||
|
||||
Reference in New Issue
Block a user