]> granicus.if.org Git - clang/commitdiff
Adjust HTML message bubbles to utilize information from PathDiagnosticPiece::Kind.
authorTed Kremenek <kremenek@apple.com>
Mon, 2 Mar 2009 23:05:40 +0000 (23:05 +0000)
committerTed Kremenek <kremenek@apple.com>
Mon, 2 Mar 2009 23:05:40 +0000 (23:05 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65891 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Frontend/HTMLDiagnostics.cpp
lib/Rewrite/HTMLRewrite.cpp

index 9996fbbcd7ae392cf6ae2602ec5928d8468644b2..60e99be01f41c9d9e9cb321532b82c9a9fa1bbdb 100644 (file)
@@ -388,7 +388,7 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, FileID BugFileID,
     
     // Next, determine the approximate size of the message bubble in em.
     unsigned em;
-    const unsigned max_line = 120;
+    const unsigned max_line = 110;
     
     if (max_token >= max_line)
       em = max_token / 2;
@@ -407,9 +407,16 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, FileID BugFileID,
       em = characters / 2;
     }
     
-    // Now generate the message bubble.    
-    std::string s;
-    llvm::raw_string_ostream os(s);
+    // Now generate the message bubble. 
+    const char *Kind = 0;
+    switch (P.getKind()) {
+      default: break;
+      case PathDiagnosticPiece::Event:  Kind = "Event"; break;
+      case PathDiagnosticPiece::ControlFlow: Kind = "Control"; break;
+    }
+    
+    std::string sbuf;
+    llvm::raw_string_ostream os(sbuf);
     
     os << "\n<tr><td class=\"num\"></td><td class=\"line\"><div id=\"";
     
@@ -419,19 +426,26 @@ void HTMLDiagnostics::HandlePiece(Rewriter& R, FileID BugFileID,
       os << "Path" << num;
     
     os << "\" class=\"msg";
-    switch (P.getKind()) {
-      default: break;
-      case PathDiagnosticPiece::Event: os << " msgEvent"; break;
-      case PathDiagnosticPiece::ControlFlow: os << " msgControl"; break;
-    }    
+    if (Kind) os << " msg" << Kind;
     os << "\" style=\"margin-left:" << PosNo << "ex";
     if (em < max_line/2) os << "; max-width:" << em << "em";
     os << "\">";
     
-    if (max > 1)
-      os << "<span class=\"PathIndex\">[" << num << "]</span> ";
+    if (max > 1) {
+      os << "<table class=\"msgT\"><tr><td valign=\"top\">";
+      os << "<div class=\"PathIndex";
+      if (Kind) os << " PathIndex" << Kind;
+      os << "\">" << num << "</div>";
+      os << "</td><td>";
+    }
+    
+    os << html::EscapeText(Msg);
+    
+    if (max > 1) {
+      os << "</td></tr></table>";
+    }
     
-    os << html::EscapeText(Msg) << "</div></td></tr>";
+    os << "</div></td></tr>";
 
     // Insert the new html.
     unsigned DisplayPos = LineEnd - FileStart;    
index b1f5cee36615b7c8f4ae8b9b9e1f054fc458d831..96e455d1dec7b78d02bcbc79124e2a595ac0b354 100644 (file)
@@ -314,12 +314,17 @@ void html::AddHeaderFooterInternalBuiltinCSS(Rewriter& R, FileID FID,
       " .msg { padding:0.5em 1ex 0.5em 1ex }\n"
       " .msg { margin-top:10px; margin-bottom:10px }\n"
       " .msg { font-weight:bold }\n"
-      " .msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap;}\n"
+      " .msg { max-width:60em; word-wrap: break-word; white-space: pre-wrap }\n"
+      " .msgT { padding:0x; spacing:0x }\n"
       " .msgEvent { background-color:#fff8b4; color:#000000 }\n"
-      " .msgControl { background-color:#bbbbbb; color:#444444 }\n"
+      " .msgControl { background-color:#bbbbbb; color:#000000 }\n"
       " .mrange { background-color:#dfddf3 }\n"
       " .mrange { border-bottom:1px solid #6F9DBE }\n"
-      " .PathIndex { font-weight: bold }\n"
+      " .PathIndex { font-weight: bold; padding:5px;margin-right:5px;top:5px}\n"
+      " .PathIndex { -webkit-box-shadow:1px 1px 7px #000 }\n"
+      " .PathIndex { -webkit-border-radius:5px }\n"
+      " .PathIndexEvent { background-color:#fffbd9 }\n"
+      " .PathIndexControl { background-color:#dddddd }\n"
       " .CodeInsertionHint { font-weight: bold; background-color: #10dd10 }\n"
       " .CodeRemovalHint { background-color:#de1010 }\n"
       " .CodeRemovalHint { border-bottom:1px solid #6F9DBE }\n"