Files
VisualSapfor/src/_VisualDVM/ProjectData/Project/UI/VersionsTree.java

69 lines
2.2 KiB
Java
Raw Normal View History

2024-10-09 22:21:57 +03:00
package _VisualDVM.ProjectData.Project.UI;
2024-10-09 23:37:58 +03:00
import Common.Current_;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import _VisualDVM.Global;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Visual.Menus.GraphMenu;
import _VisualDVM.Visual.Menus.VersionsMenu;
2024-10-07 17:46:38 +03:00
import Common.Visual.Selectable;
2024-10-09 20:35:18 +03:00
import Common.Visual.Trees.DataTree;
import Common.Visual.Trees.TreeRenderers;
2024-10-09 23:37:58 +03:00
import Visual_DVM_2021.Passes.PassCode;
2024-10-10 23:57:36 +03:00
import Common.Passes.Pass;
2023-09-17 22:13:42 +03:00
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:
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.DeleteVersion).Do();
2023-09-17 22:13:42 +03:00
break;
case KeyEvent.VK_ENTER:
if (Current.HasVersion())
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.OpenCurrentProject).Do(Current.getVersion());
2023-09-17 22:13:42 +03:00
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) {
// только если есть режим выбора версий.
2024-10-09 23:37:58 +03:00
Object element = Current_.get(getCurrent());
2023-09-17 22:13:42 +03:00
if ((element instanceof Selectable)) {
((Selectable) element).SwitchSelection();
updateUI();
}
}
}
@Override
public void LeftMouseAction2() {
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.OpenCurrentProject).Do(Current.getVersion());
2023-09-17 22:13:42 +03:00
}
@Override
protected int getStartLine() {
return 1;
}
}