package com.opendoorlogistics.studio.tables.custom; import java.awt.Component; import com.opendoorlogistics.api.ODLApi; import com.opendoorlogistics.api.app.ui.BeanEditorFactory; import com.opendoorlogistics.api.tables.beans.BeanMappedRow; import com.opendoorlogistics.core.tables.beans.BeanMapping; import com.opendoorlogistics.core.utils.strings.Strings; import com.opendoorlogistics.studio.LoadedState.HasLoadedDatastore; import com.opendoorlogistics.studio.internalframes.ODLInternalFrame; public class CustomTableEditorFrame <T extends BeanMappedRow> extends ODLInternalFrame { public CustomTableEditorFrame(Component parent,ODLApi api, Class<T> cls, BeanEditorFactory<T> editorFactory,HasLoadedDatastore hasDs) { super(getPosId(cls)); CustomTableEditor<T> panel = new CustomTableEditor<T>(parent,api, cls, editorFactory, hasDs){ @Override protected void onModeChange(){ pack(); } }; setContentPane(panel); setTitle(BeanMapping.getTableName(cls)); pack(); } private static String getPosId( Class<?> cls){ String posId = cls.getCanonicalName(); if(Strings.isEmptyWhenStandardised(posId)){ posId = "BeanTableEditor"; } return posId; } }