You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by lk...@apache.org on 2022/02/03 17:16:35 UTC

[netbeans] 03/03: Respect HTML formatting. Display "Resolve problems" actions for projects.

This is an automated email from the ASF dual-hosted git repository.

lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git

commit b15b5d6f6521ba7b550d757607188deb62894dbe
Author: Svata Dedic <sv...@oracle.com>
AuthorDate: Wed Feb 2 11:29:06 2022 +0100

    Respect HTML formatting. Display "Resolve problems" actions for projects.
---
 .../gradle/src/org/netbeans/modules/gradle/layer.xml   |  4 ++++
 .../ui/problems/BrokenReferencesCustomizer.form        |  4 +---
 .../ui/problems/BrokenReferencesCustomizer.java        | 18 +++++++++++++-----
 java/maven/src/org/netbeans/modules/maven/layer.xml    |  4 ++++
 4 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/extide/gradle/src/org/netbeans/modules/gradle/layer.xml b/extide/gradle/src/org/netbeans/modules/gradle/layer.xml
index c3d049e..6c866a2 100644
--- a/extide/gradle/src/org/netbeans/modules/gradle/layer.xml
+++ b/extide/gradle/src/org/netbeans/modules/gradle/layer.xml
@@ -81,6 +81,10 @@
                     <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                     <attr name="position" intvalue="1300"/>
                 </file>
+                <file name="org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.shadow">
+                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.instance"/>
+                    <attr name="position" intvalue="1770"/>
+                </file>
                 <file name="org-netbeans-modules-project-ui-SetMainProject.shadow">
                     <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-SetMainProject.instance"/>
                     <attr name="position" intvalue="1800"/>
diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.form b/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.form
index 2d895e1..d46fa54 100644
--- a/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.form
+++ b/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.form
@@ -146,11 +146,9 @@
 
       <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
       <SubComponents>
-        <Component class="javax.swing.JTextArea" name="description">
+        <Component class="javax.swing.JTextPane" name="description">
           <Properties>
             <Property name="editable" type="boolean" value="false"/>
-            <Property name="lineWrap" type="boolean" value="true"/>
-            <Property name="wrapStyleWord" type="boolean" value="true"/>
           </Properties>
         </Component>
       </SubComponents>
diff --git a/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.java b/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.java
index 29f34b3..d742a8b 100644
--- a/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.java
+++ b/ide/projectui/src/org/netbeans/modules/project/ui/problems/BrokenReferencesCustomizer.java
@@ -89,7 +89,7 @@ public class BrokenReferencesCustomizer extends javax.swing.JPanel {
         fix = new javax.swing.JButton();
         descriptionLabel = new javax.swing.JLabel();
         jScrollPane2 = new javax.swing.JScrollPane();
-        description = new javax.swing.JTextArea();
+        description = new javax.swing.JTextPane();
 
         setPreferredSize(new java.awt.Dimension(550, 350));
         setLayout(new java.awt.GridBagLayout());
@@ -146,8 +146,6 @@ public class BrokenReferencesCustomizer extends javax.swing.JPanel {
         descriptionLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(BrokenReferencesCustomizer.class, "ACSD_BrokenLinksCustomizer_Description")); // NOI18N
 
         description.setEditable(false);
-        description.setLineWrap(true);
-        description.setWrapStyleWord(true);
         jScrollPane2.setViewportView(description);
 
         gridBagConstraints = new java.awt.GridBagConstraints();
@@ -249,7 +247,16 @@ public class BrokenReferencesCustomizer extends javax.swing.JPanel {
         if (value instanceof BrokenReferencesModel.ProblemReference) {
             final BrokenReferencesModel.ProblemReference reference = (BrokenReferencesModel.ProblemReference) value;
             if (!reference.resolved) {
-                description.setText(reference.problem.getDescription());                
+                String s = reference.problem.getDescription();
+                // attempt to autodetect HTML tags in the description, switch content type appropriately.
+                if (s.contains("/>") || (s.contains("<") && s.contains(">"))) {
+                    description.setContentType("text/html");
+                } else {
+                    description.setContentType("text/plain");
+                }
+                description.setText(s);       
+                // avoid possible scroll down/left if the text does not fit in the default window
+                description.getCaret().setDot(0);
                 fix.setEnabled(reference.problem.isResolvable());
                 javax.swing.SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
@@ -272,13 +279,14 @@ public class BrokenReferencesCustomizer extends javax.swing.JPanel {
     
     
     // Variables declaration - do not modify//GEN-BEGIN:variables
-    private javax.swing.JTextArea description;
+    private javax.swing.JTextPane description;
     private javax.swing.JLabel descriptionLabel;
     private javax.swing.JList errorList;
     private javax.swing.JLabel errorListLabel;
     private javax.swing.JButton fix;
     private javax.swing.JScrollPane jScrollPane1;
     private javax.swing.JScrollPane jScrollPane2;
+    private javax.swing.JScrollPane jScrollPane3;
     // End of variables declaration//GEN-END:variables
 
     private static final @StaticResource String BROKEN_REF = "org/netbeans/modules/project/ui/resources/broken-reference.gif";
diff --git a/java/maven/src/org/netbeans/modules/maven/layer.xml b/java/maven/src/org/netbeans/modules/maven/layer.xml
index 268d98e..013037a 100644
--- a/java/maven/src/org/netbeans/modules/maven/layer.xml
+++ b/java/maven/src/org/netbeans/modules/maven/layer.xml
@@ -113,6 +113,10 @@
                     <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/>
                     <attr name="position" intvalue="1600"/>
                 </file>
+                <file name="org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.shadow">
+                    <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-problems-BrokenProjectActionFactory.instance"/>
+                    <attr name="position" intvalue="1770"/>
+                </file>
                 <file name="org-netbeans-modules-project-ui-SetMainProject.shadow">
                     <attr name="originalFile" stringvalue="Actions/Project/org-netbeans-modules-project-ui-SetMainProject.instance"/>
                     <attr name="position" intvalue="1800"/>

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists