Modified PanelComponent to hold a ProgressBarComponent
This commit is contained in:
@@ -33,6 +33,7 @@ import java.awt.Point;
|
|||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -74,6 +75,9 @@ public class PanelComponent implements RenderableEntity
|
|||||||
@Getter
|
@Getter
|
||||||
private List<Line> lines = new ArrayList<>();
|
private List<Line> lines = new ArrayList<>();
|
||||||
|
|
||||||
|
@Setter
|
||||||
|
private ProgressBarComponent progressBar;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
private int width = 140;
|
private int width = 140;
|
||||||
|
|
||||||
@@ -81,10 +85,11 @@ public class PanelComponent implements RenderableEntity
|
|||||||
public Dimension render(Graphics2D graphics, Point parent)
|
public Dimension render(Graphics2D graphics, Point parent)
|
||||||
{
|
{
|
||||||
final Dimension dimension = new Dimension();
|
final Dimension dimension = new Dimension();
|
||||||
final int elementNumber = (Strings.isNullOrEmpty(title) ? 0 : 1) + lines.size();
|
final int elementNumber = (Strings.isNullOrEmpty(title) ? 0 : 1) + lines.size() + (Objects.isNull(progressBar) ? 0 : 1);
|
||||||
int height = elementNumber == 0 ? 0 :
|
int height = elementNumber == 0 ? 0 :
|
||||||
TOP_BORDER + (graphics.getFontMetrics().getHeight() * elementNumber)
|
TOP_BORDER + (graphics.getFontMetrics().getHeight() * elementNumber)
|
||||||
+ SEPARATOR * elementNumber + BOTTOM_BORDER;
|
+ SEPARATOR * elementNumber + (Objects.isNull(progressBar) ? 0 : progressBar.getHeight() / 2)
|
||||||
|
+ BOTTOM_BORDER;
|
||||||
dimension.setSize(width, height);
|
dimension.setSize(width, height);
|
||||||
|
|
||||||
if (dimension.height == 0)
|
if (dimension.height == 0)
|
||||||
@@ -131,6 +136,14 @@ public class PanelComponent implements RenderableEntity
|
|||||||
y += metrics.getHeight() + SEPARATOR;
|
y += metrics.getHeight() + SEPARATOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Render progress bar
|
||||||
|
if (!Objects.isNull(progressBar))
|
||||||
|
{
|
||||||
|
progressBar.setWidth(width - LEFT_BORDER - RIGHT_BORDER);
|
||||||
|
progressBar.setPosition(new Point(position.x + LEFT_BORDER, y - (metrics.getHeight() / 2)));
|
||||||
|
progressBar.render(graphics, parent);
|
||||||
|
}
|
||||||
|
|
||||||
return dimension;
|
return dimension;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user