Ejemplo n.º 1
0
/*
 * A variant of gtk_window_activate_default that does not end up reactivating
 * the widget that [Enter] was pressed in.
 */
static void
cb_activate_default (GtkWindow *window)
{
	GtkWidget *w = gtk_window_get_default_widget (window);
	if (w && gtk_widget_is_sensitive (w))
		gtk_widget_activate (w);
}
Ejemplo n.º 2
0
static void
fix_focus_cb (GtkDialog *dialog, gpointer data)
{
        GtkWidget *button;

        button = gtk_window_get_default_widget (GTK_WINDOW (dialog));
        gtk_widget_grab_focus (button);
}
Ejemplo n.º 3
0
static gboolean
aoview_eeprom_parse(struct aoview_serial *serial,
		    char *line)
{
	char		cmd;
	int		tick;
	int		a;
	int		b;
	int		serial_number;
	const char	*name;
	char		*utf8_name;

	if (!strcmp(line, "end")) {
		aoview_eeprom_done(serial);
		return FALSE;
	}
	if (sscanf(line, "serial-number %u", &serial_number) == 1) {
		aoview_file_set_serial(eeprom_file, serial_number);
	} else if (sscanf(line, "%c %x %x %x", &cmd, &tick, &a, &b) == 4) {
		if (cmd == 'F')
			aoview_file_set_flight(eeprom_file, b);
		aoview_file_printf(eeprom_file, "%s\n", line);
		if (cmd == 'S' && a == 8) {
			aoview_eeprom_done(serial);
			return FALSE;
		}

		if (!eeprom_save_shown)
		{
			name = aoview_file_name(eeprom_file);
			if (name) {
				utf8_name = g_filename_to_utf8(name, -1, NULL, NULL, NULL);
				if (!utf8_name)
					utf8_name = (char *) name;
				gtk_widget_set_sensitive(eeprom_save_close, FALSE);
				gtk_window_set_title(GTK_WINDOW(eeprom_save_done),
						     "Saving EEPROM data");
				gtk_message_dialog_set_markup(eeprom_save_done,
							      "<b>Saving EEPROM data as</b>");
				gtk_message_dialog_format_secondary_text(eeprom_save_done, "%s",
									 utf8_name);
				if (utf8_name != name)
					g_free(utf8_name);
				gtk_container_check_resize(GTK_CONTAINER(eeprom_save_done));
				gtk_widget_show(GTK_WIDGET(eeprom_save_done));
				eeprom_save_shown = TRUE;
				eeprom_save_close = gtk_window_get_default_widget(GTK_WINDOW(eeprom_save_done));
				if (eeprom_save_close)
					gtk_widget_set_sensitive(eeprom_save_close, FALSE);
			}
		}
	}
	return TRUE;
}
Ejemplo n.º 4
0
static void
aoview_eeprom_done(struct aoview_serial *serial)
{
	gtk_window_set_title(GTK_WINDOW(eeprom_save_done),
			     "EEPROM data saved");
	gtk_message_dialog_set_markup(eeprom_save_done,
				      "<b>EEPROM data saved as</b>");
	if (!eeprom_save_shown)
		gtk_widget_show(GTK_WIDGET(eeprom_save_done));
	eeprom_save_close = gtk_window_get_default_widget(GTK_WINDOW(eeprom_save_done));
	if (eeprom_save_close)
		gtk_widget_set_sensitive(eeprom_save_close, TRUE);
	aoview_eeprom_disconnect(serial);
}
Ejemplo n.º 5
0
void wxSpinCtrlGTKBase::OnChar( wxKeyEvent &event )
{
    wxCHECK_RET( m_widget != NULL, wxT("invalid spin ctrl") );

    if (event.GetKeyCode() == WXK_RETURN)
    {
        wxWindow *top_frame = wxGetTopLevelParent(m_parent);

        if ( GTK_IS_WINDOW(top_frame->m_widget) )
        {
            GtkWindow *window = GTK_WINDOW(top_frame->m_widget);
            if ( window )
            {
                GtkWidget* widgetDef = gtk_window_get_default_widget(window);

                if ( widgetDef )
                {
                    gtk_widget_activate(widgetDef);
                    return;
                }
            }
        }
    }

    if ((event.GetKeyCode() == WXK_RETURN) && (m_windowStyle & wxTE_PROCESS_ENTER))
    {
        wxCommandEvent evt( wxEVT_COMMAND_TEXT_ENTER, m_windowId );
        evt.SetEventObject(this);
        GtkSpinButton *gsb = GTK_SPIN_BUTTON(m_widget);
        wxString val = wxGTK_CONV_BACK( gtk_entry_get_text( &gsb->entry ) );
        evt.SetString( val );
        if (HandleWindowEvent(evt)) return;
    }

    event.Skip();
}