package org.uva.student.calinwouter.qlqls.qls.widgets;
import org.uva.student.calinwouter.qlqls.ql.model.StateWrapper;
import org.uva.student.calinwouter.qlqls.ql.gui.widgets.IWidget;
import org.uva.student.calinwouter.qlqls.ql.gui.widgets.LabelWithWidgetWidget;
import org.uva.student.calinwouter.qlqls.qls.model.StylingSettings;
import java.awt.*;
public class StyledLabelWithWidgetWidget extends LabelWithWidgetWidget implements IWidget {
private final StylingSettings stylingSettings;
private int getWidgetHeight() {
Component widgetComponent = getWidgetComponent();
return widgetComponent.getHeight();
}
@Override
protected void setLabelStylingSettings(Label fieldLabel) {
fieldLabel.setFont(stylingSettings.createFont());
fieldLabel.setForeground(stylingSettings.createForegroundColor());
final Component widgetComponent = getWidgetComponent();
Integer widgetHeight = getWidgetHeight();
Dimension newDimension = stylingSettings.createSizeDimension(widgetHeight);
widgetComponent.setSize(newDimension);
}
@Override
protected void initializeWidget() {
// Initializing through the super call would ignore the stylingSettings.
// Thus we initialize stylingSettings before calling initializeWidgets.
}
public StyledLabelWithWidgetWidget(String label, String identifier, IWidget widget, StateWrapper stateWrapper, StylingSettings stylingSettings) {
super(label, identifier, widget, stateWrapper);
this.stylingSettings = stylingSettings;
super.initializeWidget();
}
}