Central to Widgy are Nodes, Contents, and Widgets.
is a subclass of Treebeard’s
Nodes concern themselves with the tree structure. Each Node is associated with
an instance of
Content subclass. A Node + Content
combination is called a Widget.
Storing all the structure data in Node and having that point to any subclass of Content allows us to have all the benefits of a tree, but also the flexibility to store very different data within a tree.
Nodes are associated with their
Content through a
This is what a hypothetical Widgy tree might look like.:
Node (TwoColumnLayout) | +-- Node (MainBucket) | | | +-- Node (Text) | | | +-- Node (Image) | | | +-- Node (Form) | | | +-- Node (Input) | | | +-- Node (Checkboxes) | | | +-- Node (SubmitButton) | +-- Node (SidebarBucket) | +-- Node (CallToAction)