package jetbrains.mps.ide.ui.dialogs.properties.renderers;
/*Generated by MPS */
import javax.swing.table.DefaultTableCellRenderer;
import java.awt.Component;
import javax.swing.JTable;
import jetbrains.mps.project.structure.modules.mappingpriorities.RuleType;
import javax.swing.JComponent;
import com.intellij.openapi.application.ApplicationManager;
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import javax.swing.border.EmptyBorder;
public class RuleTypeRenderer extends DefaultTableCellRenderer {
public RuleTypeRenderer() {
}
@Override
public Component getTableCellRendererComponent(final JTable table, Object value, boolean isSelected, boolean hasFocus, final int row, final int column) {
String caption = (value instanceof RuleType ? ((RuleType) value).getPresentation() : "null");
JComponent comp = (JComponent) super.getTableCellRendererComponent(table, caption, isSelected, hasFocus, row, column);
if (hasFocus && table.isRowSelected(row)) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
@Override
public void run() {
table.editCellAt(row, column);
}
});
}
return RuleTypeRenderer.createCenterAlignmentInCell(comp);
}
public static JComponent createCenterAlignmentInCell(JComponent comp) {
JPanel compPanel = new JPanel(new GridBagLayout());
GridBagConstraints constraints = new GridBagConstraints(1, 1, 1, 1, 1, 1, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0);
compPanel.add(comp, constraints);
compPanel.setBackground(comp.getBackground());
compPanel.setBorder(new EmptyBorder(2, 2, 2, 2));
return compPanel;
}
}