{"action":"created","comment":{"url":"https://api.github.com/repos/gtk-rs/examples/pulls/comments/62429219","id":62429219,"diff_hunk":"@@ -3,295 +3,189 @@\n extern crate gtk;\n extern crate gdk;\n \n-use gtk::prelude::*;\n-use gtk::SpinButtonUpdatePolicy;\n-use gdk::enums::modifier_type;\n-\n-/// Expands to its argument if GTK+ 3.10 support is configured and to `()` otherwise\n-#[cfg(not(feature = \"gtk_3_10\"))]\n-macro_rules! with_gtk_3_10 {\n-    ($ex:expr) => (\n-        ()\n-    );\n-    ($bl:block) => {\n-        ()\n-    }\n-}\n-\n-/// Expands to its argument if GTK+ 3.10 support is configured and to `()` otherwise\n #[cfg(feature = \"gtk_3_10\")]\n-macro_rules! with_gtk_3_10 {\n-    ($ex:expr) => (\n-        $ex\n-    );\n-    ($bl:block) => {\n-        $bl\n-    }\n-}\n-\n-// make moving clones into closures more convenient\n-macro_rules! clone {\n-    (@param _) => ( _ );\n-    (@param $x:ident) => ( $x );\n-    ($($n:ident),+ => move || $body:expr) => (\n-        {\n-            $( let $n = $n.clone(); )+\n-            move || $body\n-        }\n-    );\n-    ($($n:ident),+ => move |$($p:tt),+| $body:expr) => (\n-        {\n-            $( let $n = $n.clone(); )+\n-            move |$(clone!(@param $p),)+| $body\n-        }\n-    );\n-}\n-\n-fn about_clicked(button: &gtk::Button) {\n-    let dialog = gtk::AboutDialog::new();\n-    if let Some(window) = button.get_toplevel().and_then(|w| w.downcast::<gtk::Window>().ok()) {\n-        dialog.set_transient_for(Some(&window));\n-    }\n-\n-    let crew = [\n-        \"James T. Kirk\",\n-        \"Spock\",\n-        \"Leonard McCoy\",\n-    ];\n-\n-    dialog.set_authors(&crew);\n-    dialog.set_artists(&crew[1..]);\n-\n-    println!(\"Authors: {:?}\", dialog.get_authors());\n-    println!(\"Artists: {:?}\", dialog.get_artists());\n-    println!(\"Documenters: {:?}\", dialog.get_documenters());\n-\n-    dialog.run();\n-    dialog.destroy();\n-}\n-\n-fn main() {\n-    if gtk::init().is_err() {\n-        println!(\"Failed to initialize GTK.\");\n-        return;\n-    }\n-    println!(\"Major: {}, Minor: {}\", gtk::get_major_version(), gtk::get_minor_version());\n-    let window = gtk::Window::new(gtk::WindowType::Toplevel);\n-    let frame = gtk::Frame::new(Some(\"Yep a frame\"));\n-    let _box = gtk::Box::new(gtk::Orientation::Horizontal, 10);\n-    let v_box = gtk::Box::new(gtk::Orientation::Horizontal, 10);\n-    let button_box = gtk::ButtonBox::new(gtk::Orientation::Horizontal);\n-    let label = gtk::Label::new(Some(\"Yeah a wonderful label too !\"));\n-    let button = gtk::Button::new_with_label(\"Whattttt a button !\");\n-    let button_about = gtk::Button::new_with_label(\"About?\");\n-    let button_recent = gtk::Button::new_with_label(\"Choose a recent one !\");\n-    let button_font = gtk::Button::new_with_label(\"Choose a font !\");\n-    let app_button = gtk::Button::new_with_label(\"App ?\");\n-    let file_button = gtk::Button::new_with_label(\"file ?\");\n-    let font_button = gtk::FontButton::new();\n-    let toggle_button = gtk::ToggleButton::new_with_label(\"Toggle Me !\");\n-    let check_button = gtk::CheckButton::new_with_label(\"Labeled check button\");\n-    let color_button = gtk::ColorButton::new();\n-    let menu_button = with_gtk_3_10!(\n-        gtk::MenuButton::new()\n-    );\n-    let link_button = gtk::LinkButton::new(\"www.rust-lang.org\");\n-    let volume_button = gtk::VolumeButton::new();\n-    let entry = gtk::Entry::new();\n-    let search_entry = with_gtk_3_10!(\n-        gtk::SearchEntry::new()\n-    );\n-    let separator = gtk::Separator::new(gtk::Orientation::Horizontal);\n-    let separator2 = gtk::Separator::new(gtk::Orientation::Horizontal);\n-    let switch = gtk::Switch::new();\n-    let switch2 = gtk::Switch::new();\n-    let scale = gtk::Scale::new_with_range(gtk::Orientation::Horizontal, 0., 100., 1.);\n-    let level_bar = with_gtk_3_10!(\n-        gtk::LevelBar::new_for_interval(0., 100.)\n-    );\n-    let spin_button = gtk::SpinButton::new_with_range(0., 100., 1.);\n-    let spinner = gtk::Spinner::new();\n-    let image = gtk::Image::new_from_file(\"./test/resources/gtk.jpg\");\n-    let progress_bar = gtk::ProgressBar::new();\n-    let arrow = gtk::Arrow::new(gtk::ArrowType::Right, gtk::ShadowType::EtchedOut);\n-    let calendar = gtk::Calendar::new();\n-    let info_bar = gtk::InfoBar::new();\n-    let tmp_button = with_gtk_3_10!(\n-        gtk::Button::new_from_icon_name(\"edit-clear\", gtk::IconSize::Button.into())\n-    );\n-\n-    println!(\"test\");\n-\n-    with_gtk_3_10! {{\n-        info_bar.set_show_close_button(true);\n-    }}\n-\n-    /*info_bar.connect(signals::Response::new(|response_id| {\n-        info_bar.hide()\n-    }));*/ //TODO: Why does this not work?\n-\n-    progress_bar.set_fraction(0.7);\n-    spinner.start();\n-    with_gtk_3_10! {{\n-        level_bar.set_value(37.);\n-    }}\n-    switch2.set_active(true);\n-    frame.set_border_width(10);\n-    _box.set_border_width(5);\n-    entry.set_placeholder_text(Some(\"An Entry with a placeholder !\"));\n-    volume_button.set_orientation(gtk::Orientation::Horizontal);\n-    label.set_justify(gtk::Justification::Left);\n-    window.set_title(\"Yeah a beautiful window with gtk !\");\n-    window.set_position(gtk::WindowPosition::Center);\n-    window.add(&frame);\n-\n-    scale.set_digits(1);\n-    scale.connect_format_value(|scale, value| {\n-        let digits = scale.get_digits() as usize;\n-        format!(\"<{:.*}>\", digits, value)\n-    });\n-\n-    spin_button.set_update_policy(SpinButtonUpdatePolicy::IfValid);\n-    spin_button.connect_input(|spin_button| {\n-        let text = spin_button.get_text().unwrap();\n-        println!(\"spin_button_input: \\\"{}\\\"\", text);\n-        match text.parse::<f64>() {\n-            Ok(value) if value >= 90. => {\n-                println!(\"circular right\");\n-                Some(Ok(10.))\n+mod example {\n+    use gtk::prelude::*;\n+    use gtk::{\n+        self, AboutDialog, AppChooserDialog, Builder, Button, Dialog, Entry, FileChooserAction,\n+        FileChooserDialog, FontChooserDialog, Scale, SpinButton, RecentChooserDialog, ResponseType,\n+        Spinner, Window\n+    };\n+    use gdk::enums::modifier_type;\n+\n+    // make moving clones into closures more convenient\n+    macro_rules! clone {\n+        (@param _) => ( _ );\n+        (@param $x:ident) => ( $x );\n+        ($($n:ident),+ => move || $body:expr) => (\n+            {\n+                $( let $n = $n.clone(); )+\n+                move || $body\n             }\n-            Ok(value) if value <= 10. => {\n-                println!(\"circular left\");\n-                Some(Ok(90.))\n+        );\n+        ($($n:ident),+ => move |$($p:tt),+| $body:expr) => (\n+            {\n+                $( let $n = $n.clone(); )+\n+                move |$(clone!(@param $p),)+| $body\n             }\n-            Ok(value) => Some(Ok(value)),\n-            Err(_) => Some(Err(())),\n-        }\n-    });\n-\n-    let entry_clone = entry.clone();\n-    button.connect_clicked(clone!(window => move |_| {\n-        let dialog = gtk::Dialog::new_with_buttons(Some(\"Hello!\"), Some(&window), gtk::DIALOG_MODAL,\n-            &[(\"No\", 0), (\"Yes\", 1), (\"Yes!\", 2)]);\n-\n-        let ret = dialog.run();\n-\n-        dialog.destroy();\n-\n-        entry_clone.set_text(&format!(\"Clicked {}\", ret));\n-    }));\n-\n-    // use a plain function instead of a closure\n-    button_about.connect_clicked(about_clicked);\n-\n-    button_font.connect_clicked(clone!(window => move |_| {\n-        let dialog = gtk::FontChooserDialog::new(Some(\"Font chooser test\"), Some(&window));\n+        );\n+    }\n \n-        dialog.run();\n-        dialog.destroy();\n-    }));\n+    fn about_clicked(button: &Button, builder: &Builder) {\n+        let dialog: AboutDialog = builder.get_object(\"dialog\").unwrap();\n+        if let Some(window) = button.get_toplevel().and_then(|w| w.downcast::<Window>().ok()) {\n+            dialog.set_transient_for(Some(&window));\n+        }\n \n-    button_recent.connect_clicked(clone!(window => move |_| {\n-        let dialog = gtk::RecentChooserDialog::new(Some(\"Recent chooser test\"), Some(&window));\n-        dialog.add_buttons(&[\n-            (\"Ok\", gtk::ResponseType::Ok.into()),\n-            (\"Cancel\", gtk::ResponseType::Cancel.into())\n-        ]);\n+        println!(\"Authors: {:?}\", dialog.get_authors());\n+        println!(\"Artists: {:?}\", dialog.get_artists());\n+        println!(\"Documenters: {:?}\", dialog.get_documenters());\n \n         dialog.run();\n         dialog.destroy();\n-    }));\n-\n-    file_button.connect_clicked(clone!(window => move |_| {\n-        //entry.set_text(\"Clicked!\");\n-        let dialog = gtk::FileChooserDialog::new(Some(\"Choose a file\"), Some(&window),\n-            gtk::FileChooserAction::Open);\n-        dialog.add_buttons(&[\n-            (\"Open\", gtk::ResponseType::Ok.into()),\n-            (\"Cancel\", gtk::ResponseType::Cancel.into())\n-        ]);\n-\n-        dialog.set_select_multiple(true);\n-        dialog.run();\n-        let files = dialog.get_filenames();\n-        dialog.destroy();\n-\n-        println!(\"Files: {:?}\", files);\n-    }));\n+    }\n \n-    app_button.connect_clicked(clone!(window => move |_| {\n-        //entry.set_text(\"Clicked!\");\n-        let dialog = gtk::AppChooserDialog::new_for_content_type(Some(&window), gtk::DIALOG_MODAL,\n-            \"sh\");\n+    pub fn sub_main() {\n+        if gtk::init().is_err() {\n+            println!(\"Failed to initialize GTK.\");\n+            return;\n+        }\n+        println!(\"Major: {}, Minor: {}\", gtk::get_major_version(), gtk::get_minor_version());\n+        let glade_src = include_str!(\"gtktest.glade\");\n+        let builder = Builder::new_from_string(glade_src);\n+\n+        let window: Window = builder.get_object(\"window\").unwrap();\n+        let entry: Entry = builder.get_object(\"entry\").unwrap();\n+        let spinner: Spinner = builder.get_object(\"spinner\").unwrap();\n+        spinner.start();\n+\n+        /*info_bar.connect(signals::Response::new(|response_id| {\n+            info_bar.hide()\n+        }));*/ //TODO: Why does this not work?\n+\n+        let scale: Scale = builder.get_object(\"scale\").unwrap();\n+        scale.set_range(0., 100.);","path":"src/gtktest.rs","position":276,"original_position":276,"commit_id":"ab62c179803bc0610af5f38c90ca80db496cd026","original_commit_id":"0b178024ebd768bfc7d25e26cbbe59ff47df3fcc","user":{"login":"gkoz","id":4260361,"avatar_url":"https://avatars.githubusercontent.com/u/4260361?v=3","gravatar_id":"","url":"https://api.github.com/users/gkoz","html_url":"https://github.com/gkoz","followers_url":"https://api.github.com/users/gkoz/followers","following_url":"https://api.github.com/users/gkoz/following{/other_user}","gists_url":"https://api.github.com/users/gkoz/gists{/gist_id}","starred_url":"https://api.github.com/users/gkoz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gkoz/subscriptions","organizations_url":"https://api.github.com/users/gkoz/orgs","repos_url":"https://api.github.com/users/gkoz/repos","events_url":"https://api.github.com/users/gkoz/events{/privacy}","received_events_url":"https://api.github.com/users/gkoz/received_events","type":"User","site_admin":false},"body":"That's exactly what you're doing by claiming to have addressed all comments. Someone has to spend effort to find out if that is true and then solve the issue because clearly you're done with it.","created_at":"2016-05-08T09:11:25Z","updated_at":"2016-05-08T09:11:25Z","html_url":"https://github.com/gtk-rs/examples/pull/93#discussion_r62429219","pull_request_url":"https://api.github.com/repos/gtk-rs/examples/pulls/93","_links":{"self":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/comments/62429219"},"html":{"href":"https://github.com/gtk-rs/examples/pull/93#discussion_r62429219"},"pull_request":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/93"}}},"pull_request":{"url":"https://api.github.com/repos/gtk-rs/examples/pulls/93","id":69239981,"html_url":"https://github.com/gtk-rs/examples/pull/93","diff_url":"https://github.com/gtk-rs/examples/pull/93.diff","patch_url":"https://github.com/gtk-rs/examples/pull/93.patch","issue_url":"https://api.github.com/repos/gtk-rs/examples/issues/93","number":93,"state":"open","locked":false,"title":"Glade","user":{"login":"GuillaumeGomez","id":3050060,"avatar_url":"https://avatars.githubusercontent.com/u/3050060?v=3","gravatar_id":"","url":"https://api.github.com/users/GuillaumeGomez","html_url":"https://github.com/GuillaumeGomez","followers_url":"https://api.github.com/users/GuillaumeGomez/followers","following_url":"https://api.github.com/users/GuillaumeGomez/following{/other_user}","gists_url":"https://api.github.com/users/GuillaumeGomez/gists{/gist_id}","starred_url":"https://api.github.com/users/GuillaumeGomez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuillaumeGomez/subscriptions","organizations_url":"https://api.github.com/users/GuillaumeGomez/orgs","repos_url":"https://api.github.com/users/GuillaumeGomez/repos","events_url":"https://api.github.com/users/GuillaumeGomez/events{/privacy}","received_events_url":"https://api.github.com/users/GuillaumeGomez/received_events","type":"User","site_admin":false},"body":"Translate some examples to Glade.\r\n\r\nOnce this merged, the original examples (the non-Glade code) will be moved into its own repository (to keep tests on \"normal\" code).\r\n\r\nPart of #92","created_at":"2016-05-07T11:10:58Z","updated_at":"2016-05-08T09:11:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"189faddbbe0063a250f59d8d3e14d79ec5104732","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/gtk-rs/examples/pulls/93/commits","review_comments_url":"https://api.github.com/repos/gtk-rs/examples/pulls/93/comments","review_comment_url":"https://api.github.com/repos/gtk-rs/examples/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gtk-rs/examples/issues/93/comments","statuses_url":"https://api.github.com/repos/gtk-rs/examples/statuses/ab62c179803bc0610af5f38c90ca80db496cd026","head":{"label":"GuillaumeGomez:glade","ref":"glade","sha":"ab62c179803bc0610af5f38c90ca80db496cd026","user":{"login":"GuillaumeGomez","id":3050060,"avatar_url":"https://avatars.githubusercontent.com/u/3050060?v=3","gravatar_id":"","url":"https://api.github.com/users/GuillaumeGomez","html_url":"https://github.com/GuillaumeGomez","followers_url":"https://api.github.com/users/GuillaumeGomez/followers","following_url":"https://api.github.com/users/GuillaumeGomez/following{/other_user}","gists_url":"https://api.github.com/users/GuillaumeGomez/gists{/gist_id}","starred_url":"https://api.github.com/users/GuillaumeGomez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuillaumeGomez/subscriptions","organizations_url":"https://api.github.com/users/GuillaumeGomez/orgs","repos_url":"https://api.github.com/users/GuillaumeGomez/repos","events_url":"https://api.github.com/users/GuillaumeGomez/events{/privacy}","received_events_url":"https://api.github.com/users/GuillaumeGomez/received_events","type":"User","site_admin":false},"repo":{"id":39299913,"name":"examples","full_name":"GuillaumeGomez/examples","owner":{"login":"GuillaumeGomez","id":3050060,"avatar_url":"https://avatars.githubusercontent.com/u/3050060?v=3","gravatar_id":"","url":"https://api.github.com/users/GuillaumeGomez","html_url":"https://github.com/GuillaumeGomez","followers_url":"https://api.github.com/users/GuillaumeGomez/followers","following_url":"https://api.github.com/users/GuillaumeGomez/following{/other_user}","gists_url":"https://api.github.com/users/GuillaumeGomez/gists{/gist_id}","starred_url":"https://api.github.com/users/GuillaumeGomez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GuillaumeGomez/subscriptions","organizations_url":"https://api.github.com/users/GuillaumeGomez/orgs","repos_url":"https://api.github.com/users/GuillaumeGomez/repos","events_url":"https://api.github.com/users/GuillaumeGomez/events{/privacy}","received_events_url":"https://api.github.com/users/GuillaumeGomez/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/GuillaumeGomez/examples","description":"rust-gnome examples","fork":true,"url":"https://api.github.com/repos/GuillaumeGomez/examples","forks_url":"https://api.github.com/repos/GuillaumeGomez/examples/forks","keys_url":"https://api.github.com/repos/GuillaumeGomez/examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GuillaumeGomez/examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GuillaumeGomez/examples/teams","hooks_url":"https://api.github.com/repos/GuillaumeGomez/examples/hooks","issue_events_url":"https://api.github.com/repos/GuillaumeGomez/examples/issues/events{/number}","events_url":"https://api.github.com/repos/GuillaumeGomez/examples/events","assignees_url":"https://api.github.com/repos/GuillaumeGomez/examples/assignees{/user}","branches_url":"https://api.github.com/repos/GuillaumeGomez/examples/branches{/branch}","tags_url":"https://api.github.com/repos/GuillaumeGomez/examples/tags","blobs_url":"https://api.github.com/repos/GuillaumeGomez/examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GuillaumeGomez/examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GuillaumeGomez/examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/GuillaumeGomez/examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GuillaumeGomez/examples/statuses/{sha}","languages_url":"https://api.github.com/repos/GuillaumeGomez/examples/languages","stargazers_url":"https://api.github.com/repos/GuillaumeGomez/examples/stargazers","contributors_url":"https://api.github.com/repos/GuillaumeGomez/examples/contributors","subscribers_url":"https://api.github.com/repos/GuillaumeGomez/examples/subscribers","subscription_url":"https://api.github.com/repos/GuillaumeGomez/examples/subscription","commits_url":"https://api.github.com/repos/GuillaumeGomez/examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/GuillaumeGomez/examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/GuillaumeGomez/examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/GuillaumeGomez/examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/GuillaumeGomez/examples/contents/{+path}","compare_url":"https://api.github.com/repos/GuillaumeGomez/examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GuillaumeGomez/examples/merges","archive_url":"https://api.github.com/repos/GuillaumeGomez/examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GuillaumeGomez/examples/downloads","issues_url":"https://api.github.com/repos/GuillaumeGomez/examples/issues{/number}","pulls_url":"https://api.github.com/repos/GuillaumeGomez/examples/pulls{/number}","milestones_url":"https://api.github.com/repos/GuillaumeGomez/examples/milestones{/number}","notifications_url":"https://api.github.com/repos/GuillaumeGomez/examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GuillaumeGomez/examples/labels{/name}","releases_url":"https://api.github.com/repos/GuillaumeGomez/examples/releases{/id}","deployments_url":"https://api.github.com/repos/GuillaumeGomez/examples/deployments","created_at":"2015-07-18T13:56:46Z","updated_at":"2016-01-19T22:29:55Z","pushed_at":"2016-05-07T20:03:10Z","git_url":"git://github.com/GuillaumeGomez/examples.git","ssh_url":"git@github.com:GuillaumeGomez/examples.git","clone_url":"https://github.com/GuillaumeGomez/examples.git","svn_url":"https://github.com/GuillaumeGomez/examples","homepage":null,"size":114,"stargazers_count":0,"watchers_count":0,"language":"Rust","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"gtk-rs:pending","ref":"pending","sha":"077d9efefe1e28e87d0fae898764f3afb461a0bd","user":{"login":"gtk-rs","id":11757045,"avatar_url":"https://avatars.githubusercontent.com/u/11757045?v=3","gravatar_id":"","url":"https://api.github.com/users/gtk-rs","html_url":"https://github.com/gtk-rs","followers_url":"https://api.github.com/users/gtk-rs/followers","following_url":"https://api.github.com/users/gtk-rs/following{/other_user}","gists_url":"https://api.github.com/users/gtk-rs/gists{/gist_id}","starred_url":"https://api.github.com/users/gtk-rs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gtk-rs/subscriptions","organizations_url":"https://api.github.com/users/gtk-rs/orgs","repos_url":"https://api.github.com/users/gtk-rs/repos","events_url":"https://api.github.com/users/gtk-rs/events{/privacy}","received_events_url":"https://api.github.com/users/gtk-rs/received_events","type":"Organization","site_admin":false},"repo":{"id":34350235,"name":"examples","full_name":"gtk-rs/examples","owner":{"login":"gtk-rs","id":11757045,"avatar_url":"https://avatars.githubusercontent.com/u/11757045?v=3","gravatar_id":"","url":"https://api.github.com/users/gtk-rs","html_url":"https://github.com/gtk-rs","followers_url":"https://api.github.com/users/gtk-rs/followers","following_url":"https://api.github.com/users/gtk-rs/following{/other_user}","gists_url":"https://api.github.com/users/gtk-rs/gists{/gist_id}","starred_url":"https://api.github.com/users/gtk-rs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gtk-rs/subscriptions","organizations_url":"https://api.github.com/users/gtk-rs/orgs","repos_url":"https://api.github.com/users/gtk-rs/repos","events_url":"https://api.github.com/users/gtk-rs/events{/privacy}","received_events_url":"https://api.github.com/users/gtk-rs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gtk-rs/examples","description":"gtk-rs examples","fork":false,"url":"https://api.github.com/repos/gtk-rs/examples","forks_url":"https://api.github.com/repos/gtk-rs/examples/forks","keys_url":"https://api.github.com/repos/gtk-rs/examples/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gtk-rs/examples/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gtk-rs/examples/teams","hooks_url":"https://api.github.com/repos/gtk-rs/examples/hooks","issue_events_url":"https://api.github.com/repos/gtk-rs/examples/issues/events{/number}","events_url":"https://api.github.com/repos/gtk-rs/examples/events","assignees_url":"https://api.github.com/repos/gtk-rs/examples/assignees{/user}","branches_url":"https://api.github.com/repos/gtk-rs/examples/branches{/branch}","tags_url":"https://api.github.com/repos/gtk-rs/examples/tags","blobs_url":"https://api.github.com/repos/gtk-rs/examples/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gtk-rs/examples/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gtk-rs/examples/git/refs{/sha}","trees_url":"https://api.github.com/repos/gtk-rs/examples/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gtk-rs/examples/statuses/{sha}","languages_url":"https://api.github.com/repos/gtk-rs/examples/languages","stargazers_url":"https://api.github.com/repos/gtk-rs/examples/stargazers","contributors_url":"https://api.github.com/repos/gtk-rs/examples/contributors","subscribers_url":"https://api.github.com/repos/gtk-rs/examples/subscribers","subscription_url":"https://api.github.com/repos/gtk-rs/examples/subscription","commits_url":"https://api.github.com/repos/gtk-rs/examples/commits{/sha}","git_commits_url":"https://api.github.com/repos/gtk-rs/examples/git/commits{/sha}","comments_url":"https://api.github.com/repos/gtk-rs/examples/comments{/number}","issue_comment_url":"https://api.github.com/repos/gtk-rs/examples/issues/comments{/number}","contents_url":"https://api.github.com/repos/gtk-rs/examples/contents/{+path}","compare_url":"https://api.github.com/repos/gtk-rs/examples/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gtk-rs/examples/merges","archive_url":"https://api.github.com/repos/gtk-rs/examples/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gtk-rs/examples/downloads","issues_url":"https://api.github.com/repos/gtk-rs/examples/issues{/number}","pulls_url":"https://api.github.com/repos/gtk-rs/examples/pulls{/number}","milestones_url":"https://api.github.com/repos/gtk-rs/examples/milestones{/number}","notifications_url":"https://api.github.com/repos/gtk-rs/examples/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gtk-rs/examples/labels{/name}","releases_url":"https://api.github.com/repos/gtk-rs/examples/releases{/id}","deployments_url":"https://api.github.com/repos/gtk-rs/examples/deployments","created_at":"2015-04-21T20:21:37Z","updated_at":"2016-04-13T03:33:38Z","pushed_at":"2016-05-07T20:03:10Z","git_url":"git://github.com/gtk-rs/examples.git","ssh_url":"git@github.com:gtk-rs/examples.git","clone_url":"https://github.com/gtk-rs/examples.git","svn_url":"https://github.com/gtk-rs/examples","homepage":"","size":142,"stargazers_count":18,"watchers_count":18,"language":"Rust","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":16,"mirror_url":null,"open_issues_count":4,"forks":16,"open_issues":4,"watchers":18,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/93"},"html":{"href":"https://github.com/gtk-rs/examples/pull/93"},"issue":{"href":"https://api.github.com/repos/gtk-rs/examples/issues/93"},"comments":{"href":"https://api.github.com/repos/gtk-rs/examples/issues/93/comments"},"review_comments":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/93/comments"},"review_comment":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gtk-rs/examples/pulls/93/commits"},"statuses":{"href":"https://api.github.com/repos/gtk-rs/examples/statuses/ab62c179803bc0610af5f38c90ca80db496cd026"}}}}