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

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"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <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$/.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" /> <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> </list>
<option name="SHOW_DIALOG" value="false" /> <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.DefaultMutableTreeNode;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
import java.util.Vector;
public class SapforTasksPackageTree extends DataTree { public class SapforTasksPackageTree extends DataTree {
Current current; 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) { public SapforTasksPackageTree(DefaultMutableTreeNode root_in, Current current_in) {
super(root_in); super(root_in);
current = current_in; current = current_in;
@@ -20,7 +25,6 @@ public class SapforTasksPackageTree extends DataTree {
@Override @Override
public void LeftMouseAction2() { public void LeftMouseAction2() {
} }
@Override @Override
public TreeRenderers getRenderer() { public TreeRenderers getRenderer() {
return TreeRenderers.RendererSapforVersion; return TreeRenderers.RendererSapforVersion;
@@ -29,10 +33,42 @@ public class SapforTasksPackageTree extends DataTree {
public Current getCurrent() { public Current getCurrent() {
return current; 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 @Override
public void SelectionAction(TreePath e) { public void SelectionAction(TreePath e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getLastPathComponent(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getLastPathComponent();
Object o = node.getUserObject(); Object o = node.getUserObject();
//---
if (slave_tree != null) {
slave_tree.selectSamePath(e);
}
//---
if (o instanceof SapforVersion_json) { if (o instanceof SapforVersion_json) {
SapforVersion_json version = (SapforVersion_json) o; SapforVersion_json version = (SapforVersion_json) o;
Current.set(current, version); Current.set(current, version);
@@ -40,6 +76,7 @@ public class SapforTasksPackageTree extends DataTree {
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersionEtalon(); UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersionEtalon();
else else
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersion(); UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersion();
//--
} }
} }
} }

View File

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

View File

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