Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:20.04
image: ubuntu:latest
strategy:
matrix:
rust:
- stable
- beta
- nightly
- "1.65.0"
- "1.70"
env:
DISPLAY: ":99.0"
# Workaround to avoid getting stuck by apt about choosing a timezone.
Expand Down
14 changes: 7 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ version = "0.24.1"
edition = "2018"

[dependencies]
cairo-rs = "0.16.1"
cairo-rs = "0.18"
fragile = "2.0"
glib = "0.16.2"
glib-sys = "0.16.0"
gobject-sys = "0.16.0"
gtk = "0.16.1"
libc = "^0.2.54"
log = "^0.4.6"
glib = "0.18"
glib-sys = "0.18"
gobject-sys = "0.18"
gtk = "0.18"
libc = "0.2.54"
log = "0.4.6"

[features]
hidpi = []
26 changes: 13 additions & 13 deletions relm-derive/src/gen/generator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -519,17 +519,17 @@ impl<'a> Generator<'a> {
fn gen_construct_widget(widget: &Widget, gtk_widget: &GtkWidget) -> TokenStream {
let struct_name = &widget.typ;

let mut parameters = vec![];
for (key, value) in gtk_widget.construct_properties.iter() {
let key = key.to_string().replace("_", "-");
let mut remover = Transformer::new(MODEL_IDENT);
let value = remover.fold_expr(value.clone());
parameters.push(quote_spanned! { struct_name.span() =>
(#key, &#value as &dyn ::gtk::glib::value::ToValue)
});
}

if widget.init_parameters.is_empty() {
let mut keys = Vec::new();
let mut values = Vec::new();
for (k, v) in &gtk_widget.construct_properties {
let k = k.to_string().replace("_", "-");
let mut remover = Transformer::new(MODEL_IDENT);
let v = remover.fold_expr(v.clone());
keys.push(k);
values.push(v);
}

quote_spanned!(struct_name.span() => {
if !gtk::is_initialized_main_thread() {
if gtk::is_initialized() {
Expand All @@ -539,9 +539,9 @@ fn gen_construct_widget(widget: &Widget, gtk_widget: &GtkWidget) -> TokenStream
panic!("GTK has not been initialized. Call `gtk::init` first.");
}
}
let parameters = [#(#parameters),*];
// TODO: switch to builders.
::gtk::glib::object::Object::new::<#struct_name>(&parameters)
::gtk::glib::object::Object::builder::<'_, #struct_name>()
#(.property(#keys, &#values))*
.build()
})
}
else {
Expand Down
10 changes: 5 additions & 5 deletions relm-examples/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ edition = "2018"

[dev-dependencies]
chrono = "0.4"
gdk = "^0.16.0"
glib = "^0.16.0"
gtk = "^0.16.0"
gtk-test = "^0.16.0"
gdk = "0.18"
glib = "0.18"
gtk = "0.18"
gtk-test = "0.18"
rand = "0.8.5"

[dev-dependencies.gio]
version = "^0.16.0"
version = "0.18"

[dev-dependencies.relm]
path = ".."
Expand Down
7 changes: 4 additions & 3 deletions relm-examples/examples/7gui/1_counter/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = "^0.16.0"
glib = "0.18"
gtk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."

Expand Down
3 changes: 2 additions & 1 deletion relm-examples/examples/7gui/1_counter/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use glib::Propagation;
use gtk::prelude::*;
use relm::Widget;
use relm_derive::{widget, Msg};
Expand Down Expand Up @@ -53,7 +54,7 @@ impl Widget for Win {
clicked => Msg::Increment
}
},
delete_event(_, _) => (Msg::Quit, Inhibit(false)),
delete_event(_, _) => (Msg::Quit, Propagation::Proceed),
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = "^0.16.0"
glib = "0.18"
gtk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use glib::Propagation;
use gtk::prelude::*;
use relm::{Relm, Widget};
use relm_derive::{widget, Msg};
Expand Down Expand Up @@ -85,7 +86,7 @@ impl Widget for Win {
let text = entry.text().to_string();
Msg::ChangedCelsius(text)

}, Inhibit(false)),
}, Propagation::Proceed),
text: &self.model.temp_celsius,
},
// The label only showing text.
Expand All @@ -107,15 +108,15 @@ impl Widget for Win {
let text = entry.text().to_string();
Msg::ChangedFahrenheit(text)

}, Inhibit(false)),
}, Propagation::Proceed),
text: &self.model.temp_fahrenheit,
},
// The label showing the text.
gtk::Label {
label: "Fahrenheit"
},
},
delete_event(_, _) => (Msg::Quit, Inhibit(false)),
delete_event(_, _) => (Msg::Quit, Propagation::Proceed),
}
}
}
Expand Down
9 changes: 5 additions & 4 deletions relm-examples/examples/7gui/3_flight_booker/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "0.16.0"
gtk = "^0.16.0"
glib = "0.18"
gtk = "0.18"
chrono = "0.4.19"
gdk = "^0.16.0"
gdk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."

Expand Down
3 changes: 2 additions & 1 deletion relm-examples/examples/7gui/3_flight_booker/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use std::convert::TryFrom;

