aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/ao_object_setter.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/ao_object_setter.org')
-rw-r--r--org/ao_object_setter.org121
1 files changed, 116 insertions, 5 deletions
diff --git a/org/ao_object_setter.org b/org/ao_object_setter.org
index 51dd9bc..2ee9423 100644
--- a/org/ao_object_setter.org
+++ b/org/ao_object_setter.org
@@ -17,6 +17,25 @@
** struct :struct:
#+name: ao_object_setter
#+BEGIN_SRC d
+mixin Structs;
+#+END_SRC
+** comment :comment:
+#+name: ao_object_setter
+#+BEGIN_SRC d
+ObjComposite contents_comment_new(in string object) {
+ ObjComposite object_set;
+ object_set.use = "comment";
+ object_set.of = "comment";
+ object_set.is_a = "comment";
+ object_set.object = object;
+ // does not have .attrib;
+ // does not have .ocn
+ return object_set;
+}
+#+END_SRC
+
+#+name: ao_object_setter
+#+BEGIN_SRC d
string[string] contents_comment(in string object) {
string[string] object_set;
object_set["use"] = "comment";
@@ -29,6 +48,32 @@ string[string] contents_comment(in string object) {
** heading :heading:
#+name: ao_object_setter
#+BEGIN_SRC d
+ObjComposite contents_heading_new(
+ in int type,
+ in string object,
+ in string attrib,
+ in int ocn,
+ in string lev,
+ in string lvn,
+ in string lcn,
+) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "para";
+ object_set.is_a = "heading";
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ object_set.heading.type = to!string(type);
+ object_set.heading.lev = to!string(lev);
+ object_set.heading.lvn = to!string(lvn);
+ object_set.heading.lcn = to!string(lcn);
+ return object_set;
+}
+#+END_SRC
+
+#+name: ao_object_setter
+#+BEGIN_SRC d
string[string] contents_heading(
in int type,
in string object,
@@ -53,10 +98,36 @@ string[string] contents_heading(
}
#+END_SRC
** para :para:
+
+#+name: ao_object_setter
+#+BEGIN_SRC d
+ObjComposite contents_para_new(
+ in string is_a,
+ in string object,
+ in string attrib,
+ in int ocn,
+ in string indent_first,
+ in string indent_second,
+ in bool bullet
+) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "para";
+ object_set.is_a = "heading";
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ object_set.para.indent_first = indent_first;
+ object_set.para.indent_second = indent_second;
+ object_set.para.bullet = to!string(bullet);
+ return object_set;
+}
+#+END_SRC
+
#+name: ao_object_setter
#+BEGIN_SRC d
string[string] contents_para(
- in string type,
+ in string is_a,
in string object,
in string attrib,
in int ocn,
@@ -67,7 +138,7 @@ string[string] contents_para(
string[string] object_set;
object_set["use"] = "content";
object_set["of"] = "para";
- object_set["is"] = type;
+ object_set["is"] = is_a;
object_set["obj"] = object;
object_set["ocn"] = (ocn==0) ? "" : to!string(ocn);
object_set["indent_first"] = indent_first;
@@ -80,6 +151,26 @@ string[string] contents_para(
** block :block:
#+name: ao_object_setter
#+BEGIN_SRC d
+ObjComposite contents_block_new(
+ in string type,
+ in string object,
+ in string attrib,
+ in int ocn
+) {
+ ObjComposite object_set;
+ // does not have .attrib;
+ object_set.use = "content";
+ object_set.of = "block";
+ object_set.is_a = type;
+ object_set.object = object;
+ object_set.ocn = (ocn==0) ? "" : to!string(ocn);
+ object_set.attrib = attrib;
+ return object_set;
+}
+#+END_SRC
+
+#+name: ao_object_setter
+#+BEGIN_SRC d
string[string] contents_block(
in string type,
in string object,
@@ -99,6 +190,26 @@ string[string] contents_block(
** block ocn string :block:
#+name: ao_object_setter
#+BEGIN_SRC d
+ObjComposite contents_block_ocn_string_new(
+ in string type,
+ in string object,
+ in string ocn,
+ in string node
+) {
+ ObjComposite object_set;
+ object_set.use = "content";
+ object_set.of = "block";
+ object_set.is_a = type;
+ object_set.object = object;
+ object_set.ocn = ocn;
+ object_set.block_ocn_string.node = node;
+ // object_set.attrib = attrib;
+ return object_set;
+}
+#+END_SRC
+
+#+name: ao_object_setter
+#+BEGIN_SRC d
string[string] contents_block_ocn_string(
in string type,
in string object,
@@ -120,12 +231,12 @@ string[string] contents_block_ocn_string(
** code structure: :ao_object_setter.d:
#+name: tangle_ao_object_setter
#+BEGIN_SRC d :tangle ../lib/sdp/ao_object_setter.d
-/*
+/+
object setter
ao_object_setter.d
-*/
++/
mixin template ObjectSetters() {
- class ObjectAbstractSet {
+ struct ObjectAbstractSet {
import std.conv : to;
<<ao_object_setter>>
}