рефакторинг форм таблиц и заполнения информации о столбцах

This commit is contained in:
2024-10-26 14:34:55 +03:00
parent ffcad7a620
commit a79816082a
43 changed files with 1607 additions and 1189 deletions

View File

@@ -1,6 +1,10 @@
package _VisualDVM.ProjectData.SapforData.Arrays.UI;
import Common.CommonConstants;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.DBObjectSelectionRenderer;
import Common.Visual.Tables.DBObjectSelector;
import Common.Visual.Tables.RendererHiddenList;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
@@ -21,31 +25,85 @@ public class ProjectArraysForm extends DataSetControlForm<ProjectArray> {
//--
public ProjectArraysForm(DataSet<?, ProjectArray> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
AddColumns(
new ColumnInfo<ProjectArray>("Имя") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.GetShortNameWithDim();
}
},
new ColumnInfo<ProjectArray>("Область описания") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.locName + " : " + object.location;
}
},
new ColumnInfo<ProjectArray>("Файлы объявления") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.GetDeclPlacesList();
}
@Override
public Class getRendererClass() {
//todo все настройки переделать в проперти(?)
return (Global.mainModule.getDb()).settings.get(SettingName.ShowFullArraysDeclarations).toBoolean() ? RendererHyperlinks.class : RendererHiddenList.class;
}
@Override
public Class getEditorClass() {
return (Global.mainModule.getDb()).settings.get(SettingName.ShowFullArraysDeclarations).toBoolean() ? EditorFilesHyperlinks.class : null;
}
@Override
public int getMaxWidth() {
return (Global.mainModule.getDb()).settings.get(SettingName.ShowFullArraysDeclarations).toBoolean() ? CommonConstants.Nan : 200;
}
},
new ColumnInfo<ProjectArray>("Размерность") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.dimSize;
}
},
new ColumnInfo<ProjectArray>("Размер элемента(байт)") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.typeSize;
}
},
new ColumnInfo<ProjectArray>("Область распараллеливания") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.GetRegionsText();
}
}
);
getColumnInfo(0).setVisible(false);
}
//--
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Область описания",
"Файлы объявления",
"Размерность",
"Размер элемента(байт)",
"Область распараллеливания"
protected ColumnInfo<ProjectArray> createCheckBoxColummn() {
return new ColumnInfo<ProjectArray>("") {
@Override
public Object getFieldAt(ProjectArray object) {
return object.State;
}
@Override
public int getMinWidth() {
return 25;
}
@Override
public int getMaxWidth() {
return 25;
}
@Override
public Class getRendererClass() {
return DBObjectSelectionRenderer.class;
}
@Override
public Class getEditorClass() {
return DBObjectSelector.class;
}
};
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
if ((Global.mainModule.getDb()).settings.get(SettingName.ShowFullArraysDeclarations).toBoolean()) {
columns.get(4).setRendererClass(RendererHyperlinks.class);
columns.get(4).setEditorClass(EditorFilesHyperlinks.class);
} else {
columns.get(4).setRendererClass(RendererHiddenList.class);
columns.get(4).setMaxWidth(200);
}
}
@Override
public boolean isObjectVisible(ProjectArray object) {
if (super.isObjectVisible(object)) {
if (object.isTemplFlag > 0) return true;
@@ -58,27 +116,6 @@ public class ProjectArraysForm extends DataSetControlForm<ProjectArray> {
return false;
}
@Override
public Object getFieldAt(ProjectArray object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.State;
case 2:
return object.GetShortNameWithDim();
case 3:
return object.locName + " : " + object.location;
case 4:
return object.GetDeclPlacesList();
case 5:
return object.dimSize;
case 6:
return object.typeSize;
case 7:
return object.GetRegionsText();
default:
return null;
}
}
@Override
public void SelectAll(boolean flag) {
Global.mainModule.getPass(PassCode.MassSelectArrays).Do(flag,
new Vector(Global.mainModule.getProject().declaratedArrays.Data.values()));