use of com.intellij.ui.LanguageTextField in project intellij-community by JetBrains.
the class EditMigrationEntryDialog method createNorthPanel.
protected JComponent createNorthPanel() {
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints gbConstraints = new GridBagConstraints();
gbConstraints.insets = JBUI.insets(4);
gbConstraints.weighty = 0;
gbConstraints.gridwidth = GridBagConstraints.RELATIVE;
gbConstraints.fill = GridBagConstraints.BOTH;
gbConstraints.weightx = 0;
myRbPackage = new JRadioButton(RefactoringBundle.message("migration.entry.package"));
panel.add(myRbPackage, gbConstraints);
gbConstraints.gridwidth = GridBagConstraints.RELATIVE;
gbConstraints.fill = GridBagConstraints.BOTH;
gbConstraints.weightx = 0;
myRbClass = new JRadioButton(RefactoringBundle.message("migration.entry.class"));
panel.add(myRbClass, gbConstraints);
gbConstraints.gridwidth = GridBagConstraints.REMAINDER;
gbConstraints.fill = GridBagConstraints.BOTH;
gbConstraints.weightx = 1;
panel.add(new JPanel(), gbConstraints);
ButtonGroup buttonGroup = new ButtonGroup();
buttonGroup.add(myRbPackage);
buttonGroup.add(myRbClass);
gbConstraints.weightx = 0;
gbConstraints.gridwidth = GridBagConstraints.RELATIVE;
gbConstraints.fill = GridBagConstraints.NONE;
JLabel oldNamePrompt = new JLabel(RefactoringBundle.message("migration.entry.old.name"));
panel.add(oldNamePrompt, gbConstraints);
gbConstraints.gridwidth = GridBagConstraints.REMAINDER;
gbConstraints.fill = GridBagConstraints.HORIZONTAL;
gbConstraints.weightx = 1;
final LanguageTextField.DocumentCreator documentCreator = new LanguageTextField.DocumentCreator() {
@Override
public Document createDocument(String value, @Nullable Language language, Project project) {
PsiPackage defaultPackage = JavaPsiFacade.getInstance(project).findPackage("");
final JavaCodeFragment fragment = JavaCodeFragmentFactory.getInstance(project).createReferenceCodeFragment("", defaultPackage, true, true);
return PsiDocumentManager.getInstance(project).getDocument(fragment);
}
};
myOldNameField = new LanguageTextField(JavaLanguage.INSTANCE, myProject, "", documentCreator);
panel.add(myOldNameField, gbConstraints);
gbConstraints.weightx = 0;
gbConstraints.gridwidth = GridBagConstraints.RELATIVE;
gbConstraints.fill = GridBagConstraints.NONE;
JLabel newNamePrompt = new JLabel(RefactoringBundle.message("migration.entry.new.name"));
panel.add(newNamePrompt, gbConstraints);
gbConstraints.gridwidth = GridBagConstraints.REMAINDER;
gbConstraints.fill = GridBagConstraints.HORIZONTAL;
gbConstraints.weightx = 1;
myNewNameField = new LanguageTextField(JavaLanguage.INSTANCE, myProject, "", documentCreator);
panel.setPreferredSize(new Dimension(300, panel.getPreferredSize().height));
panel.add(myNewNameField, gbConstraints);
final DocumentAdapter documentAdapter = new DocumentAdapter() {
@Override
public void documentChanged(DocumentEvent e) {
validateOKButton();
}
};
myOldNameField.getDocument().addDocumentListener(documentAdapter);
myNewNameField.getDocument().addDocumentListener(documentAdapter);
return panel;
}
use of com.intellij.ui.LanguageTextField in project intellij-community by JetBrains.
the class AdvancedXmlPanel method createUIComponents.
private void createUIComponents() {
myValuePattern = new LanguageTextField(RegExpLanguage.INSTANCE, myProject, myOrigInjection.getValuePattern(), new LanguageTextField.SimpleDocumentCreator() {
public void customizePsiFile(PsiFile psiFile) {
psiFile.putCopyableUserData(ValueRegExpAnnotator.KEY, Boolean.TRUE);
}
});
// don't even bother to look up the language when xpath-evaluation isn't possible
final XPathSupportProxy proxy = XPathSupportProxy.getInstance();
myXPathCondition = new LanguageTextField(proxy != null ? InjectedLanguage.findLanguageById("XPath") : null, myProject, myOrigInjection.getXPathCondition(), new LanguageTextField.SimpleDocumentCreator() {
public void customizePsiFile(PsiFile psiFile) {
// like lower-case(), file-type(), file-ext(), file-name(), etc.
if (proxy != null) {
proxy.attachContext(psiFile);
}
}
});
}
use of com.intellij.ui.LanguageTextField in project intellij-community by JetBrains.
the class RegExResponseHandler method getConfigurationComponent.
@NotNull
@Override
public JComponent getConfigurationComponent(@NotNull Project project) {
FormBuilder builder = FormBuilder.createFormBuilder();
final EditorTextField taskPatternText;
taskPatternText = new LanguageTextField(RegExpLanguage.INSTANCE, project, myTaskRegex, false);
taskPatternText.addDocumentListener(new DocumentAdapter() {
@Override
public void documentChanged(DocumentEvent e) {
myTaskRegex = taskPatternText.getText();
}
});
String tooltip = "<html>Task pattern should be a regexp with two matching groups: ({id}.+?) and ({summary}.+?)";
builder.addLabeledComponent("Task Pattern:", new JBScrollPane(taskPatternText)).addTooltip(tooltip);
return builder.getPanel();
}
Aggregations