package com.horstmann.violet.workspace.sidebar.optionaltools; import java.awt.FlowLayout; import java.awt.GridLayout; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.plaf.PanelUI; import com.horstmann.violet.framework.swingextension.IconButtonUI; import com.horstmann.violet.framework.theme.ThemeManager; /** * Large UI for OptionalToolsPanel * * @author Alexandre de Pellegrin * */ public class OptionalToolsPanelUI extends PanelUI { /** * Default constructor * * @param optionalToolsPanel */ public OptionalToolsPanelUI(OptionalToolsPanel optionalToolsPanel) { this.optionalToolsPanel = optionalToolsPanel; } @Override public void installUI(JComponent c) { c.removeAll(); this.optionalToolsPanel.setBackground(ThemeManager.getInstance().getTheme().getSidebarElementBackgroundColor()); JButton bHelp = this.optionalToolsPanel.getHelpButton(); // addButton(bHelp); JButton bPrint = this.optionalToolsPanel.getPrintButton(); addButton(bPrint); JButton bExportToClipboard = this.optionalToolsPanel.getExportToClipboardButton(); addButton(bExportToClipboard); this.optionalToolsPanel.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0)); this.optionalToolsPanel.add(getPanel()); } /** * Adds a button to the main panel * * @param aButton */ private void addButton(JButton aButton) { aButton.setUI(new IconButtonUI()); getPanel().add(aButton); } /** * @return the main panel */ private JPanel getPanel() { if (this.panel == null) { this.panel = new JPanel(); this.panel.setOpaque(false); this.panel.setBorder(new EmptyBorder(0, 5, 0, 0)); GridLayout layout = new GridLayout(0, 5, 15, 10); this.panel.setLayout(layout); } return this.panel; } /** * Component(s panel */ private JPanel panel; /** * Panel we want to construct view */ private OptionalToolsPanel optionalToolsPanel; }