Files
VisualSapfor/src/GlobalData/Tasks/CompilationTask/CompilationTasksDBTable.java

125 lines
4.1 KiB
Java
Raw Normal View History

2023-09-17 22:13:42 +03:00
package GlobalData.Tasks.CompilationTask;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import Common.Visual.DataSetControlForm;
2024-10-09 20:35:18 +03:00
import Common.Visual.Menus.TableMenu;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Visual.UI;
import Common.Database.Objects.DBObject;
import Common.Database.Tables.FKBehaviour;
import Common.Database.Tables.FKCurrentObjectBehaviuor;
import Common.Database.Tables.FKDataBehaviour;
import Common.Database.Tables.iDBTable;
2023-09-17 22:13:42 +03:00
import GlobalData.Tasks.RunTask.RunTask;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
2023-09-17 22:13:42 +03:00
import java.util.LinkedHashMap;
2024-10-09 20:35:18 +03:00
import static Common.Visual.Tables.TableRenderers.RendererDate;
import static Common.Visual.Tables.TableRenderers.RendererStatusEnum;
2023-09-17 22:13:42 +03:00
public class CompilationTasksDBTable extends iDBTable<CompilationTask> {
public CompilationTasksDBTable() {
super(CompilationTask.class);
}
@Override
public String getSingleDescription() {
return "задача на компиляцию";
}
@Override
public String getPluralDescription() {
return "задачи на компиляцию";
}
@Override
public LinkedHashMap<Class<? extends DBObject>, FKBehaviour> getFKDependencies() {
LinkedHashMap<Class<? extends DBObject>, FKBehaviour> res = new LinkedHashMap<>();
res.put(RunTask.class, new FKBehaviour(FKDataBehaviour.DELETE, FKCurrentObjectBehaviuor.ACTIVE));
return res;
}
@Override
protected DataSetControlForm createUI() {
return new DataSetControlForm(this) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
columns.get(12).setRenderer(RendererDate);
columns.get(13).setRenderer(RendererStatusEnum);
}
@Override
public void ShowCurrentObject() throws Exception {
super.ShowCurrentObject();
2023-10-11 18:44:16 +03:00
UI.getDebugWindow().DropRunTasksComparison();
2023-09-17 22:13:42 +03:00
}
@Override
public void ShowNoCurrentObject() throws Exception {
super.ShowNoCurrentObject();
2023-10-11 18:44:16 +03:00
UI.getDebugWindow().DropRunTasksComparison();
2023-09-17 22:13:42 +03:00
}
@Override
public void CreateControl() {
super.CreateControl();
TableMenu dataTableMenu = new TableMenu(control);
dataTableMenu.add(Pass_2021.passes.get(PassCode_2021.DeleteSelectedCompilationTasks).createMenuItem());
control.setComponentPopupMenu(dataTableMenu);
}
};
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"сборка",
"",
//
"Fortran",
"",
//
"С",
"",
//
"С++",
"",
"Лимит(c)",
"Время(c)",
"Дата",
"Статус"
};
}
@Override
public Object getFieldAt(CompilationTask object, int columnIndex) {
switch (columnIndex) {
case 2:
return object.linkerDescription;
case 3:
return object.linkFlags;
case 4:
return object.fortranCompilerDescription;
case 5:
return object.fortranFlags;
case 6:
return object.cCompilerDescription;
case 7:
return object.cFlags;
case 8:
return object.cppCompilerDescription;
case 9:
return object.cppFlags;
case 10:
return object.maxtime;
case 11:
return object.Time;
case 12:
return object.getEndDate();
case 13:
return object.state;
default:
return null;
}
}
@Override
public Current CurrentName() {
return Current.CompilationTask;
}
}