The Stager Platform
Stager Widgets vs Editors
Stager distinguishes between widgets and editors. Any widget that edits a value is an editor and any widget that doesn't edit a value is just a normal widget. All editors are StatefulWidgets, and most widgets are StatelessWidgets.
The editors/standard_widgets.dart file defines a small set of useful widgets that can be created with handy builder functions. These functions are implemented in a factory in basic_widget_factory.dart.
Libraries
- data/basic_sample_data
- This file provides sample data for the tree structure in the Tracee application. This data is used for development and testing purposes.
- editors/add_node_controller
- editors/add_node_dialog
- This file defines the AddNodeDialog widget, used for adding a new TreeNode.
- editors/add_property_dialog
- editors/add_site_dialog
- editors/basic_editor_factory
- editors/basic_site_controls
- editors/basic_widget_factory
- editors/composite_node_editor
- editors/controller
- editors/edit_node_controller
- editors/edit_node_dialog
- This file defines the EditNodeDialog widget, used for editing a TreeNode's name.
- editors/editor_factory
- This file defines abstract classes for editing different types of nodes within the Stager tree structure.
- editors/file_handler
- editors/leaf_node_editor
- editors/message_dialog
- editors/node_properties_view
- editors/properties_widget
- editors/single_point_map_editor
- This file defines the SinglePointMapEditor widget for interactive editing of a single map point.
- editors/site_controls
- editors/site_editor
- editors/stager_editor
- editors/stager_tree_viewers
- editors/standard_widgets
- editors/tree_editor
- This file defines abstract classes for editing different types of nodes within the Stager tree structure.
- editors/tree_icon_provider
- editors/tree_view
- editors/tree_viewer
- This file defines abstract classes for viewing different types of nodes within the Stager tree structure, leveraging the Observer pattern.
- editors/widget_factory
- persistence/file_picker_wrapper
- persistence/json_codec
- site_state
- site_state_observer
- stager
- tree/basic_node_builder
- tree/composite_node
- tree/concrete_composite_node
- Concrete implementation of CompositeNode.
- tree/concrete_leaf_node
- Concrete implementation of LeafNode.
- tree/concrete_node_properties
- Concrete implementation of NodeProperties.
- tree/concrete_tree
- This file provides concrete implementations of the Stager tree interfaces for testing and initial development purposes.
- tree/concrete_tree_node
- Concrete implementation of TreeNode.
- tree/iterators
- This file contains concrete implementations of iterators for the Stager tree.
- tree/leaf_node
- tree/leaf_node_observer
- tree/node_builder
- tree/node_observer
- tree/node_properties
- tree/node_properties_observer
- tree/node_summary
- tree/node_visitor
- tree/observable_subject
- tree/tree
- This file contains the core data structures for the Stager tree. It follows the Composite and Observer design patterns.
- tree/tree_node
- tree/tree_summary