рефакторинг интерфейса таблиц. все же, вывел их в полноценные классы,с указанием типа объектов к ним относящихся

This commit is contained in:
2024-10-20 17:27:58 +03:00
parent 10422327ba
commit 3f42f61c76
81 changed files with 1637 additions and 1173 deletions

View File

@@ -4,6 +4,7 @@ import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import _VisualDVM.Current;
import _VisualDVM.ProjectData.DBArray.UI.DBArraysForm;
import javax.swing.*;
public class ArraysDBTable extends DBTable<String, DBArray> {
@@ -20,29 +21,7 @@ public class ArraysDBTable extends DBTable<String, DBArray> {
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public String[] getUIColumnNames() {
return new String[]{"Имя"};
}
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
columns.get(1).setEditable(false);
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(getPluralDescription()) {
@Override
public void createSelectionButtons(DataSet dataSet) {
//не нужны.
}
};
}
};
return new DBArraysForm(this, mountPanel);
}
@Override
public Current CurrentName() {

View File

@@ -0,0 +1,33 @@
package _VisualDVM.ProjectData.DBArray.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
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);
}
@Override
public String[] getUIColumnNames() {
return new String[]{"Имя"};
}
@Override
public boolean hasCheckBox() {
return true;
}
@Override
protected void AdditionalInitColumns() {
columns.get(1).setEditable(false);
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(dataSource.getPluralDescription()) {
@Override
public void createSelectionButtons(DataSet dataSet) {
//не нужны.
}
};
}
}

View File

