Перенос.
This commit is contained in:
10
src/ProjectData/Project/ChangeSettingPass.java
Normal file
10
src/ProjectData/Project/ChangeSettingPass.java
Normal 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;
|
||||
}
|
||||
}
|
||||
11
src/ProjectData/Project/ProjectInfoDBTable.java
Normal file
11
src/ProjectData/Project/ProjectInfoDBTable.java
Normal 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 "проект";
|
||||
}
|
||||
}
|
||||
49
src/ProjectData/Project/UI/PackageVersionsTree.java
Normal file
49
src/ProjectData/Project/UI/PackageVersionsTree.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
68
src/ProjectData/Project/UI/VersionsTree.java
Normal file
68
src/ProjectData/Project/UI/VersionsTree.java
Normal 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;
|
||||
}
|
||||
}
|
||||
74
src/ProjectData/Project/UI/VersionsTreeCellRenderer.java
Normal file
74
src/ProjectData/Project/UI/VersionsTreeCellRenderer.java
Normal 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);
|
||||
}
|
||||
}
|
||||
|
||||
));
|
||||
*/
|
||||
}
|
||||
1569
src/ProjectData/Project/db_project_info.java
Normal file
1569
src/ProjectData/Project/db_project_info.java
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user