Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Gtk;
- using Granite.Widgets;
- public class SimpleGranite:Granite.Application{
- class ApplicationWindow:Gtk.Window {
- Welcome welcomeLayout;
- int count = 3;
- public ApplicationWindow() {
- destroy.connect(main_quit);
- set_titlebar(header());
- set_default_size(500, 300);
- welcomeLayout = new Granite.Widgets.Welcome ("Select A Device", "List of all available devices.");
- for(int i = 0; i < count; i++ ) {
- welcomeLayout.append ("tag-new", "$ " + i.to_string(), "");
- }
- this.add(welcomeLayout);
- }
- public void addAWelcomeButton(){
- count++;
- welcomeLayout.append ("tag-new", "$ " + count.to_string(), "");
- }
- public void deleteAWelcomeButton(){
- count--;
- welcomeLayout.remove_item(count);
- }
- private Gtk.HeaderBar header() {
- var header = new Gtk.HeaderBar();
- header.set_title("Welcome Screen");
- header.set_show_close_button(true);
- header.spacing = 0;
- Gtk.Image addImg = new Gtk.Image.from_icon_name ("tag-new", Gtk.IconSize.MENU);
- Gtk.ToolButton addButton = new Gtk.ToolButton (addImg, null);
- addButton.clicked.connect (() => {
- addAWelcomeButton();
- });
- Gtk.Image deleteImg = new Gtk.Image.from_icon_name ("process-stop", Gtk.IconSize.MENU);
- Gtk.ToolButton deleteButton = new Gtk.ToolButton (deleteImg, null);
- deleteButton.clicked.connect (() => {
- deleteAWelcomeButton();
- });
- header.pack_start(addButton);
- header.pack_end(deleteButton);
- return header;
- }
- }
- public static void main(string[] args) {
- new SimpleGranite().run(args);
- Gtk.init(ref args);
- Window window = new ApplicationWindow();
- window.show_all();
- Gtk.main();
- }
- }
Add Comment
Please, Sign In to add comment