windjammer-ui 0.3.6

Cross-platform UI framework for Windjammer (Web, Desktop, Mobile)
Documentation

use super::traits::Renderable
pub struct Toolbar {
    items: Vec<string>,
    position: string,
}

impl Toolbar {
    pub fn new() -> Toolbar {
        Toolbar {
            items: Vec::new(),
            position: "top".to_string(),
        }
    }

    pub fn item(self, item: string) -> Toolbar {
        self.items.push(item)
        self
    }

    pub fn position(self, position: string) -> Toolbar {
        self.position = position
        self
    }


}

impl Renderable for Toolbar {
pub fn render(self) -> string {
        let items_html = self.items.join("\n")

        format!("<div class='wj-toolbar wj-toolbar-{}'>
  {}
</div>", self.position, items_html)
    }
}

fn main() {
    let toolbar = Toolbar::new()
        .item("<button>New</button>".to_string())
        .item("<button>Save</button>".to_string())
        .item("<button>Export</button>".to_string())

    println!("{}", toolbar.render())
}