Search in sources :

Example 6 with LanguageTextField

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;
}
Also used : DocumentAdapter(com.intellij.openapi.editor.event.DocumentAdapter) DocumentEvent(com.intellij.openapi.editor.event.DocumentEvent) LanguageTextField(com.intellij.ui.LanguageTextField) Project(com.intellij.openapi.project.Project) Language(com.intellij.lang.Language) JavaLanguage(com.intellij.lang.java.JavaLanguage) Nullable(org.jetbrains.annotations.Nullable)

Example 7 with LanguageTextField

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);
            }
        }
    });
}
Also used : XPathSupportProxy(org.intellij.plugins.intelliLang.inject.config.XPathSupportProxy) PsiFile(com.intellij.psi.PsiFile) LanguageTextField(com.intellij.ui.LanguageTextField)

Example 8 with LanguageTextField

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();
}
Also used : FormBuilder(com.intellij.util.ui.FormBuilder) EditorTextField(com.intellij.ui.EditorTextField) DocumentAdapter(com.intellij.openapi.editor.event.DocumentAdapter) DocumentEvent(com.intellij.openapi.editor.event.DocumentEvent) JBScrollPane(com.intellij.ui.components.JBScrollPane) LanguageTextField(com.intellij.ui.LanguageTextField) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

LanguageTextField (com.intellij.ui.LanguageTextField)8 Nullable (org.jetbrains.annotations.Nullable)3 DocumentAdapter (com.intellij.openapi.editor.event.DocumentAdapter)2 DocumentEvent (com.intellij.openapi.editor.event.DocumentEvent)2 ComboBox (com.intellij.openapi.ui.ComboBox)2 PsiFile (com.intellij.psi.PsiFile)2 EditorTextField (com.intellij.ui.EditorTextField)2 JBLabel (com.intellij.ui.components.JBLabel)2 Language (com.intellij.lang.Language)1 JavaLanguage (com.intellij.lang.java.JavaLanguage)1 EditorEx (com.intellij.openapi.editor.ex.EditorEx)1 Project (com.intellij.openapi.project.Project)1 JBScrollPane (com.intellij.ui.components.JBScrollPane)1 FormBuilder (com.intellij.util.ui.FormBuilder)1 XPathSupportProxy (org.intellij.plugins.intelliLang.inject.config.XPathSupportProxy)1 NotNull (org.jetbrains.annotations.NotNull)1