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 { 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 getDialog() { return new DBObjectDialog(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); } }