синхронизация узлов деревьев пакетов при сравнении.

This commit is contained in:
2023-11-11 20:07:14 +03:00
parent 80616ffbd1
commit 73ab609133
4 changed files with 48 additions and 5 deletions

2
.idea/workspace.xml generated
View File

@@ -8,6 +8,8 @@
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/SapforTasksPackageTree.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/VersionSummary.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/UI/VersionSummary.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/UI/Main/SapforPackagesComparisonForm.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />

View File

@@ -7,8 +7,13 @@ import SapforTestingSystem.Json.SapforVersion_json;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.util.Vector;
public class SapforTasksPackageTree extends DataTree {
Current current;
SapforTasksPackageTree slave_tree = null;
public void setSlaveTree(SapforTasksPackageTree slave_tree_in) {
slave_tree = slave_tree_in;
}
public SapforTasksPackageTree(DefaultMutableTreeNode root_in, Current current_in) {
super(root_in);
current = current_in;
@@ -20,7 +25,6 @@ public class SapforTasksPackageTree extends DataTree {
@Override
public void LeftMouseAction2() {
}
@Override
public TreeRenderers getRenderer() {
return TreeRenderers.RendererSapforVersion;
@@ -29,10 +33,42 @@ public class SapforTasksPackageTree extends DataTree {
public Current getCurrent() {
return current;
}
public void selectSamePath_r(TreePath example, int index, DefaultMutableTreeNode node, Vector<DefaultMutableTreeNode> res) {
if (index < example.getPathCount()) {
DefaultMutableTreeNode exampleNode = (DefaultMutableTreeNode) example.getPathComponent(index);
// System.out.println("index = "+index);
// System.out.println("example node="+exampleNode.toString());
// System.out.println("node-"+node.toString());
// System.out.println("");
if (exampleNode.toString().equals(node.toString())) {
res.add(node);
// System.out.println("+");
for (int i = 0; i < node.getChildCount(); ++i)
selectSamePath_r(example, index+1, (DefaultMutableTreeNode) node.getChildAt(i), res);
}
}
}
public void selectSamePath(TreePath path_in) {
// int i = path_in.getPath().length;
// path_in.getPathComponent(i).toString();
// System.out.println("e = " + path_in);
Vector<DefaultMutableTreeNode> pathNodes = new Vector<>();
selectSamePath_r(path_in, 0, root, pathNodes);
// System.out.println("+");
TreePath path = new TreePath(pathNodes.toArray());
// System.out.println(path);
setSelectionPath(path);
// System.out.println("++");
}
@Override
public void SelectionAction(TreePath e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getLastPathComponent();
Object o = node.getUserObject();
//---
if (slave_tree != null) {
slave_tree.selectSamePath(e);
}
//---
if (o instanceof SapforVersion_json) {
SapforVersion_json version = (SapforVersion_json) o;
Current.set(current, version);
@@ -40,6 +76,7 @@ public class SapforTasksPackageTree extends DataTree {
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersionEtalon();
else
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersion();
//--
}
}
}

View File

@@ -1,6 +1,7 @@
package SapforTestingSystem.SapforTasksPackage.UI;
import SapforTestingSystem.Json.SapforVersion_json;
public class VersionSummary extends SapforPackageTreeNode{
public String version_name = "";
public String version_description = "";
public VersionSummary(SapforVersion_json version_json) {

View File

@@ -82,13 +82,15 @@ public class SapforPackagesComparisonForm {
treePanel.repaint();
treePanel.revalidate();
}
public void showComparisonTree() {
public SapforTasksPackageTree showComparisonTree() {
SapforTasksPackageTree res = null;
treePanel.add(treeScroll = new JScrollPane(
new SapforTasksPackageTree(object.results.comparison_root,
res =new SapforTasksPackageTree(object.results.comparison_root,
isMaster() ? Current.SapforEtalonVersion : Current.SapforVersion
)));
treePanel.repaint();
treePanel.revalidate();
return res;
}
//---
public void showNoTree() {
@@ -201,6 +203,8 @@ public class SapforPackagesComparisonForm {
showNoTree();
slave.showNoTree();
//--->>>
UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersionEtalon();
UI.getMainWindow().getTestingWindow().ShowNoSapforPackageVersion();
}
@Override
protected void body() throws Exception {
@@ -235,8 +239,7 @@ public class SapforPackagesComparisonForm {
}
@Override
protected void showDone() throws Exception {
showComparisonTree();
slave.showComparisonTree();
showComparisonTree().setSlaveTree(slave.showComparisonTree());
slave.treeScroll.getVerticalScrollBar().setModel(treeScroll.getVerticalScrollBar().getModel());
}
};