Перенос.

This commit is contained in:
2023-09-17 22:13:42 +03:00
parent dd2e0ca7e0
commit 629d8b8477
1239 changed files with 61161 additions and 1 deletions

View File

@@ -0,0 +1,22 @@
package GlobalData.Splitter;
import Common.Database.DBObject;
import Common.Utils.Utils;
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 = Utils.Nan;
public Splitter() {
}
public Splitter(JSplitPane splitPane) {
name = splitPane.getName();
position = splitPane.getDividerLocation();
}
@Override
public Object getPK() {
return name;
}
}

View File

@@ -0,0 +1,50 @@
package GlobalData.Splitter;
import Common.Database.DBTable;
import Common.Global;
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) {
Global.Log.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) {
Global.Log.PrintException(ex);
}
}
}