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

51 lines
1.6 KiB
Java
Raw Normal View History

2024-10-09 22:01:19 +03:00
package _VisualDVM.Visual.Menus.FastAccessMenuBar;
import Common.Utils.CommonUtils;
2024-10-07 17:46:38 +03:00
import Common.Visual.CommonUI;
2024-10-09 22:01:19 +03:00
import _VisualDVM.Visual.Menus.VisualiserMenuBar;
import GlobalData.GlobalDatabase;
2023-09-17 22:13:42 +03:00
import GlobalData.Settings.SettingName;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
2023-09-17 22:13:42 +03:00
import javax.swing.*;
import java.awt.*;
import java.util.LinkedHashMap;
public class FastAccessMenuBar extends VisualiserMenuBar {
LinkedHashMap<PassCode_2021, JButton> passesButtons = new LinkedHashMap<>();
public FastAccessMenuBar() {
Refresh();
}
@Override
public void setSizeLimits() {
//если задавать PreffredSize 0, скролл НЕ РАБОТАЕТ. Магия!
}
public void showPass(Pass_2021 pass) {
JButton button = null;
if (passesButtons.containsKey(pass.code()))
button = passesButtons.get((pass.code()));
else {
button = pass.createButton();
passesButtons.put(pass.code(), button);
}
add(button);
Dimension d = button.getPreferredSize();
button.setPreferredSize(new Dimension(d.width, 30));
revalidate();
repaint();
}
public void Refresh() {
2024-10-07 17:46:38 +03:00
CommonUI.Clear(this);
2023-09-17 22:13:42 +03:00
int i = 1;
for (Pass_2021 pass : Pass_2021.FAPasses) {
if (pass.stats.HasUsages()) {
showPass(pass);
++i;
if (i > (((GlobalDatabase)CommonUtils.db).settings.get(SettingName.FastAccessPassesCount).toInt32())) break;
2023-09-17 22:13:42 +03:00
}
}
}
public void Drop(){
2024-10-07 17:46:38 +03:00
CommonUI.Clear(this);
2023-09-17 22:13:42 +03:00
}
}