package jetbrains.mps.ide.make.actions; /*Generated by MPS */ import javax.swing.JPanel; import javax.swing.JCheckBox; import java.awt.GridBagLayout; import javax.swing.border.EmptyBorder; import com.intellij.notification.impl.NotificationsConfigurationImpl; import jetbrains.mps.ide.common.LayoutUtil; import com.intellij.ui.awt.RelativePoint; import com.intellij.openapi.ui.popup.JBPopup; import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.util.Computable; /*package*/ class WidgetSettingsPanel extends JPanel { private final JCheckBox myShowPopupBox; public WidgetSettingsPanel() { super(new GridBagLayout()); myShowPopupBox = new JCheckBox("Display balloon on generation", TransientModelBallonDisplayer.isPopupShown()); myShowPopupBox.setBorder(new EmptyBorder(2, 3, 0, 4)); myShowPopupBox.setEnabled(NotificationsConfigurationImpl.getInstanceImpl().SHOW_BALLOONS); add(myShowPopupBox, LayoutUtil.createFieldConstraints(1)); } public void showComponent(RelativePoint point) { final JBPopup popup = JBPopupFactory.getInstance().createComponentPopupBuilder(this, this).setRequestFocus(true).setMovable(true).setCancelCallback(new Computable<Boolean>() { @Override public Boolean compute() { onClose(); return Boolean.TRUE; } }).createPopup(); popup.show(point); } private void onClose() { TransientModelBallonDisplayer.setShowPopup(myShowPopupBox.isSelected()); TransientModelsNotification.updateWidgets(); } }