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;
}
}