@@ -8,7 +8,7 @@ import _VisualDVM.Global;
import javax.swing.*;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
public class MessagesControlForm extends DataSetControlForm {
public class MessagesControlForm extends DataSetControlForm<Message> {
public MessagesControlForm(DataSet dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}

View File

@@ -5,6 +5,7 @@ import Common.Visual.Tables.RendererWrapText;
import _VisualDVM.Current;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Messages.Recommendations.UI.RecommendationsForm;
import javax.swing.*;
public class RecommendationsDBTable extends iDBTable<MessageRecommendation> {
@@ -16,22 +17,7 @@ public class RecommendationsDBTable extends iDBTable<MessageRecommendation> {
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public String[] getUIColumnNames() {
return new String[]{"текст"};
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(1).setMinWidth(700);
columns.get(1).setRendererClass(RendererWrapText.class);
}
@Override
public boolean hasMenuBar() {
return false;
}
};
return new RecommendationsForm(this, mountPanel);
}
@Override
public String getSingleDescription() {

View File

@@ -0,0 +1,26 @@
package _VisualDVM.ProjectData.Messages.Recommendations.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererWrapText;
import _VisualDVM.ProjectData.Messages.Recommendations.MessageRecommendation;
import javax.swing.*;
public class RecommendationsForm extends DataSetControlForm<MessageRecommendation> {
public RecommendationsForm(DataSet<?, MessageRecommendation> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
public String[] getUIColumnNames() {
return new String[]{"текст"};
}
@Override
protected void AdditionalInitColumns() {
columns.get(0).setVisible(false);
columns.get(1).setMinWidth(700);
columns.get(1).setRendererClass(RendererWrapText.class);
}
@Override
public boolean hasMenuBar() {
return false;
}
}

View File

@@ -23,7 +23,7 @@ import _VisualDVM.ProjectData.Messages.Notes.MessageNote;
import _VisualDVM.ProjectData.Messages.Recommendations.MessageRecommendation;
import _VisualDVM.ProjectData.Messages.Warnings.MessageWarning;
import _VisualDVM.ProjectData.ProjectDatabase;
import _VisualDVM.ProjectData.SapforData.Arrays.ArraysSet;
import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArraysSet;
import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArray;
import _VisualDVM.ProjectData.SapforData.Functions.FuncCall;
import _VisualDVM.ProjectData.SapforData.Functions.FuncCallH;
@@ -31,9 +31,9 @@ import _VisualDVM.ProjectData.SapforData.Functions.FuncInfo;
import _VisualDVM.ProjectData.SapforData.Functions.UI.Graph.GraphInfo;
import _VisualDVM.ProjectData.SapforData.Includes.FileInfo;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
import _VisualDVM.ProjectData.SapforData.Regions.RegionsSet;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegionsSet;
import _VisualDVM.ProjectData.SapforData.Variants.ParallelVariant;
import _VisualDVM.ProjectData.SapforData.Variants.VariantsSet;
import _VisualDVM.ProjectData.SapforData.Variants.ParallelVariantsSet;
import _VisualDVM.TestingSystem.Common.Test.ProjectFiles_json;
import _VisualDVM.Utils;
import com.mxgraph.swing.mxGraphComponent;
@@ -118,7 +118,7 @@ public class db_project_info extends DBObject {
public boolean isNew = false; //для выделения только что построенных версий.
//------------------------------------
//тут ключ - идентификатор. не меняем.
public ArraysSet declaratedArrays = new ArraysSet();
public ProjectArraysSet declaratedArrays = new ProjectArraysSet();
//new - все объявленные в проекте функции.
public FuncInfo main_function = null;
public FuncCallH main_functionH = null;
@@ -128,8 +128,8 @@ public class db_project_info extends DBObject {
public LinkedHashMap<String, FileInfo> addictedFiles = new LinkedHashMap<>();
//тут ключ -адрес. меняем
public Vector<ProjectArray> templates = new Vector<>();
public RegionsSet parallelRegions = new RegionsSet();
public VariantsSet parallelVariants = new VariantsSet();
public ParallelRegionsSet parallelRegions = new ParallelRegionsSet();
public ParallelVariantsSet parallelVariants = new ParallelVariantsSet();
public GraphInfo functionsGraph = new GraphInfo();
public Vector<String> files_order = new Vector<>();
public db_project_info last_modification = null;

View File

@@ -1,65 +0,0 @@
package _VisualDVM.ProjectData.SapforData.Arrays;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererHiddenList;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.Visual.Tables.EditorFilesHyperlinks;
import _VisualDVM.Visual.Tables.RendererHyperlinks;
import javax.swing.*;
import java.util.Vector;
public class ArraysSet extends DataSet<Long, ProjectArray> {
public ArraysSet() {
super(Long.class, ProjectArray.class);
}
@Override
public String getSingleDescription() {
return "массив";
}
@Override
public String getPluralDescription() {
return "объявленные массивы";
}
@Override
public Current CurrentName() {
return Current.ProjectArray;
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Область описания",
"Файлы объявления",
"Размерность",
"Размер элемента(байт)",
"Область распараллеливания"
};
}
@Override
public boolean hasCheckBox() {
return true;
}
@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 void SelectAll(boolean flag) {
Global.mainModule.getPass(PassCode.MassSelectArrays).Do(flag, new Vector(Global.mainModule.getProject().declaratedArrays.Data.values()));
}
}

View File

@@ -0,0 +1,35 @@
package _VisualDVM.ProjectData.SapforData.Arrays;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.SapforData.Arrays.UI.ProjectArraysForm;
import javax.swing.*;
import java.util.Vector;
public class ProjectArraysSet extends DataSet<Long, ProjectArray> {
public ProjectArraysSet() {
super(Long.class, ProjectArray.class);
}
@Override
public String getSingleDescription() {
return "массив";
}
@Override
public String getPluralDescription() {
return "объявленные массивы";
}
@Override
public Current CurrentName() {
return Current.ProjectArray;
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new ProjectArraysForm(this, mountPanel);
}
@Override
public void SelectAll(boolean flag) {
Global.mainModule.getPass(PassCode.MassSelectArrays).Do(flag, new Vector(Global.mainModule.getProject().declaratedArrays.Data.values()));
}
}

View File

@@ -0,0 +1,42 @@
package _VisualDVM.ProjectData.SapforData.Arrays.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererHiddenList;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Settings.SettingName;
import _VisualDVM.ProjectData.SapforData.Arrays.ProjectArray;
import _VisualDVM.Visual.Tables.EditorFilesHyperlinks;
import _VisualDVM.Visual.Tables.RendererHyperlinks;
import javax.swing.*;
public class ProjectArraysForm extends DataSetControlForm<ProjectArray> {
public ProjectArraysForm(DataSet<?, ProjectArray> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Область описания",
"Файлы объявления",
"Размерность",
"Размер элемента(байт)",
"Область распараллеливания"
};
}
@Override
public boolean hasCheckBox() {
return true;
}
@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);
}
}
}

View File

@@ -0,0 +1,32 @@
package _VisualDVM.ProjectData.SapforData.Regions;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererMultiline;
import Common.Visual.Tables.RendererTopLeft;
import _VisualDVM.Current;
import _VisualDVM.ProjectData.SapforData.Regions.UI.ParallelRegionsForm;
import javax.swing.*;
import java.math.BigInteger;
public class ParallelRegionsSet extends DataSet<BigInteger, ParallelRegion> {
//суррогат. нужен только для сохры столбцов. во всяком случае пока.
public ParallelRegionsSet() {
super(BigInteger.class, ParallelRegion.class);
}
@Override
public Current CurrentName() {
return Current.ParallelRegionInfo;
}
@Override
public String getSingleDescription() {
return "область распараллеливания";
}
@Override
public String getPluralDescription() {
return "области распараллеливания";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new ParallelRegionsForm(this, mountPanel) ;
}
}

View File

@@ -1,50 +0,0 @@
package _VisualDVM.ProjectData.SapforData.Regions;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererMultiline;
import Common.Visual.Tables.RendererTopLeft;
import _VisualDVM.Current;
import javax.swing.*;
import java.math.BigInteger;
public class RegionsSet extends DataSet<BigInteger, ParallelRegion> {
//суррогат. нужен только для сохры столбцов. во всяком случае пока.
public RegionsSet() {
super(BigInteger.class, ParallelRegion.class);
}
@Override
public Current CurrentName() {
return Current.ParallelRegionInfo;
}
@Override
public String getSingleDescription() {
return "область распараллеливания";
}
@Override
public String getPluralDescription() {
return "области распараллеливания";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Строк кода",
"Массивов",
"Циклов",
"Объявлений процедур",
"Вызовов процедур",
"Фрагменты"};
}
@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

@@ -0,0 +1,31 @@
package _VisualDVM.ProjectData.SapforData.Regions.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Tables.RendererMultiline;
import Common.Visual.Tables.RendererTopLeft;
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
import javax.swing.*;
public class ParallelRegionsForm extends DataSetControlForm<ParallelRegion> {
public ParallelRegionsForm(DataSet<?, ParallelRegion> dataSource_in, JPanel mountPanel_in) {
super(dataSource_in, mountPanel_in);
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Имя",
"Строк кода",
"Массивов",
"Циклов",
"Объявлений процедур",
"Вызовов процедур",
"Фрагменты"};
}
@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

@@ -0,0 +1,24 @@
package _VisualDVM.ProjectData.SapforData.Variants;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import _VisualDVM.Current;
import _VisualDVM.ProjectData.SapforData.Variants.UI.ParallelVariantsForm;
import javax.swing.*;
public class ParallelVariantsSet extends DataSet<String, ParallelVariant> {
public ParallelVariantsSet() {
super(String.class, ParallelVariant.class);
}
@Override
public String getPluralDescription() {
return "варианты";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new ParallelVariantsForm(this, mountPanel);
}
@Override
public Current CurrentName() {
return Current.ParallelVariant;
}
}

View File

@@ -0,0 +1,53 @@
package _VisualDVM.ProjectData.SapforData.Variants.UI;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererDate;
import Common.Visual.Tables.RendererMaskedNanInteger;
import Common.Visual.Tables.RendererMultiline;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.SapforData.Variants.ParallelVariant;
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 boolean hasCheckBox() {
return true;
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Распределение",
"PARALLEL",
"REMOTE",
"REDISTRIBUTE",
"INTERVALS",
"PS.REMOTE",
"PS.SHADOW",
"PS.REDUCTION",
"PS.ACROSS",
"Оценка",
"Дата оценки",
"Версия"};
}
@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);
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(dataSource.getPluralDescription(),
PassCode.ShowAllParallelVariants,
PassCode.ShowParallelVariantsCoverage,
PassCode.PredictParallelVariants,
PassCode.CreateParallelVariants);
}
}

