вывод диалоговых форм для объектов в отдельный класс

This commit is contained in:
2024-10-22 16:44:13 +03:00
parent 38b2896e4a
commit a60fd375d0
66 changed files with 840 additions and 792 deletions

View File

@@ -1,12 +1,8 @@
package _VisualDVM.TestingSystem.DVM.DVMConfiguration;
import Common.Database.Objects.DBObject;
import Common.Database.Tables.iDBTable;
import Common.Passes.PassCode_;
import Common.Visual.DataSetControlForm;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.UI.ConfigurationFields;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.UI.DVMConfigurationsForm;
import javax.swing.*;
@@ -19,44 +15,6 @@ public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
return new DVMConfigurationsForm(this, mountPanel);
}
@Override
public DBObjectDialog<DVMConfiguration, ConfigurationFields> getDialog() {
return new DBObjectDialog<DVMConfiguration, ConfigurationFields>(ConfigurationFields.class) {
@Override
public int getDefaultHeight() {
return 300;
}
@Override
public int getDefaultWidth() {
return 500;
}
@Override
public void fillFields() {
fields.tfName.setText(Result.description);
//------->>>>
fields.sCompilationMaxtime.setValue(Result.c_maxtime);
fields.sRunMaxtime.setValue(Result.maxtime);
fields.sKernels.setValue(Result.kernels);
}
@Override
public void ProcessResult() {
Result.description = fields.tfName.getText();
Result.c_maxtime = (int) fields.sCompilationMaxtime.getValue();
Result.maxtime = (int) fields.sRunMaxtime.getValue();
Result.kernels = (int) fields.sKernels.getValue();
}
@Override
public void SetReadonly() {
fields.tfName.setEnabled(false);
fields.sCompilationMaxtime.setEnabled(false);
fields.sRunMaxtime.setEnabled(false);
}
};
}
@Override
public boolean ShowEditObjectDialog(DBObject object) {
return (Global.mainModule.getAccount().CheckAccessRights(((DVMConfiguration) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
}
@Override
public PassCode_ getDeletePassCode() {
return PassCode.DeleteConfiguration;
}

View File

@@ -0,0 +1,37 @@
package _VisualDVM.TestingSystem.DVM.DVMConfiguration.UI;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
public class DVMConfigurationDialog extends DBObjectDialog<DVMConfiguration, DVMConfigurationFields> {
public DVMConfigurationDialog() {
super(DVMConfigurationFields.class);
}
@Override
public int getDefaultHeight() {
return 300;
}
@Override
public int getDefaultWidth() {
return 500;
}
@Override
public void fillFields() {
fields.tfName.setText(Result.description);
//------->>>>
fields.sCompilationMaxtime.setValue(Result.c_maxtime);
fields.sRunMaxtime.setValue(Result.maxtime);
fields.sKernels.setValue(Result.kernels);
}
@Override
public void ProcessResult() {
Result.description = fields.tfName.getText();
Result.c_maxtime = (int) fields.sCompilationMaxtime.getValue();
Result.maxtime = (int) fields.sRunMaxtime.getValue();
Result.kernels = (int) fields.sKernels.getValue();
}
@Override
public void SetReadonly() {
fields.tfName.setEnabled(false);
fields.sCompilationMaxtime.setEnabled(false);
fields.sRunMaxtime.setEnabled(false);
}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="_VisualDVM.TestingSystem.DVM.DVMConfiguration.UI.ConfigurationFields">
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="_VisualDVM.TestingSystem.DVM.DVMConfiguration.UI.DVMConfigurationFields">
<grid id="27dc6" binding="content" layout-manager="GridLayoutManager" row-count="1" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>

View File

@@ -5,14 +5,14 @@ import _VisualDVM.Constants;
import javax.swing.*;
import java.awt.*;
public class ConfigurationFields implements DialogFields {
public class DVMConfigurationFields implements DialogFields {
public JTextField tfName;
public JSpinner sCompilationMaxtime;
public JSpinner sRunMaxtime;
public JSpinner sKernels;
//-
private JPanel content;
public ConfigurationFields() {
public DVMConfigurationFields() {
sCompilationMaxtime.setModel(new SpinnerNumberModel(40,
5, 3600, 1
));

View File

@@ -3,7 +3,9 @@ import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererMultiline;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ServerObjectsCache.ConfigurationCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
@@ -82,4 +84,12 @@ public class DVMConfigurationsForm extends DataSetControlForm<DVMConfiguration>
PassCode.DeleteConfiguration,
PassCode.StartSelectedDVMConfigurations);
}
@Override
public DBObjectDialog getDialog() {
return new DVMConfigurationDialog();
}
@Override
public boolean ShowEditObjectDialog(DVMConfiguration object) {
return (Global.mainModule.getAccount().CheckAccessRights(object.sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
}
}

View File

@@ -1,12 +1,8 @@
package _VisualDVM.TestingSystem.DVM.DVMSettings;
import Common.Database.Objects.DBObject;
import Common.Database.Tables.iDBTable;
import Common.Passes.PassCode_;
import Common.Visual.DataSetControlForm;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.DVM.DVMSettings.UI.DVMSettingsFields;
import _VisualDVM.TestingSystem.DVM.DVMSettings.UI.DVMSettingsForm;
import javax.swing.*;
@@ -19,67 +15,6 @@ public class DVMSettingsDBTable extends iDBTable<DVMSettings> {
return new DVMSettingsForm(this, mountPanel);
}
@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 (Global.mainModule.getAccount().CheckAccessRights(((DVMSettings) object).sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
}
@Override
public PassCode_ getDeletePassCode() {
return PassCode.DeleteDVMSettings;
}

View File

@@ -0,0 +1,60 @@
package _VisualDVM.TestingSystem.DVM.DVMSettings.UI;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
public class DVMSettingsDialog extends DBObjectDialog<DVMSettings, DVMSettingsFields> {
public DVMSettingsDialog() {
super(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);
}
}

View File

@@ -2,7 +2,9 @@ package _VisualDVM.TestingSystem.DVM.DVMSettings.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Windows.Dialog.DBObjectDialog;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
@@ -74,4 +76,12 @@ public class DVMSettingsForm extends DataSetControlForm<DVMSettings> {
PassCode.EditDVMSettings,
PassCode.DeleteDVMSettings);
}
@Override
public DBObjectDialog getDialog() {
return new DVMSettingsDialog();
}
@Override
public boolean ShowEditObjectDialog(DVMSettings object) {
return (Global.mainModule.getAccount().CheckAccessRights(object.sender_address, null)) ? super.ShowEditObjectDialog(object) : ViewObject(object);
}
}