diff --git a/Cargo.toml b/Cargo.toml index b49cf4c9..61ae2c24 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,14 +12,19 @@ version = "0.24.1" edition = "2018" [dependencies] -cairo-rs = "0.16.1" +cairo-rs = "0.18.5" fragile = "2.0" -glib = "0.16.2" -glib-sys = "0.16.0" -gobject-sys = "0.16.0" -gtk = "0.16.1" +gio = "0.18.4" +glib = "0.18.5" +glib-sys = "0.18.1" +gobject-sys = "0.18.0" +gtk = "0.18.2" libc = "^0.2.54" log = "^0.4.6" +target-lexicon = "0.13.3" + +[dev-dependencies] +relm-derive = { path = "./relm-derive" } [features] hidpi = [] diff --git a/relm-derive/Cargo.toml b/relm-derive/Cargo.toml index d5e9dc87..505a1b16 100644 --- a/relm-derive/Cargo.toml +++ b/relm-derive/Cargo.toml @@ -22,6 +22,6 @@ features = ["extra-traits", "fold", "full", "visit"] version = "^1.0" [dev-dependencies] -gtk = "0.16.1" +gtk = "0.18.2" relm = { path = ".." } trybuild = "1.0.42" diff --git a/src/container.rs b/src/container.rs index a800a66f..5aed87a9 100644 --- a/src/container.rs +++ b/src/container.rs @@ -19,7 +19,8 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -use glib::{Cast, IsA, Object}; +use glib::Object; +use glib::prelude::{Cast, IsA}; use gtk::{prelude::ContainerExt, prelude::WidgetExt}; use crate::state::EventStream; diff --git a/src/core/source.rs b/src/core/source.rs index 13faec93..3f6b1d35 100644 --- a/src/core/source.rs +++ b/src/core/source.rs @@ -19,7 +19,7 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -use std::mem; +use std::mem::{self, size_of}; use std::os::raw::c_int; use std::ptr; @@ -51,7 +51,7 @@ pub fn new_source(data: T) -> Source { funcs.dispatch = Some(dispatch::); funcs.finalize = Some(finalize::); let mut funcs = Box::new(funcs); - let source = g_source_new(&mut *funcs, mem::size_of::>() as u32); + let source = g_source_new(&mut *funcs, size_of::>() as u32); ptr::write(&mut (*(source as *mut SourceData)).data, data); ptr::write(&mut (*(source as *mut SourceData)).funcs, funcs); from_glib_full(source) diff --git a/src/drawing.rs b/src/drawing.rs index 299fd91b..a603ef11 100644 --- a/src/drawing.rs +++ b/src/drawing.rs @@ -13,10 +13,8 @@ use cairo::{ Format, ImageSurface, }; -use gtk::{ - Inhibit, - prelude::WidgetExt, -}; +use glib::Propagation; +use gtk::prelude::WidgetExt; #[derive(Clone)] struct Surface { @@ -138,7 +136,7 @@ impl DrawHandler { eprintln!("Cannot paint: {:?}", error); } - Inhibit(false) + Propagation::Proceed }); } } diff --git a/src/lib.rs b/src/lib.rs index 5e2997be..af497ba4 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -108,19 +108,16 @@ mod widget; pub use fragile::Fragile; #[doc(hidden)] -pub use glib::{ - Cast, - IsA, - Object, - StaticType, - ToValue, - Value, -}; +pub use glib::Object; +#[doc(hidden)] +pub use glib::Value; +#[doc(hidden)] +pub use glib::prelude::{Cast, IsA, StaticType, ToValue}; #[doc(hidden)] pub use glib::translate::{FromGlibPtrNone, IntoGlib, ToGlibPtr}; #[doc(hidden)] pub use gobject_sys::{GParameter, g_object_newv}; -use glib::Continue; +use glib::ControlFlow; pub use crate::core::{Channel, EventStream, Sender, StreamHandle}; pub use crate::state::{ @@ -239,8 +236,13 @@ type InitTestComponents = (Component, ::St /// # } /// # /// # impl WidgetTest for Win { +/// # type Streams = (); /// # type Widgets = Win; /// # +/// # fn get_streams(&self) -> Self::Streams { +/// # () +/// # } +/// # /// # fn get_widgets(&self) -> Self::Widgets { /// # self.clone() /// # } @@ -356,7 +358,7 @@ pub fn interval MSG + 'static, MSG: 'static>(stream: &StreamHandle MSG + 'static, MSG: 'static>(stream: &StreamHandle