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

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()));

View File

@@ -1,6 +1,7 @@
package _VisualDVM.ProjectData.SapforData.Regions.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.RendererMultiline;
import Common.Visual.Tables.RendererTopLeft;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
@@ -9,48 +10,77 @@ import javax.swing.*;
public class ParallelRegionsForm extends DataSetControlForm<ParallelRegion> {
public ParallelRegionsForm(DataSet<?, ParallelRegion> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
AddColumns(
new ColumnInfo<ParallelRegion>("Имя") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.originalName;
}
},
new ColumnInfo<ParallelRegion>("Строк кода") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.lines_count;
}
@Override
public Class getRendererClass() {
return RendererTopLeft.class;
}
},
new ColumnInfo<ParallelRegion>("Массивов") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.arrays_count;
}
@Override
public Class getRendererClass() {
return RendererTopLeft.class;
}
},
new ColumnInfo<ParallelRegion>("Циклов") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.loops_count;
}
@Override
public Class getRendererClass() {
return RendererTopLeft.class;
}
},
new ColumnInfo<ParallelRegion>("Объявлений процедур") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.fd_count;
}
@Override
public Class getRendererClass() {
return RendererTopLeft.class;
}
},
new ColumnInfo<ParallelRegion>("Вызовов процедур") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.fc_count;
}
@Override
public Class getRendererClass() {
return RendererTopLeft.class;
}
},
new ColumnInfo<ParallelRegion>("Фрагменты") {
@Override
public Object getFieldAt(ParallelRegion object) {
return object.fragments;
}
@Override
public Class getRendererClass() {
return RendererMultiline.class;
}
}
);
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Строк кода",
"Массивов",
"Циклов",
"Объявлений процедур",
"Вызовов процедур",
"Фрагменты"};
}
@Override
public Object getFieldAt(ParallelRegion object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.originalName;
case 2:
return object.lines_count;
case 3:
return object.arrays_count;
case 4:
return object.loops_count;
case 5:
return object.fd_count;
case 6:
return object.fc_count;
case 7:
return object.fragments;
default:
return null;
}
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
for (int i = 1; i < 7; ++i)
columns.get(i).setRendererClass(RendererTopLeft.class);
columns.get(7).setRendererClass(RendererMultiline.class);
}
}

View File

@@ -2,6 +2,7 @@ package _VisualDVM.ProjectData.SapforData.Variants.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.RendererDate;
import Common.Visual.Tables.RendererMaskedNanInteger;
import Common.Visual.Tables.RendererMultiline;
@@ -12,62 +13,125 @@ import javax.swing.*;
public class ParallelVariantsForm extends DataSetControlForm<ParallelVariant> {
public ParallelVariantsForm(DataSet<?, ParallelVariant> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Распределение",
"PARALLEL",
"REMOTE",
"REDISTRIBUTE",
"INTERVALS",
"PS.REMOTE",
"PS.SHADOW",
"PS.REDUCTION",
"PS.ACROSS",
"Оценка",
"Дата оценки",
"Версия"};
}
@Override
public Object getFieldAt(ParallelVariant object, int columnIndex) {
switch (columnIndex) {
case 2:
return object.templates_description;
case 3:
return object.stats.ParallelCount;
case 4:
return object.stats.RemoteCount;
case 5:
return object.stats.RedistributeCount;
case 6:
return object.stats.IntervalCount;
case 7:
return object.stats.PS_RemoteCount;
case 8:
return object.stats.PS_ShadowCount;
case 9:
return object.stats.PS_ReductionCount;
case 10:
return object.stats.PS_AcrossCount;
case 11:
return object.stats.Rank;
case 12:
return object.stats.getPredictionDate();
case 13:
return object.stats.last_version;
default:
return null;
}
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(2).setRendererClass(RendererMultiline.class);
for (int i = 3; i < columns.size() - 3; ++i)
columns.get(i).setRendererClass(RendererMaskedNanInteger.class);
columns.get(columns.size() - 3).setRendererClass(RendererVariantRank.class);
columns.get(columns.size() - 2).setRendererClass(RendererDate.class);
AddColumns(
new ColumnInfo<ParallelVariant>("Распределение") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.templates_description;
}
@Override
public Class getRendererClass() {
return RendererMultiline.class;
}
},
new ColumnInfo<ParallelVariant>("PARALLEL") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.ParallelCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("REMOTE") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.RemoteCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("REDISTRIBUTE") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.RedistributeCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("INTERVALS") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.IntervalCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("PS.REMOTE") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.PS_RemoteCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("PS.SHADOW") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.PS_ShadowCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("PS.REDUCTION") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.PS_ReductionCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("PS.ACROSS") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.PS_AcrossCount;
}
@Override
public Class getRendererClass() {
return RendererMaskedNanInteger.class;
}
},
new ColumnInfo<ParallelVariant>("Оценка") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.Rank;
}
@Override
public Class getRendererClass() {
return RendererVariantRank.class;
}
},
new ColumnInfo<ParallelVariant>("Дата оценки") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.getPredictionDate();
}
@Override
public Class getRendererClass() {
return RendererDate.class;
}
},
new ColumnInfo<ParallelVariant>("Версия") {
@Override
public Object getFieldAt(ParallelVariant object) {
return object.stats.last_version;
}
}
);
getColumnInfo(0).setVisible(false);
}
@Override
public DataMenuBar createMenuBar() {