2024-10-09 22:21:57 +03:00
|
|
|
package _VisualDVM.ProjectData.Project.UI;
|
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-14 15:19:13 +03:00
|
|
|
import _VisualDVM.Current;
|
|
|
|
|
import _VisualDVM.Global;
|
2024-10-14 12:14:01 +03:00
|
|
|
import _VisualDVM.Passes.PassCode;
|
2024-10-14 15:19:13 +03:00
|
|
|
import _VisualDVM.Visual.Menus.GraphMenu;
|
|
|
|
|
import _VisualDVM.Visual.Menus.VersionsMenu;
|
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() {
|
2024-10-13 22:08:13 +03:00
|
|
|
super(Global.mainModule.getRoot().node);
|
2023-09-17 22:13:42 +03:00
|
|
|
SelectCurrentProject();
|
|
|
|
|
this.addKeyListener(new KeyAdapter() {
|
|
|
|
|
@Override
|
|
|
|
|
public void keyPressed(KeyEvent e) {
|
|
|
|
|
switch (e.getKeyCode()) {
|
|
|
|
|
case KeyEvent.VK_DELETE:
|
2024-10-13 23:55:03 +03:00
|
|
|
Global.mainModule.getPass(PassCode.DeleteVersion).Do();
|
2023-09-17 22:13:42 +03:00
|
|
|
break;
|
|
|
|
|
case KeyEvent.VK_ENTER:
|
2024-10-13 22:08:13 +03:00
|
|
|
if (Global.mainModule.HasVersion())
|
2024-10-13 23:55:03 +03:00
|
|
|
Global.mainModule.getPass(PassCode.OpenCurrentProject).Do(Global.mainModule.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() {
|
2024-10-13 22:08:13 +03:00
|
|
|
setSelectionPath(new TreePath(Global.mainModule.getProject().node.getPath()));
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected GraphMenu createMenu() {
|
|
|
|
|
return new VersionsMenu(this);
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void LeftMouseAction1() {
|
|
|
|
|
if (Global.versions_multiselection) {
|
|
|
|
|
// только если есть режим выбора версий.
|
2024-10-13 22:08:13 +03:00
|
|
|
Object element = Global.mainModule.get(getCurrent());
|
2023-09-17 22:13:42 +03:00
|
|
|
if ((element instanceof Selectable)) {
|
|
|
|
|
((Selectable) element).SwitchSelection();
|
|
|
|
|
updateUI();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
public void LeftMouseAction2() {
|
2024-10-13 23:55:03 +03:00
|
|
|
Global.mainModule.getPass(PassCode.OpenCurrentProject).Do(Global.mainModule.getVersion());
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected int getStartLine() {
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|