Files
VisualSapfor/src/TestingSystem/DVM/DVMSettings/DVMSettingsDBTable.java

147 lines
5.7 KiB
Java
Raw Normal View History

package TestingSystem.DVM.DVMSettings;
import Common_old.Current;
import Common.Database.Objects.DBObject;
import Common.Database.Tables.iDBTable;
import Common.Visual.DataSetControlForm;
import Common_old.UI.Windows.Dialog.DBObjectDialog;
import TestingSystem.DVM.DVMSettings.UI.DVMSettingsFields;
public class DVMSettingsDBTable extends iDBTable<DVMSettings> {
public DVMSettingsDBTable() {
super(DVMSettings.class);
}
@Override
public Current CurrentName() {
return Current.DVMSettings;
}
@Override
public String getSingleDescription() {
return "параметры тестирования DVM системы";
}
@Override
public String getPluralDescription() {
return "параметры тестирования DVM системы";
}
//--
@Override
public String[] getUIColumnNames() {
return new String[]{
"имя",
"автор",
"флаги",
"окружение",
"usr.par",
"куб",
"max",
"min dim",
"max dim"
};
}
//--
@Override
public Object getFieldAt(DVMSettings object, int columnIndex) {
switch (columnIndex) {
case 2:
return object.description;
case 3:
return object.sender_name;
case 4:
return object.flags;
case 5:
return object.environments;
case 6:
return object.printUsrPar();
case 7:
return object.cube;
case 8:
return object.max_proc_count;
case 9:
return object.min_dim_proc_count;
case 10:
return object.max_dim_proc_count;
default:
return null;
}
}
//-
@Override
protected DataSetControlForm createUI() {
return new DataSetControlForm(this) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
/*
columns.get(5).setRenderer(TableRenderers.RendererMultiline);
columns.get(5).setMaxWidth(500);
columns.get(7).setRenderer(TableRenderers.RendererMultiline);
columns.get(8).setRenderer(TableRenderers.RendererMultiline);
columns.get(15).setRenderer(TableRenderers.RendererMultiline);
*/
}
};
}
@Override
public DBObjectDialog<DVMSettings, DVMSettingsFields> getDialog() {
return new DBObjectDialog<DVMSettings, DVMSettingsFields>(DVMSettingsFields.class) {
@Override
public int getDefaultHeight() {
return 400;
}
@Override
public int getDefaultWidth() {
return 800;
}
@Override
public void validateFields() {
int min = (int) fields.sMinDimProc.getValue();
int max = (int) fields.sMaxDimProc.getValue();
if (max < min)
Log.Writeln_("Некорректный диапазон размерностей: максимум меньше минимума");
if ((min == 0) && (max != 0) || (min != 0) && (max == 0))
Log.Writeln_("Некорректный диапазон размерностей. " +
"'0' допускается только одновременно на обеих границах,\n" +
"и подразумевает единственный запуск без решётки");
}
@Override
public void fillFields() {
fields.tfName.setText(Result.description);
//------->>>
fields.tfFlags.setText(Result.flags);
fields.tfEnvironments.setText(Result.environments);
//------->>>
fields.sMinDimProc.setValue(Result.min_dim_proc_count);
fields.sMaxDimProc.setValue(Result.max_dim_proc_count);
fields.cbCube.setSelected(Result.cube == 1);
//-
fields.sMaxProc.setValue(Result.max_proc_count);
fields.cbDvmStat.setSelected(Result.Is_DVM_STAT!=0);
}
@Override
public void ProcessResult() {
Result.description = fields.tfName.getText();
Result.min_dim_proc_count = (int) fields.sMinDimProc.getValue();
Result.max_dim_proc_count = (int) fields.sMaxDimProc.getValue();
Result.cube = fields.cbCube.isSelected() ? 1 : 0;
Result.max_proc_count = (int) fields.sMaxProc.getValue();
Result.flags = fields.tfFlags.getText();
Result.environments = fields.tfEnvironments.getText();
Result.Is_DVM_STAT = fields.cbDvmStat.isSelected()?1:0;
}
@Override
public void SetReadonly() {
fields.tfName.setEnabled(false);
fields.sMinDimProc.setEnabled(false);
fields.sMaxDimProc.setEnabled(false);
fields.cbCube.setEnabled(false);
fields.sMaxProc.setEnabled(false);
}
};
}
@Override
public boolean ShowEditObjectDialog(DBObject object) {
return (Current.getAccount().CheckAccessRights(((DVMSettings) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
}
}