Перенос.

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,10 @@
package ProjectData.Project;
import GlobalData.Settings.DBSetting;
import Visual_DVM_2021.Passes.Pass_2021;
public class ChangeSettingPass extends Pass_2021<DBSetting> {
@Override
protected boolean canStart(Object... args) throws Exception {
target = (DBSetting) args[0];
return true;
}
}

View File

@@ -0,0 +1,11 @@
package ProjectData.Project;
import Common.Database.DBTable;
public class ProjectInfoDBTable extends DBTable<String, db_project_info> {
public ProjectInfoDBTable() {
super(String.class, db_project_info.class);
}
@Override
public String getSingleDescription() {
return "проект";
}
}

View File

@@ -0,0 +1,49 @@
package ProjectData.Project.UI;
import Common.Current;
import Common.UI.Trees.DataTree;
import Common.UI.Trees.TreeRenderers;
import Common.UI.UI;
import ProjectData.Project.db_project_info;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
public class PackageVersionsTree extends DataTree {
public PackageVersionsTree() {
super(null);
// Current.getSapforTasksPackage().root);
// setRootVisible(false);
ExpandAll();
}
@Override
public TreeRenderers getRenderer() {
return TreeRenderers.RendererPackageVersion;
}
@Override
public Current getCurrent() {
return Current.PackageVersion;
}
@Override
protected int getStartLine() {
return 1;
}
@Override
public void SelectionAction(TreePath path) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent();
Object object = node.getUserObject();
if (object instanceof db_project_info) {
Current.set(getCurrent(), object);
}else {
Current.set(getCurrent(), null);
}
}
@Override
public void LeftMouseAction2() {
if ((Current.HasPackageVersion())&&(UI.Question("Открыть версию пакета, как текущий проект"))){
//Открываем как папку, чтобы было отдельное дерево версий, уже как для нормального проекта.
//? Запретить удалять ее (?). копировать куда то как времянку мб.
Pass_2021.passes.get(PassCode_2021.OpenCurrentProject).Do(Current.getPackageVersion().Home);
}
}
}

View File

@@ -0,0 +1,43 @@
package ProjectData.Project.UI;
import Common.UI.Trees.StyledTreeCellRenderer;
import ProjectData.Project.db_project_info;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.net.URL;
public class PackageVersionsTreeCellRenderer extends StyledTreeCellRenderer {
public java.awt.Component getTreeCellRendererComponent(
JTree tree, Object value,
boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
URL imageUrl = null;
Object o = ((DefaultMutableTreeNode) value).getUserObject();
if (o instanceof db_project_info) {
/*
db_project_info version = (db_project_info) o;
String type_image_key = "";
if (version.Home.getParent().equals(Current.getSapforTasksPackage().getWorkspace().getAbsolutePath()))
type_image_key = "Root";
else if (version.IsMCopy())
type_image_key = "M";
else
type_image_key = "Version";
imageUrl = getClass().getResource("/icons/versions/" +
type_image_key +
".png");
if (imageUrl != null) {
setIcon(new ImageIcon(imageUrl));
}
setForeground(tree.getForeground());
setFont(getFont().deriveFont((float) 14.0));
setText(version.getTitle());
*/
}else {
setForeground(tree.getForeground());
setFont(getFont().deriveFont((float) 14.0));
}
return this;
}
}

View File

@@ -0,0 +1,68 @@
package ProjectData.Project.UI;
import Common.Current;
import Common.Global;
import Common.UI.Menus.GraphMenu;
import Common.UI.Menus.VersionsMenu;
import Common.UI.Selectable;
import Common.UI.Trees.DataTree;
import Common.UI.Trees.TreeRenderers;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import javax.swing.tree.TreePath;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class VersionsTree extends DataTree {
public VersionsTree() {
super(Current.getRoot().node);
SelectCurrentProject();
this.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_DELETE:
Pass_2021.passes.get(PassCode_2021.DeleteVersion).Do();
break;
case KeyEvent.VK_ENTER:
if (Current.HasVersion())
Pass_2021.passes.get(PassCode_2021.OpenCurrentProject).Do(Current.getVersion());
break;
}
}
});
}
@Override
public TreeRenderers getRenderer() {
return TreeRenderers.RendererVersion;
}
@Override
public Current getCurrent() {
return Current.Version;
}
public void SelectCurrentProject() {
setSelectionPath(new TreePath(Current.getProject().node.getPath()));
}
@Override
protected GraphMenu createMenu() {
return new VersionsMenu(this);
}
@Override
public void LeftMouseAction1() {
if (Global.versions_multiselection) {
// только если есть режим выбора версий.
Object element = Current.get(getCurrent());
if ((element instanceof Selectable)) {
((Selectable) element).SwitchSelection();
updateUI();
}
}
}
@Override
public void LeftMouseAction2() {
Pass_2021.passes.get(PassCode_2021.OpenCurrentProject).Do(Current.getVersion());
}
@Override
protected int getStartLine() {
return 1;
}
}

View File

@@ -0,0 +1,74 @@
package ProjectData.Project.UI;
import Common.Current;
import Common.Global;
import Common.UI.Selectable;
import Common.UI.Themes.VisualiserFonts;
import Common.UI.Trees.StyledTreeCellRenderer;
import ProjectData.Project.db_project_info;
import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import java.net.URL;
//https://docs.oracle.com/javase/7/docs/api/javax/swing/tree/DefaultMutableTreeNode.html
//https://java.hotexamples.com/ru/examples/java.awt/JTree/-/java-jtree-class-examples.html
public class VersionsTreeCellRenderer extends StyledTreeCellRenderer {
public java.awt.Component getTreeCellRendererComponent(
JTree tree, Object value,
boolean selected, boolean expanded,
boolean leaf, int row, boolean hasFocus) {
super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
Object o = ((DefaultMutableTreeNode) value).getUserObject();
db_project_info version = (db_project_info) o;
if (Global.versions_multiselection) {
setIcon(((Selectable) o).GetSelectionIcon());
} else {
URL imageUrl = null;
boolean current = Current.HasProject() && version.Home.equals(Current.getProject().Home);
String type_image_key = "";
if (version.Home.equals(Current.getRoot().Home))
type_image_key = "Root";
else if (version.IsMCopy())
type_image_key = "M";
else
type_image_key = "Version";
if (current)
type_image_key = "current" + type_image_key;
imageUrl = getClass().getResource("/icons/versions/" +
type_image_key +
".png");
if (imageUrl != null) {
setIcon(new ImageIcon(imageUrl));
}
}
setForeground(tree.getForeground());
setFont(Current.getTheme().Fonts.get(
version.isNew ? VisualiserFonts.NewVersion : VisualiserFonts.TreePlain));
setText(version.getTitle());
return this;
}
/*
Fonts.put(VisualiserFonts.Version, new Font(
new HashMap<TextAttribute, Object>() {
{
put(TextAttribute.FAMILY, "Times New Roman");
put(TextAttribute.FOREGROUND, Color.BLACK);
put(TextAttribute.BACKGROUND, Color.WHITE);
put(TextAttribute.SIZE, 14);
}
}
));
Fonts.put(VisualiserFonts.NewVersion, new Font(
new HashMap<TextAttribute, Object>() {
{
put(TextAttribute.FAMILY, "Times New Roman");
put(TextAttribute.FOREGROUND, Color.BLACK);
put(TextAttribute.BACKGROUND, Color.YELLOW);
put(TextAttribute.SIZE, 14);
}
}
));
*/
}

File diff suppressed because it is too large Load Diff