package name.abuchen.portfolio.ui.views.dashboard;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import name.abuchen.portfolio.model.Dashboard.Widget;
public class CurrentDateWidget extends WidgetDelegate
{
private Label title;
private DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG)
.withZone(ZoneId.systemDefault());
public CurrentDateWidget(Widget widget, DashboardData dashboardData)
{
super(widget, dashboardData);
}
@Override
public Composite createControl(Composite parent, DashboardResources resources)
{
Composite container = new Composite(parent, SWT.NONE);
container.setBackground(parent.getBackground());
GridLayoutFactory.fillDefaults().numColumns(1).margins(5, 5).applyTo(container);
title = new Label(container, SWT.NONE);
title.setText(getWidget().getLabel());
GridDataFactory.fillDefaults().grab(true, false).applyTo(title);
return container;
}
@Override
Control getTitleControl()
{
return title;
}
@Override
void update()
{
this.title.setText(getWidget().getLabel() + ' ' + formatter.format(LocalDate.now()));
}
}