コード例 #1
0
ファイル: settings.c プロジェクト: nightmorph/LogJam
static GtkWidget*
sw_make_sg(char *name, GtkSizeGroup *sg) {
    SettingsWidget *sw = sw_lookup(name);
    switch (sw->type) {
    case SW_TOGGLE:
        sw->widget = gtk_check_button_new_with_mnemonic(_(sw->caption));
        toggle_tie(sw);
        return sw->widget;
    case SW_RADIO:
        sw->widget = gtk_radio_button_new_with_mnemonic(NULL,
                     _(sw->caption));
        radio_tie(sw);
        return sw->widget;
    case SW_TEXT:
        sw->widget = gtk_entry_new();
        text_tie(sw);
        return labelled_box_new_sg(_(sw->caption), sw->widget, sg);
    case SW_INTEGER:
        sw->widget = gtk_entry_new();
        gtk_entry_set_width_chars(GTK_ENTRY(sw->widget), 4);
        integer_tie(sw);
        return labelled_box_new(_(sw->caption), sw->widget);
    case SW_SPIN_INTEGER:
    {
        gdouble default_value = *(gint*)sw->conf;
        GtkObject *adj = gtk_adjustment_new(default_value,
                                            /* client code should override these */
                                            G_MINDOUBLE, G_MAXDOUBLE, 1.0, 1.0, 0);
        sw->widget = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 1);
    }
    spin_integer_tie(sw);
    return labelled_box_new_expand(_(sw->caption), sw->widget, FALSE);
    case SW_COMBO:
        sw->widget = gtk_combo_new();
        combo_tie(sw);
        return labelled_box_new(_(sw->caption), sw->widget);
    case SW_COMMAND:
        return command_make(sw);
    case SW_CUSTOM:
        if (sw->caption && sw->widget)
            return labelled_box_new(_(sw->caption), sw->widget);
        break;
    default:
        break;
    }
    return NULL;
}
コード例 #2
0
ファイル: testlib.c プロジェクト: netguy204/gambit-game-lib
void command_async(Queue queue, CommandFunction function, void* data) {
  Command command = command_make(function, data);
  enqueue(queue, (DLLNode)command);
}