package _VisualDVM.Visual.Menus;
import Common.Utils.Utils_;
import Common.Visual.Fonts.VisualiserFonts;
import Common.Visual.UI_;
import Visual_DVM_2021.Passes.PassCode;
import _VisualDVM.Global;

import javax.swing.*;
import java.awt.*;
//https://java-online.ru/swing-menu.xhtml
public class VisualiserMenuBar extends JToolBar {
    public VisualiserMenuBar() {
        setFloatable(false);
        setSizeLimits();
    }
    public void addPasses(PassCode... codes) {
        //- кнопки. связать их с проходами. (!)
        for (PassCode code : codes) {
            if (Global.mainModule.getPass(code) != null) {
                add(Global.mainModule.getPass(code).createButton());
            }
        }
    }
    public JMenuBar addMenus(JMenu... menus) {
        JMenuBar bar = new JMenuBar() {
            {
                for (JMenu menu : menus)
                    add(menu);
            }
        };
        add(bar);
        return bar;
    }
    public JLabel addLabel(String text_in) {
        return addLabel(text_in, null);
    }
    public JLabel addLabel(String text_in, String icon_path_in) {
        JLabel res = new JLabel(text_in) {
            {
                setFont(UI_.getTheme().Fonts.get(VisualiserFonts.TreeItalic));
                if (icon_path_in != null) {
                    setIcon(Utils_.getIcon(icon_path_in));
                }
            }
        };
        add(res);
        return res;
    }
    public void setSizeLimits() {
        setPreferredSize(new Dimension(0, 30));
    }
}
