package org.geogebra.desktop.gui.view.algebra; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.AbstractAction; import javax.swing.BorderFactory; import javax.swing.JCheckBoxMenuItem; import javax.swing.JLabel; import javax.swing.JPopupMenu; import org.geogebra.common.main.Localization; import org.geogebra.desktop.main.AppD; import org.geogebra.desktop.util.GuiResourcesD; /** * Context menu for the algebra view * * This menu is displayed if the user right-clicked on an empty region of the * algebra view. * * @author Florian Sonner */ public class AlgebraContextMenuD extends JPopupMenu { private static final long serialVersionUID = 1L; /** application */ AppD app; /** * @param app * application */ public AlgebraContextMenuD(AppD app) { this.app = app; initItems(); } /** * Initialize the menu items. */ private void initItems() { // actions Localization loc = app.getLocalization(); AbstractAction showAuxiliaryAction = new AbstractAction( loc.getMenu("AuxiliaryObjects"), app.getScaledIcon(GuiResourcesD.AUXILIARY)) { private static final long serialVersionUID = 1L; @Override public void actionPerformed(ActionEvent e) { app.setShowAuxiliaryObjects(!app.showAuxiliaryObjects()); } }; // title for menu JLabel title = new JLabel(loc.getMenu("AlgebraWindow")); title.setFont(app.getBoldFont()); title.setBackground(Color.white); title.setForeground(Color.black); title.setIcon(app.getEmptyIcon()); title.setBorder(BorderFactory.createEmptyBorder(5, 15, 2, 5)); add(title); addSeparator(); title.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { setVisible(false); } }); // menu items JCheckBoxMenuItem cbShowAuxiliary = new JCheckBoxMenuItem( showAuxiliaryAction); cbShowAuxiliary.setSelected(app.showAuxiliaryObjects()); add(cbShowAuxiliary); } }