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.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
@@ -74,6 +75,9 @@ public class PanelComponent implements RenderableEntity
|
||||
@Getter
|
||||
private List<Line> lines = new ArrayList<>();
|
||||
|
||||
@Setter
|
||||
private ProgressBarComponent progressBar;
|
||||
|
||||
@Setter
|
||||
private int width = 140;
|
||||
|
||||
@@ -81,10 +85,11 @@ public class PanelComponent implements RenderableEntity
|
||||
public Dimension render(Graphics2D graphics, Point parent)
|
||||
{
|
||||
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 :
|
||||
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);
|
||||
|
||||
if (dimension.height == 0)
|
||||
@@ -131,6 +136,14 @@ public class PanelComponent implements RenderableEntity
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user