summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2021-01-20Attribute Constraintsseancarroll
This adds some attribute constraints. We validate certain constraints based on information from http://www.graphviz.org/doc/info/attrs.html. Validation errors are collected as part of builders, we still add the attribute regardless or not if it fails validation, and build methods return ValidationResult<T> where errors is a Vec<ValidationError>. We still add attributes even if the validation fails so that users can ignore validation errors and build appropriate struct.
2021-01-17flushing out more complex example for docsseancarroll
2021-01-16fix some docsseancarroll
2021-01-16Remove Attribute Statement Structs for IndexMapseancarroll
I didnt think we were getting a ton of benefit from the AttributeStatement abstraction so I replaced it with IndexMap which the attribute statement impl were using internally. While the DOT language docs (https://graphviz.org/doc/info/lang.html) do call out attr_stmt as part of the language definition the overhead of the related traits, impl, structs, etc felt a bit heavy. In particular, supporting the ability to create them as part of a build as well as allowing users to add to them via other bulid fns was a bit awkward. For now I think removing the abstraction makes sense and provides for a simpler implementation. Can revisit this down the road if other requirements come up that perhaps warrant the addittional code.
2021-01-12support subgraphsseancarroll
2021-01-10improve rust docsseancarroll
2021-01-10ditch render options for nowseancarroll
2021-01-09cargo fmtseancarroll
2021-01-08working through how to make it easier to render DOT to stringseancarroll
2021-01-08improving docsseancarroll
2021-01-07adding rustdocsseancarroll
2021-01-06trying to organize files and use declarationsseancarroll
2021-01-03more organizationseancarroll
2021-01-03starting some work on improving organizationseancarroll
2021-01-03we arent using Config and i'm not 100% sure what if any configuration or ↵seancarroll
rendering options I want to support so for now delete
2021-01-02adding rustfmt.toml and ran cargo fmt on projectseancarroll
2021-01-02tidy up some shared code and docsseancarroll
2021-01-02tweak Point constructorsseancarroll
2021-01-02adds rectangle structseancarroll
2021-01-02minor tweaksseancarroll
2021-01-02allows to specify port positions on edge statementsseancarroll
2021-01-02adding port position attributeseancarroll
2021-01-02ditch custom trait for converting struct/enums to AttributeText and instead ↵seancarroll
use Rust's From trait
2021-01-01start using From trait to convert u32, f32, bool, etc to AttributeTextseancarroll
2021-01-01split out attribute_text from DotString into own trait called Attributeseancarroll
2021-01-01fix typoseancarroll
2021-01-01adds tests. still working through some DotString implementationsseancarroll
2020-12-30alter dot rendering to fix issue when graph id not providedseancarroll
2020-12-30moving more things over to DotString traitseancarroll
2020-12-29cant spell. quotted -> quotedseancarroll
2020-12-29adding more colorlist and point methods. adding Ratio enum. Thinking about a ↵seancarroll
new trait that will provide attribute text and string
2020-12-29trying some usability changes for fill_color by accepting vec of tuplesseancarroll
2020-12-28bit of cleanup. adding colorlist fnsseancarroll
2020-12-26remove NamedColor for &strseancarroll
2020-12-26change name of X11 to NamedColor and adding WeightedColor/ColorListseancarroll
2020-12-24Use &self for as_slice to resolve following warning. 'methods called ↵seancarroll
usually take self by reference or self by mutable reference; consider choosing a less ambiguous name'
2020-12-24dont think to use String::from now that we use Cow. Adding Color structseancarroll
2020-12-22trying some things to reduce some duplication when building node/edge ↵seancarroll
statements and nodes/edges
2020-12-20finishing up edge attribute fnsseancarroll
2020-12-20start work on edge attribute fnsseancarroll
2020-12-19adding more fns for nodesseancarroll
2020-12-18working on additional node functionsseancarroll
2020-12-18adds typed graph functionsseancarroll
2020-12-15adds a graph builder. attempting to simplify Graph typesseancarroll
2020-12-14retain order of attributes by using IndexMapseancarroll
2020-12-14working on graph attributesseancarroll
2020-12-13clean up to_dot_string string concatenationseancarroll
Rather than appending separator at the end within a loop and then having to pop off the trailing separator characters we consume the first entry from the iter and then loop over the rest of the elements in the iter adding the separator then key/values
2020-12-13add support for edgesseancarroll
2020-12-12use Self for NodeBuilder::new which feels a bit cleanerseancarroll
2020-12-12adds support for shapesseancarroll