}
@NotNull
@Override
protected JComponent createEditor() {
FormBuilder builder = new FormBuilder();
myRevealNotFoundOrIncompatible = new HyperlinkLabel();
myRevealNotFoundOrIncompatible.setIcon(AllIcons.RunConfigurations.ConfigurationWarning);
myRevealNotFoundOrIncompatible.setHyperlinkTarget("http://revealapp.com");
myNotAvailable = new JBLabel("<html>" +
"Reveal integration is only available for iOS applications.<br>" +
"OS X targets are not yet supported.<br>" +
"</html>");
myInjectCheckBox = new JBCheckBox("Inject Reveal library on launch");
myInstallCheckBox = new JBCheckBox("Upload Reveal library on the device if necessary");
myInjectHint = new JBLabel(UIUtil.ComponentStyle.SMALL);
myInstallHint = new JBLabel(UIUtil.ComponentStyle.SMALL);
myInjectCheckBox.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
updateControls();
}
});
builder.addComponent(myNotAvailable);
builder.addComponent(myInjectCheckBox, UIUtil.DEFAULT_VGAP * 3);
builder.setIndent(UIUtil.DEFAULT_HGAP * 4);
builder.addComponent(myInjectHint);
builder.setIndent(UIUtil.DEFAULT_HGAP);
builder.addComponent(myInstallCheckBox);
builder.setIndent(UIUtil.DEFAULT_HGAP * 5);
builder.addComponent(myInstallHint);
JPanel controls = builder.getPanel();
JPanel panel = new JPanel(new BorderLayout());
panel.add(controls, BorderLayout.NORTH);
panel.add(Box.createGlue(), BorderLayout.CENTER);
panel.add(myRevealNotFoundOrIncompatible, BorderLayout.SOUTH);