summaryrefslogtreecommitdiff
path: root/libvaladoc/content/headline.vala
diff options
context:
space:
mode:
Diffstat (limited to 'libvaladoc/content/headline.vala')
-rw-r--r--libvaladoc/content/headline.vala66
1 files changed, 66 insertions, 0 deletions
diff --git a/libvaladoc/content/headline.vala b/libvaladoc/content/headline.vala
new file mode 100644
index 000000000..56a4a443e
--- /dev/null
+++ b/libvaladoc/content/headline.vala
@@ -0,0 +1,66 @@
+/* headline.vala
+ *
+ * Copyright (C) 2008-2009 Didier Villevalois
+ * Copyright (C) 2008-2012 Florian Brosch
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Author:
+ * Didier 'Ptitjes Villevalois <ptitjes@free.fr>
+ */
+
+using Gee;
+
+
+public class Valadoc.Content.Headline : InlineContent, Block {
+ public int level { get; set; }
+
+ internal Headline () {
+ base ();
+ _level = 0;
+ }
+
+ public override void check (Api.Tree api_root, Api.Node container, string file_path,
+ ErrorReporter reporter, Settings settings)
+ {
+ // TODO report error if level == 0 ?
+ // TODO: content.size == 0?
+
+ // Check inline content
+ base.check (api_root, container, file_path, reporter, settings);
+ }
+
+ public override void accept (ContentVisitor visitor) {
+ visitor.visit_headline (this);
+ }
+
+ public override bool is_empty () {
+ return false;
+ }
+
+ public override ContentElement copy (ContentElement? new_parent = null) {
+ Headline headline = new Headline ();
+ headline.parent = new_parent;
+ headline.level = level;
+
+ foreach (Inline element in content) {
+ Inline copy = element.copy (headline) as Inline;
+ headline.content.add (copy);
+ }
+
+ return headline;
+ }
+}
+