builder.rs 643 B

123456789101112131415161718192021222324252627282930
  1. #![allow(non_snake_case)]
  2. #![allow(clippy::derivable_impls)]
  3. use crate::rich_text::{RichTextAttribute, RichTextAttributes};
  4. pub struct AttributeBuilder {
  5. inner: RichTextAttributes,
  6. }
  7. impl std::default::Default for AttributeBuilder {
  8. fn default() -> Self {
  9. Self {
  10. inner: RichTextAttributes::default(),
  11. }
  12. }
  13. }
  14. impl AttributeBuilder {
  15. pub fn new() -> Self {
  16. AttributeBuilder::default()
  17. }
  18. pub fn add_attr(mut self, attribute: RichTextAttribute) -> Self {
  19. self.inner.add(attribute);
  20. self
  21. }
  22. pub fn build(self) -> RichTextAttributes {
  23. self.inner
  24. }
  25. }