/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.segmentation.gui.settings; import net.codjo.mad.client.request.RequestException; import net.codjo.mad.gui.framework.AbstractListLogic; import net.codjo.mad.gui.framework.GuiContext; import net.codjo.mad.gui.framework.SimpleListGui; import net.codjo.mad.gui.request.ListDataSource; import net.codjo.mad.gui.request.RequestToolBar; import net.codjo.mad.gui.request.Position; import static net.codjo.segmentation.gui.settings.ClassificationListCustomizer.CLASSIFICICATION_LIST_CUSTOMIZER; import javax.swing.Action; public class ClassificationListLogic extends AbstractListLogic { private static final String ACTION_NAME = "CopyAction"; ClassificationListLogic(GuiContext context, String newGui, String preferenceId) throws RequestException { super(context, new SimpleListGui(newGui), preferenceId); addCopyAction(context); initCustomizer(context); } private void addCopyAction(GuiContext guiContext) { Action action = new CopyAction(guiContext, getGui().getTable()); RequestToolBar toolbar = getGui().getToolBar(); toolbar.add(action, ACTION_NAME, Position.left(RequestToolBar.ACTION_DELETE), true); } private void initCustomizer(GuiContext context) { ClassificationListCustomizer customizer = (ClassificationListCustomizer) context.getProperty(CLASSIFICICATION_LIST_CUSTOMIZER); if (customizer != null) { customizer.initCustomizer(this); } } public RequestToolBar getToolBar() { return getGui().getToolBar(); } public ListDataSource getListDataSource() { return getGui().getTable().getDataSource(); } }