Design Documents
From autoplot.org
Purpose: contain links for miscellaneous design documents.
Contents |
1 Links to Various Design Documents
- Uri_syntax Describes Autoplot data set URI construction, rules, and conventions.
- developer.URI_completion Description of the completion engine used to create valid URIs, to assist humans and perhaps allow for data mining...
- QDataSet_Intro beginnings of a QDataSet tutorial. QDataSet is the internal data model.
- developer.Title_and_Label_Templates proposal for how titles and labels can use templates to insert metadata.
- developer.inlineData proposal for URIs that contain data for quick plotting and tags.
- developer.axis_auto_property proposal for adding "auto" property to axis so autoranging is finely controlled.
- developer.DataSource_API_Change proposed for DataSources that would allow for database and other non-file-based DataSources.
- developer.panel_rank_reduction spec for how panels can reduce data that's handed to them, and implementation notes.
- developer.userDirectory layout of the user data directory. Right now this is just data, but I want to put other things here too.
- Demo_bookmarks list of bookmarks demonstrating Autoplot. The demo bookmarks included with Autoplot should reflect these. This document may become part of the Autoplot prospective user documents.
- developer.bindingTypes initial thoughts about the need for more binding types.
- developer.helpsets conventions for developing and maintaining help documents.
- developer.datasourceURI.extensions propose new features for data sources
- developer.dataset.filters work out spec for user-defined filters for QDataSet, Autoplot and TSDS.
- developer.python.indexing document the logic for PyQDataSet.__getItem__ index parameter.
2 Autoplot Objects
2.1 DOM Controllers
The DOM Controllers are objects that manage nodes of the DOM. For example, when the slice index of a DataSourceFilter node is changed, the controller slices the original dataset to create a new dataset, and fires off an event notification of the new dataset.
2.2 DOM Nodes
2.2.1 syncTo
syncTo method should set all the properties of a node to those of another node. This should include the id. This should include references to id's.
2.2.2 diffs
diffs returns an array of diff descriptor objects that can do and undo the diff. The returned diffs should include the id. The returned diffs should include changes in references to other
2.2.3 copy
copy is a deep copy of the node, including id and references. However, this is often implemented with clone() it's extremely important that the controller not be copied. Most copy implementations will explicitly set the controller to null.
