Files
VisualSapfor/src/_VisualDVM/Visual/Menus/VersionsMenu.java

54 lines
2.6 KiB
Java
Raw Normal View History

2024-10-09 22:01:19 +03:00
package _VisualDVM.Visual.Menus;
2024-10-11 00:00:30 +03:00
import Common.Utils.Utils_;
2024-10-09 20:35:18 +03:00
import Common.Visual.Menus.VisualiserMenuItem;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Current;
import _VisualDVM.Global;
2024-10-09 20:35:18 +03:00
import Common.Visual.Trees.DataTree;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Visual.UI;
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
public class VersionsMenu extends GraphMenu<DataTree> {
VisualiserMenuItem m_select_all;
VisualiserMenuItem m_unselect_all;
VisualiserMenuItem m_multiselection;
public VersionsMenu(DataTree tree) {
super(tree, "подверсии");
2024-10-09 23:37:58 +03:00
add(Pass.passes.get(PassCode.DeleteSubversions).createMenuItem());
add(Pass.passes.get(PassCode.DeleteLonelyM).createMenuItem());
2023-09-17 22:13:42 +03:00
addSeparator();
m_multiselection = new VisualiserMenuItem("Массовый режим работы с версиями");
2024-10-11 00:00:30 +03:00
m_multiselection.setIcon(Utils_.getIcon(Global.versions_multiselection ? "/icons/Pick.png" : "/icons/NotPick.png"));
2023-09-17 22:13:42 +03:00
m_multiselection.addActionListener(e -> {
Global.versions_multiselection = !Global.versions_multiselection;
2024-10-11 00:00:30 +03:00
m_multiselection.setIcon(Utils_.getIcon(Global.versions_multiselection ? "/icons/Pick.png" : "/icons/NotPick.png"));
Global.mainModule.getRoot().SelectAllVersions(false);
2023-09-17 22:13:42 +03:00
UI.getVersionsWindow().getVersionsForm().getTree().updateUI();
});
add(m_multiselection);
addSeparator();
2024-10-09 23:37:58 +03:00
add(Pass.passes.get(PassCode.DeleteVersion).createMenuItem());
2023-09-17 22:13:42 +03:00
//-
m_select_all = new StableMenuItem("Выбрать всё, кроме резервных копий","/icons/SelectAll.png");
m_select_all.addActionListener(e -> {
Global.mainModule.getRoot().SelectAllVersions(true);
2023-09-17 22:13:42 +03:00
tree.updateUI();
});
add(m_select_all);
m_unselect_all = new StableMenuItem("Отменить всё","/icons/UnselectAll.png");
m_unselect_all.addActionListener(e -> {
Global.mainModule.getRoot().SelectAllVersions(false);
2023-09-17 22:13:42 +03:00
tree.updateUI();
});
add(m_unselect_all);
2024-10-09 23:37:58 +03:00
add(Pass.passes.get(PassCode.DeleteSelectedVersions).createMenuItem());
2023-09-17 22:13:42 +03:00
}
@Override
public void CheckElementsVisibility() {
2024-10-09 23:37:58 +03:00
Pass.passes.get(PassCode.DeleteSelectedVersions).setControlsVisible(!Global.versions_multiselection);
Pass.passes.get(PassCode.DeleteSelectedVersions).setControlsVisible(Global.versions_multiselection);
Pass.passes.get(PassCode.DeleteVersion).setControlsVisible(!Global.versions_multiselection);
2023-09-17 22:13:42 +03:00
m_select_all.setVisible(Global.versions_multiselection);
m_unselect_all.setVisible(Global.versions_multiselection);
}
}