package _VisualDVM.ProjectData.Project.UI; import Common.Current_; import _VisualDVM.Current; import _VisualDVM.Global; import _VisualDVM.Visual.Menus.GraphMenu; import _VisualDVM.Visual.Menus.VersionsMenu; import Common.Visual.Selectable; import Common.Visual.Trees.DataTree; import Common.Visual.Trees.TreeRenderers; import Visual_DVM_2021.Passes.PassCode; import Visual_DVM_2021.Passes.Pass; 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.passes.get(PassCode.DeleteVersion).Do(); break; case KeyEvent.VK_ENTER: if (Current.HasVersion()) Pass.passes.get(PassCode.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.passes.get(PassCode.OpenCurrentProject).Do(Current.getVersion()); } @Override protected int getStartLine() { return 1; } }