Files
VisualSapfor/src/TestingSystem/SAPFOR/SapforTasksPackage/UI/SapforTasksPackageTree.java

70 lines
2.6 KiB
Java
Raw Normal View History

package TestingSystem.SAPFOR.SapforTasksPackage.UI;
import Common_old.Current;
import Common_old.UI.Trees.DataTree;
import Common_old.UI.Trees.TreeRenderers;
import Common_old.UI.UI;
import TestingSystem.SAPFOR.Json.SapforVersion_json;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreePath;
import java.util.Vector;
public class SapforTasksPackageTree extends DataTree {
2023-10-30 22:37:03 +03:00
Current current;
SapforTasksPackageTree slave_tree = null;
public void setSlaveTree(SapforTasksPackageTree slave_tree_in) {
slave_tree = slave_tree_in;
}
2023-10-30 22:37:03 +03:00
public SapforTasksPackageTree(DefaultMutableTreeNode root_in, Current current_in) {
super(root_in);
2023-10-30 22:37:03 +03:00
current = current_in;
}
@Override
protected int getStartLine() {
return 1;
}
@Override
2023-11-03 02:00:17 +03:00
public TreeRenderers getRenderer() {
return TreeRenderers.RendererSapforVersion;
}
2023-10-30 22:37:03 +03:00
@Override
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);
if (exampleNode.toString().equals(node.toString())) {
res.add(node);
for (int i = 0; i < node.getChildCount(); ++i)
2023-11-11 21:41:49 +03:00
selectSamePath_r(example, index + 1, (DefaultMutableTreeNode) node.getChildAt(i), res);
}
}
}
public void selectSamePath(TreePath path_in) {
Vector<DefaultMutableTreeNode> pathNodes = new Vector<>();
selectSamePath_r(path_in, 0, root, pathNodes);
2023-11-11 21:41:49 +03:00
if (!pathNodes.isEmpty()) {
TreePath path = new TreePath(pathNodes.toArray());
setSelectionPath(path);
}
}
2023-10-30 22:37:03 +03:00
@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) {
2023-10-31 01:51:08 +03:00
SapforVersion_json version = (SapforVersion_json) o;
Current.set(current, version);
2023-11-01 23:14:49 +03:00
if (current.equals(Current.SapforEtalonVersion))
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersionEtalon();
else
UI.getMainWindow().getTestingWindow().ShowCurrentSapforPackageVersion();
//--
2023-10-30 22:37:03 +03:00
}
}
}