use chrono::NaiveDate;
use glib::Propagation;
use gtk::prelude::*;
use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType};
use relm::Widget;
Expand Down Expand Up @@ -234,7 +235,7 @@ impl Widget for Win {
clicked => Msg::Book,
}
},
delete_event(_, _) => (Msg::Quit, Inhibit(false)),
delete_event(_, _) => (Msg::Quit, Propagation::Proceed),
}
}
}
Expand Down
7 changes: 4 additions & 3 deletions relm-examples/examples/7gui/4_progress_bar/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = "^0.16.0"
glib = "0.18"
gtk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."

Expand Down
3 changes: 2 additions & 1 deletion relm-examples/examples/7gui/4_progress_bar/src/main.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
use glib::Propagation;
use gtk::prelude::*;
use gtk::Adjustment;
use relm::{Relm, StreamHandle, Widget};
Expand Down Expand Up @@ -178,7 +179,7 @@ impl Widget for Win {
label: "Reset"
}
},
delete_event(_, _) => (Msg::Quit, Inhibit(false)),
delete_event(_, _) => (Msg::Quit, Propagation::Proceed),
}
}
}
Expand Down
7 changes: 4 additions & 3 deletions relm-examples/examples/7gui/5_crud/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,13 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = "^0.16.0"
glib = "0.18"
gtk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."

Expand Down
3 changes: 2 additions & 1 deletion relm-examples/examples/7gui/5_crud/src/gui/win.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::gui::person_list_box::{PersonListBox, PersonListBoxMsg};
use crate::model::Person;

use glib::Propagation;
use gtk::prelude::*;
use gtk::Orientation;
use relm::{Relm, StreamHandle, Widget};
Expand Down Expand Up @@ -132,7 +133,7 @@ impl Widget for Win {
},
}
},
delete_event(_, _) => (WinMsg::Quit, Inhibit(false)),
delete_event(_, _) => (WinMsg::Quit, Propagation::Proceed),
}
}
}
Expand Down
10 changes: 5 additions & 5 deletions relm-examples/examples/7gui/6_circle_drawer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = { version = "^0.16.0", features = ["v3_24"] }
gdk = "^0.16.0"
cairo-rs = "^0.16.0"
glib = "0.18"
gtk = { version = "0.18", features = ["v3_24"] }
gdk = "0.18"
cairo-rs = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ use crate::gui::window_resize::{WindowResize, WindowResizeMsg};
use crate::model::{Circle, CircleGroup};

use gdk::{EventButton, EventMotion};
use glib::Propagation;
use gtk::prelude::*;
use gtk::{DrawingArea, EventBox};
use relm::{connect, init, Component, DrawHandler, Relm, StreamHandle, Update, Widget};
Expand Down Expand Up @@ -206,7 +207,7 @@ impl Widget for CircleDrawing {
return (
// What to do when the signal occured.
Some(CircleDrawingMsg::UpdateDrawBuffer), // Sending a message.
Inhibit(false) // Do not inhibit, other widgets may also register that mouse press.
Propagation::Proceed // Do not inhibit, other widgets may also register that mouse press.
)
);

Expand All @@ -218,7 +219,7 @@ impl Widget for CircleDrawing {
return (
// What to do when the signal occured.
Some(CircleDrawingMsg::Clicked(event.clone())), // Sending a message.
Inhibit(false) // Do not inhibit, other widgets may also register that mouse press.
Propagation::Proceed // Do not inhibit, other widgets may also register that mouse press.
)
);

Expand All @@ -233,7 +234,7 @@ impl Widget for CircleDrawing {
connect_motion_notify_event(_, event),
return (
Some(CircleDrawingMsg::MouseMove(event.clone())),
Inhibit(false)
Propagation::Proceed
)
);

Expand Down
3 changes: 2 additions & 1 deletion relm-examples/examples/7gui/6_circle_drawer/src/gui/win.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::gui::circle_drawing::{CircleDrawing, CircleDrawingMsg};
use crate::model::{CircleGroup, History};

use glib::Propagation;
use gtk::prelude::*;
use gtk::Orientation;
use relm::{Relm, Widget};
Expand Down Expand Up @@ -73,7 +74,7 @@ impl Widget for Win {
vexpand: true
}
},
delete_event(_, _) => (WinMsg::Quit, Inhibit(false)),
delete_event(_, _) => (WinMsg::Quit, Propagation::Proceed),
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
use crate::gui::circle_drawing::CircleDrawingMsg;

use glib::Propagation;
use gtk::prelude::*;
use gtk::Adjustment;
use relm::{Relm, StreamHandle, Widget};
Expand Down Expand Up @@ -50,7 +51,7 @@ impl Widget for WindowResize {
WindowResizeMsg::ValueChanged(value)
}
},
delete_event(_, _) => (WindowResizeMsg::Quit, Inhibit(false)),
delete_event(_, _) => (WindowResizeMsg::Quit, Propagation::Proceed),
}
}
}
8 changes: 4 additions & 4 deletions relm-examples/examples/7gui/7_cells/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ authors = ["Julian Schmidhuber <[email protected]>"]
edition = "2018"

[dependencies]
glib = "^0.16.0"
gtk = { version = "^0.16.0", features = ["v3_24"] }
gdk = "^0.16.0"
glib = "0.18"
gtk = { version = "0.18", features = ["v3_24"] }
gdk = "0.18"

[dependencies.gio]
features = ["v2_58"]
version = "^0.16.0"
version = "0.18"

[dependencies.relm]
path = "../../../.."
Expand Down
Loading