[valadoc] signaturebuilder: add support for basic type highlighting



commit 27cc227d200240e5138e79d019aed47d0978c0a9
Author: Florian Brosch <flo brosch gmail com>
Date:   Wed Oct 28 02:59:55 2009 +0100

    signaturebuilder: add support for basic type highlighting

 icons/devhelpstyle.css                   |    8 +++++++-
 icons/style.css                          |    8 +++++++-
 icons/wikistyle.css                      |    2 +-
 src/libvaladoc/api/signaturebuilder.vala |    7 ++++++-
 src/libvaladoc/api/typesymbol.vala       |   13 +++++++++++++
 src/libvaladoc/content/run.vala          |    1 +
 src/libvaladoc/html/htmlrenderer.vala    |    6 +++++-
 7 files changed, 40 insertions(+), 5 deletions(-)
---
diff --git a/icons/devhelpstyle.css b/icons/devhelpstyle.css
index 88e0e15..36be221 100644
--- a/icons/devhelpstyle.css
+++ b/icons/devhelpstyle.css
@@ -105,7 +105,7 @@ div.site_body {
 }
 
 
-.main_other_type {
+.main_type {
 	text-decoration: none;
 	font-style: italic;
 	color: #000000;
@@ -482,5 +482,11 @@ a.navi_link:hover, a.external_link:hover {
 }
 
 .main_code_definition a, .leaf_code_definition a {
+	text-decoration: none;
 	color: inherit;
 }
+
+.main_code_definition a:hover, .leaf_code_definition a:hover {
+	text-decoration: underline;
+}
+
diff --git a/icons/style.css b/icons/style.css
index dc498b4..d7d0785 100644
--- a/icons/style.css
+++ b/icons/style.css
@@ -119,7 +119,7 @@ div.site_navigation {
 }
 
 
-.main_other_type {
+.main_type {
 	text-decoration: none;
 	font-style: italic;
 	color: #000000;
@@ -496,5 +496,11 @@ a.navi_link:hover, a.external_link:hover {
 }
 
 .main_code_definition a, .leaf_code_definition a {
+	text-decoration: none;
 	color: inherit;
 }
+
+.main_code_definition a:hover, .leaf_code_definition a:hover {
+	text-decoration: underline;
+}
+
diff --git a/icons/wikistyle.css b/icons/wikistyle.css
index 5990d11..5f7f0eb 100644
--- a/icons/wikistyle.css
+++ b/icons/wikistyle.css
@@ -112,7 +112,7 @@ div.site_navigation {
 }
 
 
-.main_other_type {
+.main_type {
 	text-decoration: none;
 	font-style: italic;
 	color: #000000;
diff --git a/src/libvaladoc/api/signaturebuilder.vala b/src/libvaladoc/api/signaturebuilder.vala
index 68fc17f..7322fde 100644
--- a/src/libvaladoc/api/signaturebuilder.vala
+++ b/src/libvaladoc/api/signaturebuilder.vala
@@ -65,7 +65,12 @@ public class Valadoc.Api.SignatureBuilder {
 	}
 
 	public SignatureBuilder append_type (Node node, bool spaced = true) {
-		Run inner = new Run (Run.Style.LANG_TYPE);
+		Run.Style style = Run.Style.LANG_TYPE;
+		if (node is TypeSymbol && ((TypeSymbol)node).is_basic_type) {
+			style = Run.Style.LANG_BASIC_TYPE;
+		}
+
+		Run inner = new Run (style);
 		inner.content.add (new SymbolLink (node, node.name));
 		return append_content (inner, spaced);
 	}
diff --git a/src/libvaladoc/api/typesymbol.vala b/src/libvaladoc/api/typesymbol.vala
index 716125d..12028f7 100644
--- a/src/libvaladoc/api/typesymbol.vala
+++ b/src/libvaladoc/api/typesymbol.vala
@@ -28,6 +28,19 @@ public abstract class Valadoc.Api.TypeSymbol : Symbol {
 		base (symbol, parent);
 	}
 
+	public bool is_basic_type {
+		get {
+			if (this.symbol is Vala.Struct) {
+				unowned Vala.Struct mystruct = (Vala.Struct) this.symbol;
+				return mystruct.base_type == null && (mystruct.is_boolean_type () || mystruct.is_floating_type () || mystruct.is_integer_type ());
+			} else if (this.symbol is Vala.Class) {
+				unowned Vala.Class myclass = (Vala.Class) this.symbol;
+				return myclass.base_class == null && myclass.name == "string";
+			}
+			return false;
+		}
+	}
+
 	protected override void process_comments (Settings settings, DocumentationParser parser) {
 		var source_comment = ((Vala.TypeSymbol) symbol).comment;
 		if (source_comment != null) {
diff --git a/src/libvaladoc/content/run.vala b/src/libvaladoc/content/run.vala
index cc06622..cc6072c 100755
--- a/src/libvaladoc/content/run.vala
+++ b/src/libvaladoc/content/run.vala
@@ -33,6 +33,7 @@ public class Valadoc.Content.Run : InlineContent, Inline {
 		STROKE,
 		LANG_KEYWORD,
 		LANG_LITERAL,
+		LANG_BASIC_TYPE,
 		LANG_TYPE
 	}
 
diff --git a/src/libvaladoc/html/htmlrenderer.vala b/src/libvaladoc/html/htmlrenderer.vala
index 435cd56..e02076b 100755
--- a/src/libvaladoc/html/htmlrenderer.vala
+++ b/src/libvaladoc/html/htmlrenderer.vala
@@ -267,10 +267,14 @@ public class Valadoc.Html.HtmlRenderer : ContentRenderer {
 			tag = "span";
 			css_type = "main_optional_parameter";
 			break;
-		case Run.Style.LANG_TYPE:
+		case Run.Style.LANG_BASIC_TYPE:
 			tag = "span";
 			css_type = "main_basic_type";
 			break;
+		case Run.Style.LANG_TYPE:
+			tag = "span";
+			css_type = "main_type";
+			break;
 		}
 		if (tag != null) {
 			writer.start_tag (tag, {"class", css_type});



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]