Пример #1
0
static void
gwy_enum_combo_box_set_model(GtkComboBox *combo,
                             GwyEnum *newenum)
{

    GwyEnum *oldenum;
    gint active = -1;

    oldenum = g_object_get_qdata(G_OBJECT(combo), enum_quark);
    if (oldenum) {
        active = gwy_enum_combo_box_get_active(combo);
        gwy_enum_freev(oldenum);
        g_object_set_qdata(G_OBJECT(combo), enum_quark, NULL);
    }

    if (newenum) {
        GwyInventoryStore *store;
        GwyInventory *inventory;

        inventory = gwy_enum_inventory_new(newenum, -1);
        store = gwy_inventory_store_new(inventory);
        g_object_unref(inventory);
        gtk_combo_box_set_model(combo, GTK_TREE_MODEL(store));
        g_object_unref(store);
        g_object_set_qdata(G_OBJECT(combo), enum_quark, newenum);

        if (!oldenum
            || !gwy_enum_combo_box_try_set_active(combo, active))
            gtk_combo_box_set_active(combo, 0);
    }
    else
        gtk_combo_box_set_model(combo, NULL);
}
Пример #2
0
static void
prof_interpolation_changed(GtkComboBox *combo,
                           ProfControls *controls)
{
    controls->args->interpolation = gwy_enum_combo_box_get_active(combo);
    prof_selection_changed(controls, -1);
}
Пример #3
0
static void
interp_changed_cb(GtkWidget *combo,
                  RotateControls *controls)
{
    controls->args->interp
        = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
}
Пример #4
0
static void
logical_op_changed(GtkComboBox *combo, GFilterControls *controls)
{
    guint i;
    GrainLogical logical;

    logical = gwy_enum_combo_box_get_active(combo);
    controls->args->logical = logical;

    for (i = 0; i < NQUANTITIES; i++) {
        gboolean sens = (logical >= logical_limits[i]);

        gtk_widget_set_sensitive(controls->set_as[i], sens);
        gtk_widget_set_sensitive(controls->header[i], sens);
        gtk_widget_set_sensitive(controls->lower_label[i], sens);
        gtk_widget_set_sensitive(controls->lower_scale[i], sens);
        gtk_widget_set_sensitive(controls->lower_entry[i], sens);
        gtk_widget_set_sensitive(controls->lower_units[i], sens);
        gtk_widget_set_sensitive(controls->upper_label[i], sens);
        gtk_widget_set_sensitive(controls->upper_scale[i], sens);
        gtk_widget_set_sensitive(controls->upper_entry[i], sens);
        gtk_widget_set_sensitive(controls->upper_units[i], sens);
    }
    gfilter_invalidate(controls);
}
Пример #5
0
static void
distribution_type_selected(GtkComboBox *combo,
                           NoiseSynthControls *controls)
{
    controls->args->distribution = gwy_enum_combo_box_get_active(combo);
    noise_synth_invalidate(controls);
}
Пример #6
0
static void
merge_direction_changed(GtkWidget *combo, MergeControls *controls)
{
    MergeArgs *args = controls->args;
    args->direction = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    gwy_data_chooser_refilter(GWY_DATA_CHOOSER(controls->op2));
}
Пример #7
0
static void
merge_mode_changed(GtkWidget *combo, MergeControls *controls)
{
    MergeArgs *args = controls->args;
    args->mode = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    gwy_data_chooser_refilter(GWY_DATA_CHOOSER(controls->op2));
    update_sensitivity(controls);
}
Пример #8
0
static void
unrotate_interp_cb(GtkWidget *combo,
                   UnrotateControls *controls)
{
    controls->args->interp
        = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    unrotate_dialog_update(controls, controls->args);
}
Пример #9
0
static void
maskcor_operation_changed(GtkWidget *combo, MaskcorControls *controls)
{
    controls->args->result
        = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    gwy_table_hscale_set_sensitive(controls->threshold,
                                   controls->args->result != GWY_MASKCOR_SCORE);
}
Пример #10
0
static void
thresh_changed(G_GNUC_UNUSED gpointer object,
               TipBlindControls *controls)
{
    gdouble val;
    gint p10;

    val = gtk_adjustment_get_value(GTK_ADJUSTMENT(controls->threshold));
    p10 = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(controls->threshold_unit));
    controls->args->thresh = val * pow10(p10);
}
Пример #11
0
static void
radius_changed_cb(G_GNUC_UNUSED gpointer object,
                  TipModelControls *controls)
{
    gint p10;
    gdouble val;

    p10 = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(controls->radius_unit));
    val = gtk_adjustment_get_value(GTK_ADJUSTMENT(controls->radius));
    controls->args->radius = val * pow10(p10);
}
Пример #12
0
static void
zuexponent_changed_cb(GtkWidget *combo,
                      CNewControls *controls)
{
    CNewArgs *args = controls->args;

    if (controls->in_update)
        return;

    controls->in_update = TRUE;
    args->zuexponent = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    args->zunc = gtk_adjustment_get_value(GTK_ADJUSTMENT(controls->zunc))
                  * pow10(args->zuexponent);

    cnew_dialog_update(controls, args);
    controls->in_update = FALSE;
}
Пример #13
0
static void
combine_type_changed(GtkComboBox *combo, FacetsControls *controls)
{
    controls->args->combine_type = gwy_enum_combo_box_get_active(combo);
}
Пример #14
0
static void
merge_boundary_changed(GtkWidget *combo, MergeControls *controls)
{
    MergeArgs *args = controls->args;
    args->boundary = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
}
Пример #15
0
static void
tip_type_cb(GtkWidget *combo, TipModelControls *controls)
{
    controls->args->type = gwy_enum_combo_box_get_active(GTK_COMBO_BOX(combo));
    tip_model_dialog_update_controls(controls, controls->args);
}
Пример #16
0
static void
windowing_changed(PSDFLPControls *controls, GtkComboBox *combo)
{
    controls->args->window = gwy_enum_combo_box_get_active(combo);
}