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

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

@@ -2,31 +2,47 @@ package _VisualDVM.ProjectData.DBArray.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.DBObjectSelectionRenderer;
import _VisualDVM.ProjectData.DBArray.DBArray;
import javax.swing.*;
public class DBArraysForm extends DataSetControlForm<DBArray> {
public DBArraysForm(DataSet<?, DBArray> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
AddColumns(
new ColumnInfo<DBArray>("Имя") {
@Override
public Object getFieldAt(DBArray object) {
return object.shortName;
}
}
);
}
@Override
public String[] getUIColumnNames() {
return new String[]{"Имя"};
}
@Override
public Object getFieldAt(DBArray object, int columnIndex) {
switch (columnIndex) {
case 1:
protected ColumnInfo<DBArray> createCheckBoxColummn() {
return new ColumnInfo<DBArray>("") {
@Override
public Object getFieldAt(DBArray object) {
return object.State;
case 2:
return object.shortName;
default:
return null;
}
}
@Override
protected void AdditionalInitColumns() {
columns.get(1).setEditable(false);
}
@Override
public int getMinWidth() {
return 25;
}
@Override
public int getMaxWidth() {
return 25;
}
@Override
public Class getRendererClass() {
return DBObjectSelectionRenderer.class;
}
@Override
public boolean isEditable() {
return false;
}
};
}
@Override
public DataMenuBar createMenuBar() {

View File

@@ -1,6 +1,7 @@
package _VisualDVM.ProjectData.Messages;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.HeaderTextFilter;
import Common.Visual.Tables.RendererWrapText;
import _VisualDVM.Current;
@@ -12,43 +13,46 @@ import java.util.Comparator;
public class MessagesControlForm extends DataSetControlForm<Message> {
public MessagesControlForm(DataSet dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
AddColumns(
new ColumnInfo<Message>("группа") {
@Override
public Object getFieldAt(Message object) {
return object.group_s;
}
},
new ColumnInfo<Message>("строка") {
@Override
public Object getFieldAt(Message object) {
return object.line;
}
},
new ColumnInfo<Message>("текст") {
@Override
public Object getFieldAt(Message object) {
return object.value;
}
@Override
public Class getRendererClass() {
return RendererWrapText.class;
}
@Override
public int getMinWidth() {
return 700;
}
}
);
getColumnInfo(0).setVisible(false);
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"группа",
"строка",
"текст"};
}
@Override
public Object getFieldAt(Message object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.group_s;
case 2:
return object.line;
case 3:
return object.value;
default:
return null;
}
}
@Override
protected void ShowCurrentObject() throws Exception {
super.ShowCurrentObject();
Global.mainModule.getFile().form.getEditor().gotoLine(getCurrent().line);
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(3).setMinWidth(700);
columns.get(3).setRendererClass(RendererWrapText.class);
}
@Override
protected void MouseAction2() throws Exception {
ShowCurrentObject();
}

View File

@@ -1,6 +1,7 @@
package _VisualDVM.ProjectData.Messages.Recommendations.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.ColumnInfo;
import Common.Visual.Tables.HeaderTextFilter;
import Common.Visual.Tables.RendererWrapText;
import _VisualDVM.ProjectData.Messages.Recommendations.MessageRecommendation;
@@ -9,31 +10,29 @@ import javax.swing.*;
public class RecommendationsForm extends DataSetControlForm<MessageRecommendation> {
public RecommendationsForm(DataSet<?, MessageRecommendation> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
AddColumns(
new ColumnInfo<MessageRecommendation>("текст") {
@Override
public Object getFieldAt(MessageRecommendation object) {
return object.text;
}
@Override
public Class getRendererClass() {
return RendererWrapText.class;
}
@Override
public int getMinWidth() {
return 700;
}
}
);
getColumnInfo(0).setVisible(false);
}
@Override
protected boolean hasCheckBox() {
return false;
}
@Override
public String[] getUIColumnNames() {
return new String[]{"текст"};
}
@Override
public Object getFieldAt(MessageRecommendation object, int columnIndex) {
switch (columnIndex) {
case 1:
return object.text;
default:
return null;
}
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(1).setMinWidth(700);
columns.get(1).setRendererClass(RendererWrapText.class);
}
@Override
protected void createFilters() {
AddFilter(new HeaderTextFilter(dataSource, 1, 72));
}

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