Step
Object Hierarchy:
Description:
public class Step : Object
One unit of the task list: either a single task or a concurrent group.
Purpose: Step wraps a list of task Details (children). It is the element over
which the top-level List iterates sequentially; within a step, children run either
alone (size == 1) or concurrently (size > 1).
What it does:
- Exposes children (Gee.ArrayList of Details).
- has_task_requiring_approval returns true if
any child
requires user approval before execution continues.
- wait_refined yields until the single child has finished
refining when children.size == 1; when size > 1, refinement
is waited per task inside List.run_child, so this method
returns immediately.
Task flow: List holds an ordered list of Step. Execution is sequential at the step
level; for each Step, List either runs one run_child (single child) or starts run_child for each child and waits for all via
wait_exec_done (concurrent). Step is the boundary between one task or concurrent group and the next step in sequence.
See also:
List, Details
Content:
Properties:
- public ArrayList<Details> children { get; set; }
Tasks in this step. Size 1 = single task; size > 1 = concurrent
group.
- public List list { get; set; }
- public PhaseEnum status { get; set; }
- public string title { get; set; }
Section heading text from the document (e.g. "Task section 1" or
"Research phase"). Set when the step is built so issue messages can refer to the section by title.
Creation methods:
Methods:
- public bool has_task_requiring_approval ()
Whether any child task requires user approval before execution
continues.
- public bool is_exec_done ()
- public void register_slugs (int step_index)
Register this step's tasks in list.slugs (and set step_index). If slug
non-empty and not in completed/pending, set and continue. Empty or clash: set name in task_data, then slugs.set(t.slug(), t).
- public string to_markdown (PhaseEnum phase)
Markdown for this step's tasks only (no section header). Caller uses
completed or pending list; no filtering (list identity implies context).
- public async void wait_refined () throws Error
When children.size == 1, yields until that task has finished
refining.
Inherited Members:
All known members inherited from class GLib.Object
- @get
- @new
- @ref
- @set
- add_toggle_ref
- add_weak_pointer
- bind_property
- connect
- constructed
- disconnect
- dispose
- dup_data
- dup_qdata
- force_floating
- freeze_notify
- get_class
- get_data
- get_property
- get_qdata
- get_type
- getv
- interface_find_property
- interface_install_property
- interface_list_properties
- is_floating
- new_valist
- new_with_properties
- newv
- notify
- notify_property
- ref_count
- ref_sink
- remove_toggle_ref
- remove_weak_pointer
- replace_data
- replace_qdata
- set_data
- set_data_full
- set_property
- set_qdata
- set_qdata_full
- set_valist
- setv
- steal_data
- steal_qdata
- thaw_notify
- unref
- watch_closure
- weak_ref
- weak_unref