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

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


The following commit(s) were added to refs/heads/master by this push:
     new 22026a904b analyze stack trace window improvements.
     new 18308a5ef3 Merge pull request #4355 from 
mbien/stack_trace_window_improvements
22026a904b is described below

commit 22026a904b44b0c1b2bcfb2d2be174985f801e5d
Author: Michael Bien <[email protected]>
AuthorDate: Sat Jul 9 11:44:54 2022 +0200

    analyze stack trace window improvements.
    
     - added indentation for more familiar stack trace formatting
     - fixed text color when selected
     - fixed TopComponent background color to be consistent with other
       windows
---
 .../java/stackanalyzer/AnalyserCellRenderer.java   | 25 +++++++++++-----------
 .../stackanalyzer/AnalyzeStackTopComponent.java    |  6 +++---
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git 
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
 
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
index 08ab2e6401..8829b7d0eb 100644
--- 
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
+++ 
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyserCellRenderer.java
@@ -82,7 +82,7 @@ class AnalyserCellRenderer extends DefaultListCellRenderer {
         Link link = StackLineAnalyser.analyse (line);
 
         if (isSelected) {
-            setBackground (bg == null ? list.getSelectionBackground () : bg);
+            setBackground(bg == null ? list.getSelectionBackground() : bg);
             setForeground(fg == null ? list.getSelectionForeground() : fg);
         } else {
             setBackground (list.getBackground ());
@@ -95,17 +95,23 @@ class AnalyserCellRenderer extends DefaultListCellRenderer {
         if (link != null) {
             StringBuilder sb = new StringBuilder ();
             sb.append ("<html>");
-            if (isSelected)
-                sb.append("<style> a.val {text-decoration: underline; color: " 
+ toRgbText(getForeground().getRGB()) + "} </style><body>");
-            sb.append (line.substring (0, link.getStartOffset ()));
+            if (isSelected) {
+                sb.append("<style> a.val {text-decoration: underline; color: 
"+toRgbText(getForeground())+"} </style><body>");
+            }
+            String prefix = line.substring (0, link.getStartOffset ());
+            if (prefix.startsWith("at ")) {
+                prefix = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + 
prefix;
+            }
+            sb.append (prefix);
             sb.append ("<a class=\"val\" href=\"\">");
             sb.append (line.substring (link.getStartOffset (), 
link.getEndOffset ()));
             sb.append ("</a>");
             sb.append (line.substring (link.getEndOffset ()));
             sb.append ("</body></html>");
             setText (sb.toString ());
-        } else
+        } else {
             setText (line.trim ());
+        }
 
         setEnabled (list.isEnabled ());
 
@@ -136,13 +142,8 @@ class AnalyserCellRenderer extends DefaultListCellRenderer 
{
 //        return cp.findResource (resource) != null;
 //    }
 
-    private static String toRgbText(int rgb) {
-        if (rgb > 0xFFFFFF)
-            rgb = 0xFFFFFF;
-        if (rgb < 0)
-            rgb = 0;
-        String str = "000000" + Integer.toHexString(rgb); //NOI18N
-        return "#" + str.substring(str.length() - 6); //NOI18N
+    private String toRgbText(Color c) {
+        return String.format("#%02x%02x%02x", c.getRed(), c.getGreen(), 
c.getBlue());
     }
 }
 
diff --git 
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
 
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
index 52010e435f..a6a098191b 100644
--- 
a/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
+++ 
b/java/java.navigation/src/org/netbeans/modules/java/stackanalyzer/AnalyzeStackTopComponent.java
@@ -37,6 +37,7 @@ import java.io.Serializable;
 import java.util.logging.Logger;
 import javax.swing.AbstractAction;
 import javax.swing.DefaultListModel;
+import javax.swing.UIManager;
 import javax.swing.text.DefaultEditorKit;
 
 import org.netbeans.modules.java.stackanalyzer.StackLineAnalyser.Link;
@@ -65,6 +66,7 @@ final class AnalyzeStackTopComponent extends TopComponent {
         getActionMap ().put (DefaultEditorKit.pasteAction, new PasteAction ());
         insertButton.getActionMap ().put (DefaultEditorKit.pasteAction, new 
PasteAction ());
         scrollPane.getActionMap ().put (DefaultEditorKit.pasteAction, new 
PasteAction ());
+        list.setBackground(UIManager.getColor("Tree.background"));
         list.getActionMap ().put (DefaultEditorKit.pasteAction, new 
PasteAction ());
         list.setCellRenderer (new AnalyserCellRenderer ());
         list.addKeyListener (new KeyAdapter () {
@@ -232,9 +234,7 @@ final class AnalyzeStackTopComponent extends TopComponent {
             Reader reader = DataFlavor.stringFlavor.getReaderForText 
(transferable);
             BufferedReader r = new BufferedReader (reader);
             fill(r);
-        } catch (UnsupportedFlavorException ex) {
-            Exceptions.printStackTrace (ex);
-        } catch (IOException ex) {
+        } catch (UnsupportedFlavorException | IOException ex) {
             Exceptions.printStackTrace (ex);
         }
     }//GEN-LAST:event_insertButtonActionPerformed


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

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

Reply via email to