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-14 15:19:13 +03:00
|
|
|
|
import Common.Visual.Controls.StableMenuItem;
|
2024-10-09 20:35:18 +03:00
|
|
|
|
import Common.Visual.Menus.VisualiserMenuItem;
|
|
|
|
|
|
import Common.Visual.Trees.DataTree;
|
2024-10-14 15:19:13 +03:00
|
|
|
|
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.UI;
|
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-14 15:19:13 +03:00
|
|
|
|
add(Global.mainModule.getPass(PassCode.DeleteSubversions).createMenuItem());
|
|
|
|
|
|
add(Global.mainModule.getPass(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"));
|
2024-10-13 22:08:13 +03:00
|
|
|
|
Global.mainModule.getRoot().SelectAllVersions(false);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
UI.getVersionsWindow().getVersionsForm().getTree().updateUI();
|
|
|
|
|
|
});
|
|
|
|
|
|
add(m_multiselection);
|
|
|
|
|
|
addSeparator();
|
2024-10-14 15:19:13 +03:00
|
|
|
|
add(Global.mainModule.getPass(PassCode.DeleteVersion).createMenuItem());
|
2023-09-17 22:13:42 +03:00
|
|
|
|
//-
|
2024-10-14 15:19:13 +03:00
|
|
|
|
m_select_all = new StableMenuItem("Выбрать всё, кроме резервных копий", "/icons/SelectAll.png");
|
2023-09-17 22:13:42 +03:00
|
|
|
|
m_select_all.addActionListener(e -> {
|
2024-10-13 22:08:13 +03:00
|
|
|
|
Global.mainModule.getRoot().SelectAllVersions(true);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
tree.updateUI();
|
|
|
|
|
|
});
|
|
|
|
|
|
add(m_select_all);
|
2024-10-14 15:19:13 +03:00
|
|
|
|
m_unselect_all = new StableMenuItem("Отменить всё", "/icons/UnselectAll.png");
|
2023-09-17 22:13:42 +03:00
|
|
|
|
m_unselect_all.addActionListener(e -> {
|
2024-10-13 22:08:13 +03:00
|
|
|
|
Global.mainModule.getRoot().SelectAllVersions(false);
|
2023-09-17 22:13:42 +03:00
|
|
|
|
tree.updateUI();
|
|
|
|
|
|
});
|
|
|
|
|
|
add(m_unselect_all);
|
2024-10-14 15:19:13 +03:00
|
|
|
|
add(Global.mainModule.getPass(PassCode.DeleteSelectedVersions).createMenuItem());
|
2023-09-17 22:13:42 +03:00
|
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
|
|
|
public void CheckElementsVisibility() {
|
2024-10-13 23:55:03 +03:00
|
|
|
|
Global.mainModule.getPass(PassCode.DeleteSelectedVersions).setControlsVisible(!Global.versions_multiselection);
|
|
|
|
|
|
Global.mainModule.getPass(PassCode.DeleteSelectedVersions).setControlsVisible(Global.versions_multiselection);
|
|
|
|
|
|
Global.mainModule.getPass(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);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|