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

This commit is contained in:
2024-10-15 23:01:36 +03:00
parent 7d789b22d3
commit 2fa413b1c6
49 changed files with 174 additions and 130 deletions

View File

@@ -15,7 +15,6 @@ import _VisualDVM.Repository.Component.Sapfor.MessagesServer;
import _VisualDVM.Repository.Component.Sapfor.Sapfor_F;
import _VisualDVM.Repository.Server.ComponentsServer;
import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.DVM.LocalDVMTestingPlanner;
import _VisualDVM.TestingSystem.DVM.RemoteDVMTestingPlanner;
import _VisualDVM.TestingSystem.SAPFOR.PackageModeSupervisor;
import org.fife.ui.rsyntaxtextarea.AbstractTokenMakerFactory;

View File

@@ -36,7 +36,7 @@ public class CompilerOptionsSet extends DataSet<String, CompilerOption> {
}
@Override
protected void AdditionalInitColumns() {
columns.get(2).setRendererClass( CompilerOptionParameterNameRenderer.class);
columns.get(2).setRendererClass(CompilerOptionParameterNameRenderer.class);
columns.get(3).setRendererClass(CompilerOptionParameterValueRenderer.class);
columns.get(3).setEditorClass(CompilerOptionParameterValueRenderer.class);
columns.get(4).setRendererClass(RendererMultiline.class);

View File

@@ -1,27 +0,0 @@
package _VisualDVM.GlobalData.Grid;
import Common.Database.Objects.DBObject;
import com.sun.org.glassfish.gmbal.Description;
import java.util.Arrays;
import java.util.Vector;
import java.util.stream.Collectors;
public class TableVisualData extends DBObject {
@Description("PRIMARY KEY, UNIQUE") //имя таблицы
public String name = null;
//todo запаковать в json (?)
@Description("DEFAULT ''")
public String sizes = ""; //ширины столбцов запакованные через |. вводить объекты ради них нецелесообразно.
public TableVisualData() {
}
public TableVisualData(String name_in) {
name = name_in;
sizes = "";
}
@Override
public Object getPK() {
return name;
}
public Vector<Integer> unpack() {
return Arrays.stream(sizes.split("\\|")).map(Integer::parseInt).collect(Collectors.toCollection(Vector::new));
}
}

View File

@@ -1,7 +0,0 @@
package _VisualDVM.GlobalData.Grid;
import Common.Database.Tables.DBTable;
public class TablesVisualDatasDBTable extends DBTable<String, TableVisualData> {
public TablesVisualDatasDBTable() {
super(String.class, TableVisualData.class);
}
}

View File

@@ -1,22 +0,0 @@
package _VisualDVM.GlobalData.Splitter;
import Common.CommonConstants;
import Common.Database.Objects.DBObject;
import com.sun.org.glassfish.gmbal.Description;
import javax.swing.*;
public class Splitter extends DBObject {
@Description("PRIMARY KEY, UNIQUE")
public String name = "";
@Description("DEFAULT -1")
public int position = CommonConstants.Nan;
public Splitter() {
}
public Splitter(JSplitPane splitPane) {
name = splitPane.getName();
position = splitPane.getDividerLocation();
}
@Override
public Object getPK() {
return name;
}
}

View File

@@ -1,50 +0,0 @@
package _VisualDVM.GlobalData.Splitter;
import Common.Database.Tables.DBTable;
import Common.Utils.Utils_;
import javax.swing.*;
import java.lang.reflect.Field;
import java.util.Vector;
public class SplittersDBTable extends DBTable<String, Splitter> {
public SplittersDBTable() {
super(String.class, Splitter.class);
}
private Vector<JSplitPane> InitSplitters(Object form) throws Exception {
Vector<JSplitPane> res = new Vector<>();
Class c = form.getClass();
for (Field field : c.getFields()) {
if (field.getType().getSimpleName().equals("JSplitPane")) {
JSplitPane splitPane = (JSplitPane) field.get(form);
splitPane.setName(field.getName());
res.add(splitPane);
}
}
return res;
}
public void Load(Object form) {
try {
Vector<JSplitPane> splitters = InitSplitters(form);
for (JSplitPane splitPane : splitters) {
if (Data.containsKey(splitPane.getName())) {
splitPane.setDividerLocation(Data.get(splitPane.getName()).position);
} else {
getDb().Insert(new Splitter(splitPane));
}
}
} catch (Exception ex) {
Utils_.MainLog.PrintException(ex);
}
}
public void Save(Object form) {
try {
Vector<JSplitPane> splitters = InitSplitters(form);
for (JSplitPane splitPane : splitters) {
Splitter splitter = Data.get(splitPane.getName());
splitter.position = splitPane.getDividerLocation();
getDb().Update(splitter);
}
} catch (Exception ex) {
Utils_.MainLog.PrintException(ex);
}
}
}

View File

@@ -14,7 +14,6 @@ import _VisualDVM.GlobalData.Tasks.RunTask.RunTask;
import _VisualDVM.Passes.PassCode;
import java.util.LinkedHashMap;
public class CompilationTasksDBTable extends iDBTable<CompilationTask> {
public CompilationTasksDBTable() {
super(CompilationTask.class);

View File

@@ -7,7 +7,6 @@ import Common.Visual.Tables.RendererStatusEnum;
import _VisualDVM.Current;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
public class RunTasksDBTable extends iDBTable<RunTask> {
public RunTasksDBTable() {
super(RunTask.class);

View File

@@ -10,7 +10,6 @@ import _VisualDVM.Visual.Tables.EditorFilesHyperlinks;
import _VisualDVM.Visual.Tables.RendererHyperlinks;
import java.util.Vector;
public class ArraysSet extends DataSet<Long, ProjectArray> {
public ArraysSet() {
super(Long.class, ProjectArray.class);

View File

@@ -7,7 +7,6 @@ import _VisualDVM.Visual.Menus.GraphMenu;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class RulesTree extends StyledTree {
public RulesTree() {
super(Global.mainModule.getProject().align_rules_root);

View File

@@ -7,7 +7,6 @@ import Common.Visual.Tables.RendererMultiline;
import _VisualDVM.Current;
import _VisualDVM.ProjectData.SapforData.Variants.UI.RendererVariantRank;
import _VisualDVM.Visual.Menus.VariantsMenuBar.VariantsMenuBar;
public class VariantsSet extends DataSet<String, ParallelVariant> {
public VariantsSet() {
super(String.class, ParallelVariant.class);
@@ -29,7 +28,7 @@ public class VariantsSet extends DataSet<String, ParallelVariant> {
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() - 3).setRendererClass(RendererVariantRank.class);
columns.get(columns.size() - 2).setRendererClass(RendererDate.class);
}
};

View File

@@ -7,7 +7,6 @@ import _VisualDVM.Current;
import _VisualDVM.Visual.Menus.ComponentsMenuBar;
import java.util.Vector;
public class ComponentsSet extends DataSet<ComponentType, Component> {
public ComponentsSet() {
super(ComponentType.class, Component.class);

View File

@@ -13,7 +13,6 @@ import _VisualDVM.ServerObjectsCache.VisualCaches;
import java.util.Comparator;
import java.util.Date;
public class DVMPackageDBTable extends iDBTable<DVMPackage> {
public static boolean filterMyOnly = false;
public static boolean filterActive = false;

View File

@@ -10,7 +10,6 @@ import _VisualDVM.GlobalData.Tasks.TaskState;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import java.util.Comparator;
public class DVMRunTasksSet extends DataSet<Integer, DVMRunTask> {
//todo обобщить бы наличие фильтров для всех таблиц.
DVMPackage target;

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
public interface AnalysisWindow extends FormWithSplitters, VisualizerForm {
void ShowProjectMaxDim();

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
public interface ArraysWindow extends VisualizerForm, FormWithSplitters {
void ShowArrays();

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
import javax.swing.*;

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
import javax.swing.*;

View File

@@ -1,10 +0,0 @@
package _VisualDVM.Visual.Interface;
import _VisualDVM.Global;
public interface FormWithSplitters {
default void LoadSplitters() {
Global.mainModule.getDb().splitters.Load(this);
}
default void SaveSplitters() {
Global.mainModule.getDb().splitters.Save(this);
}
}

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
import _VisualDVM.ProjectData.SapforData.Functions.UI.Graph.FunctionsGraphForm;
import javafx.util.Pair;

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
public interface ScenariosWindow extends FormWithSplitters, VisualizerForm {
void ShowAll();

View File

@@ -1,4 +1,5 @@
package _VisualDVM.Visual.Interface;
import Common.Visual.FormWithSplitters;
import Common.Visual.VisualizerForm;
public interface VariantsWindow extends VisualizerForm, FormWithSplitters {
void ShowProjectDistribution();

View File

@@ -27,9 +27,7 @@ public class MainUI extends UIModule_ {
//-
public MainUI() {
setTheme(new LightSPFEditorTheme());
}
//-
public TestingMenuBar getTestingMenuBar() {
if (testingMenuBar == null)

View File

@@ -1,5 +1,6 @@
package _VisualDVM.Visual.Windows;
import Common.Utils.Utils_;
import Common.Visual.FormWithSplitters;
import Common.Visual.Menus.VisualiserMenuBar;
import Common.Visual.TextField.StyledTextField;
import Common.Visual.UI;
@@ -14,7 +15,6 @@ import _VisualDVM.Visual.Editor.Viewer;
import _VisualDVM.Visual.Interface.CallbackWindow;
import _VisualDVM.Visual.Interface.CommentInterface;
import _VisualDVM.Visual.Interface.DescriptionInterface;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import javax.swing.*;
import javax.swing.event.DocumentEvent;

View File

@@ -1,7 +1,7 @@
package _VisualDVM.Visual.Windows;
import Common.Visual.FormWithSplitters;
import _VisualDVM.Global;
import _VisualDVM.Visual.Interface.DebugWindow;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import javax.swing.*;
public class DebugForm implements DebugWindow, FormWithSplitters {

View File

@@ -1,5 +1,6 @@
package _VisualDVM.Visual.Windows;
import Common.CommonConstants;
import Common.Visual.FormWithSplitters;
import Common.Visual.Trees.TreeForm;
import Common.Visual.UI;
import _VisualDVM.Global;
@@ -16,7 +17,6 @@ import _VisualDVM.ProjectData.SapforData.Functions.UI.FileFunctionsTree;
import _VisualDVM.ProjectData.SapforData.Loops.UI.FileLoopsTree;
import _VisualDVM.Visual.Editor.Viewer;
import _VisualDVM.Visual.Interface.FileWindow;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import _VisualDVM.Visual.Interface.SPFEditorInterface;
import _VisualDVM.Visual.Menus.FileMenuBar.FileMenuBar;
import com.sun.org.glassfish.gmbal.Description;

View File

@@ -2,12 +2,16 @@ package _VisualDVM.Visual.Windows;
import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Controls.TabToolBar;
import Common.Visual.FormWithSplitters;
import Common.Visual.Windows.Form;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Test.Test;
import _VisualDVM.Visual.Interface.*;
import _VisualDVM.Visual.Interface.CallbackWindow;
import _VisualDVM.Visual.Interface.ProjectWindow;
import _VisualDVM.Visual.Interface.TestingWindow;
import _VisualDVM.Visual.Interface.TestsWindow;
import _VisualDVM.Visual.Menus.MainMenuBar.MainMenuBar;
import _VisualDVM.Visual.Menus.MainMenuBar.MainWindow;
@@ -42,7 +46,7 @@ public class MainForm extends Form implements MainWindow {
return Content;
}
@Override
protected String getFormKey() {
public String getFormKey() {
return "Main"; //можно было бы через имя класса
}
@Override

View File

@@ -1,7 +1,7 @@
package _VisualDVM.Visual.Windows;
import Common.Visual.FormWithSplitters;
import Common.Visual.Windows.Dialog.DialogFields;
import _VisualDVM.Global;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import javax.swing.*;
import java.awt.*;

View File

@@ -1,9 +1,9 @@
package _VisualDVM.Visual.Windows;
import Common.Database.Objects.DBForm.DBForm;
import Common.Visual.SavedForm;
import Common.Visual.Windows.Dialog.Dialog;
import _VisualDVM.Global;
//todo разобраться с DBform
public class ProfilesForm extends Dialog<Object, ProfilesFields> {
public class ProfilesForm extends Dialog<Object, ProfilesFields> implements SavedForm {
private DBForm info = null;
public ProfilesForm() {
super(ProfilesFields.class);
@@ -38,37 +38,15 @@ public class ProfilesForm extends Dialog<Object, ProfilesFields> {
public void CreateContent() {
super.CreateContent();
fields.LoadSplitters();
try {
LoadWindowParameters();
} catch (Exception ex) {
ex.printStackTrace();
}
LoadWindowParameters();
}
@Override
public void onClose() {
fields.SaveSplitters();
try {
SaveWindowParameters();
} catch (Exception ex) {
ex.printStackTrace();
}
SaveWindowParameters();
}
protected String getFormKey() {
@Override
public String getFormKey() {
return "Profiles"; //можно было бы через имя класса
}
public void LoadWindowParameters() throws Exception {
if ((Global.mainModule.getDb()).forms.Data.containsKey(getFormKey())) {
info = (Global.mainModule.getDb()).forms.Data.get(getFormKey());
info.Apply(this);
return;
}
setSize(getDefaultWidth(), getDefaultHeight());
}
public void SaveWindowParameters() throws Exception {
if (info != null) {
info.Init(this);
Global.mainModule.getDb().Update(info);
} else
Global.mainModule.getDb().Insert(new DBForm(getFormKey(), this));
}
}

View File

@@ -2,6 +2,7 @@ package _VisualDVM.Visual.Windows;
import Common.MainModule_;
import Common.Utils.Utils_;
import Common.Visual.Controls.TabToolBar;
import Common.Visual.FormWithSplitters;
import Common.Visual.Trees.TreeForm;
import Common.Visual.UI;
import _VisualDVM.Global;
@@ -14,7 +15,10 @@ import _VisualDVM.ProjectData.SapforData.Functions.UI.InlineTree;
import _VisualDVM.ProjectData.SapforData.Functions.UI.InlineTree2;
import _VisualDVM.ProjectData.SapforData.Includes.UI.IncludesTree;
import _VisualDVM.Visual.Editor.Viewer;
import _VisualDVM.Visual.Interface.*;
import _VisualDVM.Visual.Interface.AnalysisWindow;
import _VisualDVM.Visual.Interface.ArraysWindow;
import _VisualDVM.Visual.Interface.FunctionsWindow;
import _VisualDVM.Visual.Interface.ProjectWindow;
import _VisualDVM.Visual.Menus.ProjectMenuBar.ProjectMenuBar;
import javax.swing.*;

View File

@@ -180,7 +180,7 @@ public class SearchReplaceForm extends Form {
lCount.setText(String.valueOf(result.getMarkedCount()));
}
@Override
protected String getFormKey() {
public String getFormKey() {
return "SearchReplace";
}
private void createUIComponents() {

View File

@@ -1,5 +1,6 @@
package _VisualDVM.Visual.Windows;
import Common.CommonConstants;
import Common.Visual.FormWithSplitters;
import Common.Visual.TextField.StyledTextField;
import Common.Visual.UI;
import _VisualDVM.Current;
@@ -10,7 +11,6 @@ import _VisualDVM.TestingSystem.Common.TestingServer;
import _VisualDVM.TestingSystem.DVM.DVMPackage.DVMPackage;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import _VisualDVM.TestingSystem.SAPFOR.SapforPackage.SapforPackage;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import _VisualDVM.Visual.Interface.TestingWindow;
import javax.swing.*;

View File

@@ -1,6 +1,6 @@
package _VisualDVM.Visual.Windows;
import Common.Visual.FormWithSplitters;
import _VisualDVM.Global;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import _VisualDVM.Visual.Interface.TestsWindow;
import javax.swing.*;

View File

@@ -1,10 +1,10 @@
package _VisualDVM.Visual.Windows;
import Common.Visual.FormWithSplitters;
import Common.Visual.Trees.TreeForm;
import Common.Visual.UI;
import _VisualDVM.Global;
import _VisualDVM.ProjectData.Project.UI.VersionsTree;
import _VisualDVM.ProjectData.Project.db_project_info;
import _VisualDVM.Visual.Interface.FormWithSplitters;
import _VisualDVM.Visual.Interface.VariantsWindow;
import _VisualDVM.Visual.Interface.VersionsWindow;