Skip to content
This repository has been archived by the owner on Jun 8, 2021. It is now read-only.

Commit

Permalink
Widget::get_events() / add_events() / set_events() should take a gdk:…
Browse files Browse the repository at this point in the history
…:EventMask

Fixes #704
  • Loading branch information
sdroege committed Sep 16, 2018
1 parent 7e2d2e5 commit 2884cc8
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 24 deletions.
9 changes: 9 additions & 0 deletions Gir.toml
Expand Up @@ -1868,6 +1868,15 @@ status = "generate"
name = "get_path"
[object.function.return]
nullable = false
[[object.function]]
name = "add_events"
ignore = true
[[object.function]]
name = "get_events"
ignore = true
[[object.function]]
name = "set_events"
ignore = true
[[object.signal]]
name = "button-press-event"
inhibit = true
Expand Down
42 changes: 18 additions & 24 deletions src/auto/widget.rs
Expand Up @@ -99,8 +99,6 @@ pub trait WidgetExt {

fn add_device_events<P: IsA<gdk::Device>>(&self, device: &P, events: gdk::EventMask);

fn add_events(&self, events: i32);

fn add_mnemonic_label<P: IsA<Widget>>(&self, label: &P);

//#[cfg(any(feature = "v3_8", feature = "dox"))]
Expand Down Expand Up @@ -233,8 +231,6 @@ pub trait WidgetExt {

fn get_double_buffered(&self) -> bool;

fn get_events(&self) -> i32;

#[cfg(any(feature = "v3_20", feature = "dox"))]
fn get_focus_on_click(&self) -> bool;

Expand Down Expand Up @@ -502,8 +498,6 @@ pub trait WidgetExt {
#[cfg_attr(feature = "v3_14", deprecated)]
fn set_double_buffered(&self, double_buffered: bool);

fn set_events(&self, events: i32);

#[cfg(any(feature = "v3_20", feature = "dox"))]
fn set_focus_on_click(&self, focus_on_click: bool);

Expand Down Expand Up @@ -620,6 +614,10 @@ pub trait WidgetExt {

fn get_property_composite_child(&self) -> bool;

fn get_property_events(&self) -> gdk::EventMask;

fn set_property_events(&self, events: gdk::EventMask);

fn get_property_expand(&self) -> bool;

fn set_property_expand(&self, expand: bool);
Expand Down Expand Up @@ -895,12 +893,6 @@ impl<O: IsA<Widget> + IsA<glib::object::Object> + glib::object::ObjectExt> Widge
}
}

fn add_events(&self, events: i32) {
unsafe {
ffi::gtk_widget_add_events(self.to_glib_none().0, events);
}
}

fn add_mnemonic_label<P: IsA<Widget>>(&self, label: &P) {
unsafe {
ffi::gtk_widget_add_mnemonic_label(self.to_glib_none().0, label.to_glib_none().0);
Expand Down Expand Up @@ -1284,12 +1276,6 @@ impl<O: IsA<Widget> + IsA<glib::object::Object> + glib::object::ObjectExt> Widge
}
}

fn get_events(&self) -> i32 {
unsafe {
ffi::gtk_widget_get_events(self.to_glib_none().0)
}
}

#[cfg(any(feature = "v3_20", feature = "dox"))]
fn get_focus_on_click(&self) -> bool {
unsafe {
Expand Down Expand Up @@ -2052,12 +2038,6 @@ impl<O: IsA<Widget> + IsA<glib::object::Object> + glib::object::ObjectExt> Widge
}
}

fn set_events(&self, events: i32) {
unsafe {
ffi::gtk_widget_set_events(self.to_glib_none().0, events);
}
}

#[cfg(any(feature = "v3_20", feature = "dox"))]
fn set_focus_on_click(&self, focus_on_click: bool) {
unsafe {
Expand Down Expand Up @@ -2398,6 +2378,20 @@ impl<O: IsA<Widget> + IsA<glib::object::Object> + glib::object::ObjectExt> Widge
}
}

fn get_property_events(&self) -> gdk::EventMask {
unsafe {
let mut value = Value::from_type(<gdk::EventMask as StaticType>::static_type());
gobject_ffi::g_object_get_property(self.to_glib_none().0, "events".to_glib_none().0, value.to_glib_none_mut().0);
value.get().unwrap()
}
}

fn set_property_events(&self, events: gdk::EventMask) {
unsafe {
gobject_ffi::g_object_set_property(self.to_glib_none().0, "events".to_glib_none().0, Value::from(&events).to_glib_none().0);
}
}

fn get_property_expand(&self) -> bool {
unsafe {
let mut value = Value::from_type(<bool as StaticType>::static_type());
Expand Down
22 changes: 22 additions & 0 deletions src/widget.rs
Expand Up @@ -48,6 +48,10 @@ pub trait WidgetExtManual {
fn connect_map_event<F: Fn(&Self, &Event) -> Inhibit + 'static>(&self, f: F) -> SignalHandlerId;

fn connect_unmap_event<F: Fn(&Self, &Event) -> Inhibit + 'static>(&self, f: F) -> SignalHandlerId;

fn add_events(&self, events: gdk::EventMask);
fn get_events(&self) -> gdk::EventMask;
fn set_events(&self, events: gdk::EventMask);
}

impl<O: IsA<Widget> + IsA<Object>> WidgetExtManual for O {
Expand Down Expand Up @@ -149,6 +153,24 @@ impl<O: IsA<Widget> + IsA<Object>> WidgetExtManual for O {
transmute(event_any_trampoline::<Self> as usize), Box::into_raw(f) as *mut _)
}
}

fn add_events(&self, events: gdk::EventMask) {
unsafe {
ffi::gtk_widget_add_events(self.to_glib_none().0, events.to_glib());
}
}

fn get_events(&self) -> gdk::EventMask {
unsafe {
from_glib(ffi::gtk_widget_get_events(self.to_glib_none().0))
}
}

fn set_events(&self, events: gdk::EventMask) {
unsafe {
ffi::gtk_widget_set_events(self.to_glib_none().0, events.to_glib());
}
}
}

unsafe extern "C" fn event_any_trampoline<T>(this: *mut ffi::GtkWidget,
Expand Down

0 comments on commit 2884cc8

Please sign in to comment.