View File

@@ -1,67 +0,0 @@
package _VisualDVM.ProjectData.SapforData.Variants;
import Common.Database.Tables.DataSet;
import Common.Visual.DataSetControlForm;
import Common.Visual.Menus.DataMenuBar;
import Common.Visual.Tables.RendererDate;
import Common.Visual.Tables.RendererMaskedNanInteger;
import Common.Visual.Tables.RendererMultiline;
import _VisualDVM.Current;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.SapforData.Variants.UI.RendererVariantRank;
import javax.swing.*;
public class VariantsSet extends DataSet<String, ParallelVariant> {
public VariantsSet() {
super(String.class, ParallelVariant.class);
}
@Override
public String getPluralDescription() {
return "варианты";
}
@Override
protected DataSetControlForm createUI(JPanel mountPanel) {
return new DataSetControlForm(this, mountPanel) {
@Override
public boolean hasCheckBox() {
return true;
}
@Override
public String[] getUIColumnNames() {
return new String[]{
"Распределение",
"PARALLEL",
"REMOTE",
"REDISTRIBUTE",
"INTERVALS",
"PS.REMOTE",
"PS.SHADOW",
"PS.REDUCTION",
"PS.ACROSS",
"Оценка",
"Дата оценки",
"Версия"};
}
@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);
}
@Override
public DataMenuBar createMenuBar() {
return new DataMenuBar(getPluralDescription(),
PassCode.ShowAllParallelVariants,
PassCode.ShowParallelVariantsCoverage,
PassCode.PredictParallelVariants,
PassCode.CreateParallelVariants);
}
};
}
@Override
public Current CurrentName() {
return Current.ParallelVariant;
}
}