package Common.Visual.Menus;
import Common.MainModule_;
import Common.Passes.Pass;
import Common.Passes.PassCode_;
import Common.Utils.Utils_;
import Common.Visual.Fonts.VisualiserFonts;

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 (MainModule_.instance.getPass(code) != null) {
                add(MainModule_.instance.getPass(code).createButton());
            }
        }
    }
    public void addPasses(Pass... passes) {
        for (Pass pass : passes)
            add(pass.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(MainModule_.instance.getUI().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));
    }
}
