gboolean escape_clear_focus_widget(ui::Widget widget, GdkEventKey *event, gpointer data)
{
if (event->keyval == GDK_KEY_Escape) {
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(widget))), NULL);
+ gtk_window_set_focus(widget.window(), NULL);
return TRUE;
}
return FALSE;
gboolean NonModalEntry::focus_out(ui::Entry entry, GdkEventFocus *event, NonModalEntry *self)
{
- if (self->m_editing && gtk_widget_get_visible(GTK_WIDGET(entry))) {
+ if (self->m_editing && gtk_widget_get_visible(entry)) {
self->m_apply();
}
self->m_editing = false;
gboolean NonModalEntry::enter(ui::Entry entry, GdkEventKey *event, NonModalEntry *self)
{
- if (event->keyval == GDK_Return) {
+ if (event->keyval == GDK_KEY_Return) {
self->m_apply();
self->m_editing = false;
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry))), NULL);
+ gtk_window_set_focus(entry.window(), NULL);
return TRUE;
}
return FALSE;
gboolean NonModalEntry::escape(ui::Entry entry, GdkEventKey *event, NonModalEntry *self)
{
- if (event->keyval == GDK_Escape) {
+ if (event->keyval == GDK_KEY_Escape) {
self->m_cancel();
self->m_editing = false;
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(entry))), NULL);
+ gtk_window_set_focus(entry.window(), NULL);
return TRUE;
}
return FALSE;
gboolean NonModalSpinner::enter(ui::SpinButton spin, GdkEventKey *event, NonModalSpinner *self)
{
- if (event->keyval == GDK_Return) {
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(spin))), NULL);
+ if (event->keyval == GDK_KEY_Return) {
+ gtk_window_set_focus(spin.window(), NULL);
return TRUE;
}
return FALSE;
gboolean NonModalSpinner::escape(ui::SpinButton spin, GdkEventKey *event, NonModalSpinner *self)
{
- if (event->keyval == GDK_Escape) {
+ if (event->keyval == GDK_KEY_Escape) {
self->m_cancel();
- gtk_window_set_focus(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(spin))), NULL);
+ gtk_window_set_focus(spin.window(), NULL);
return TRUE;
}
return FALSE;
void NonModalSpinner::connect(ui::SpinButton spin)
{
- auto adj = ui::Adjustment(gtk_spin_button_get_adjustment(spin));
+ auto adj = ui::Adjustment::from(gtk_spin_button_get_adjustment(spin));
guint handler = adj.connect("value_changed", G_CALLBACK(changed), this);
g_object_set_data(G_OBJECT(spin), "handler", gint_to_pointer(handler));
spin.connect("key_press_event", G_CALLBACK(enter), this);
{
GSList *group = gtk_radio_button_get_group(radio);
for (; group != 0; group = g_slist_next(group)) {
- toggle_button_connect_callback(ui::ToggleButton(GTK_TOGGLE_BUTTON(group->data)), m_changed);
+ toggle_button_connect_callback(ui::ToggleButton::from(group->data), m_changed);
}
}