package jetbrains.mps.debugger.api.ui.breakpoints; /*Generated by MPS */ import javax.swing.JPanel; import javax.swing.JCheckBox; import javax.swing.JLabel; import java.awt.GridBagLayout; import java.awt.Insets; import javax.swing.SwingConstants; import java.awt.GridBagConstraints; import jetbrains.mps.debug.api.breakpoints.IBreakpoint; import java.awt.Color; import javax.swing.UIManager; /*package*/ class JPanelWithCheckbox extends JPanel { private final JCheckBox myCheckBox; protected final JLabel myLabel; public JPanelWithCheckbox() { this.setLayout(new GridBagLayout()); myCheckBox = new JCheckBox(); myCheckBox.setMargin(new Insets(0, 0, 0, 0)); myLabel = new JLabel(); myLabel.setHorizontalAlignment(SwingConstants.LEFT); GridBagConstraints constraints = new GridBagConstraints(); constraints.gridy = 0; constraints.gridx = 0; constraints.weighty = 1; constraints.weightx = 0; add(myCheckBox, constraints); constraints.gridx = 1; constraints.weightx = 1; constraints.anchor = GridBagConstraints.WEST; add(myLabel, constraints); } public void update(IBreakpoint breakpoint, boolean isSelected) { Color bg; if (isSelected) { bg = UIManager.getColor("Table.selectionBackground"); } else { bg = UIManager.getColor("Table.background"); } this.setBackground(bg); myCheckBox.setSelected(breakpoint.isEnabled()); myCheckBox.setBackground(bg); myLabel.setText(breakpoint.getPresentation()); myLabel.setIcon(BreakpointIconRenderer.getIconFor(breakpoint)); } public JCheckBox getCheckBox() { return myCheckBox; } }