package logbook.gui;
import logbook.constants.AppConstants;
import logbook.data.Data;
import logbook.data.DataType;
import logbook.data.context.GlobalContext;
import logbook.gui.logic.CreateReportLogic;
import logbook.gui.logic.TableItemCreator;
import logbook.scripting.TableItemCreatorProxy;
import logbook.util.SwtUtils;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;
/**
* 建造報告書
*
*/
public final class CreateShipReportTable extends AbstractTableDialog {
/**
* @param parent
*/
public CreateShipReportTable(Shell parent, MenuItem menuItem) {
super(parent, menuItem);
}
@Override
protected void createContents() {
}
@Override
protected String getTitleMain() {
return "建造報告書";
}
@Override
protected Point getSize() {
return SwtUtils.DPIAwareSize(new Point(600, 350));
}
@Override
protected String[] getTableHeader() {
return CreateReportLogic.getCreateShipHeader();
}
@Override
protected void updateTableBody() {
this.body = CreateReportLogic.getCreateShipBody(GlobalContext.getGetshipList());
}
@Override
protected TableItemCreator getTableItemCreator() {
return TableItemCreatorProxy.get(AppConstants.CREATESHIPTABLE_PREFIX);
}
/**
* 更新する必要のあるデータ
*/
@SuppressWarnings("incomplete-switch")
@Override
public void update(DataType type, Data data) {
switch (type) {
case CREATE_SHIP:
case GET_SHIP:
this.needsUpdate = true;
}
}
}