Рефакторинг кода панели быстрого доступа.

This commit is contained in:
2024-10-14 01:16:31 +03:00
parent 4e86871571
commit b37d52496e
13 changed files with 111 additions and 250 deletions

View File

@@ -1,6 +1,8 @@
package _VisualDVM.Visual.Menus.FastAccessMenuBar;
import Common.Passes.PassCode_;
import Common.Utils.Utils_;
import Common.Visual.UI_;
import Visual_DVM_2021.PassStats.PassStats;
import _VisualDVM.Global;
import _VisualDVM.Visual.Menus.VisualiserMenuBar;
import _VisualDVM.GlobalData.GlobalDatabase;
@@ -12,7 +14,6 @@ import javax.swing.*;
import java.awt.*;
import java.util.LinkedHashMap;
public class FastAccessMenuBar extends VisualiserMenuBar {
LinkedHashMap<PassCode, JButton> passesButtons = new LinkedHashMap<>();
public FastAccessMenuBar() {
Refresh();
}
@@ -21,13 +22,7 @@ public class FastAccessMenuBar extends VisualiserMenuBar {
//если задавать PreffredSize 0, скролл НЕ РАБОТАЕТ. Магия!
}
public void showPass(Pass pass) {
JButton button = null;
if (passesButtons.containsKey(pass.code()))
button = passesButtons.get((pass.code()));
else {
button = pass.createButton();
passesButtons.put(pass.code(), button);
}
JButton button = pass.createButton();
add(button);
Dimension d = button.getPreferredSize();
button.setPreferredSize(new Dimension(d.width, 30));
@@ -35,14 +30,12 @@ public class FastAccessMenuBar extends VisualiserMenuBar {
repaint();
}
public void Refresh() {
UI_.Clear(this);
Drop();
int i = 1;
for (Pass pass : Pass.FAPasses) {
if (pass.stats.HasUsages()) {
showPass(pass);
++i;
if (i > ((Global.mainModule.getDb()).settings.get(SettingName.FastAccessPassesCount).toInt32())) break;
}
for (Pass pass: Global.mainModule.getFirstAccessPasses()){
showPass(pass);
++i;
if (i > ((Global.mainModule.getDb()).settings.get(SettingName.FastAccessPassesCount).toInt32())) break;
}
}
public void Drop(){