gchar* on_tab_ruler_format_value(GtkScale *scale, gdouble value, I7App *app) { if(value) return g_strdup_printf(ngettext("1 space", "%.*f spaces", value), gtk_scale_get_digits(scale), value); return g_strdup("default"); }
void widget_hscale_save(variable *var) { FILE *outfile; GList *element; gchar *act; gchar *filename = NULL; gdouble value; guint digits; #ifdef DEBUG_TRANSITS fprintf(stderr, "%s(): Entering.\n", __func__); #endif /* We'll use the output file filename if available */ act = attributeset_get_first(&element, var->Attributes, ATTR_OUTPUT); while (act) { if (strncasecmp(act, "file:", 5) == 0 && strlen(act) > 5) { filename = act + 5; break; } act = attributeset_get_next(&element, var->Attributes, ATTR_OUTPUT); } /* If we have a valid filename then open it and dump the * widget's data to it */ if (filename) { if ((outfile = fopen(filename, "w"))) { digits = gtk_scale_get_digits(GTK_SCALE(var->Widget)); value = gtk_range_get_value(GTK_RANGE(var->Widget)); switch (digits) { case 0: fprintf(outfile, "%.0f", value); break; case 1: fprintf(outfile, "%.1f", value); break; case 2: fprintf(outfile, "%.2f", value); break; case 3: fprintf(outfile, "%.3f", value); break; case 4: fprintf(outfile, "%.4f", value); break; case 5: fprintf(outfile, "%.5f", value); break; case 6: fprintf(outfile, "%.6f", value); break; case 7: fprintf(outfile, "%.7f", value); break; case 8: fprintf(outfile, "%.8f", value); break; case 9: fprintf(outfile, "%.9f", value); break; case 10: fprintf(outfile, "%.10f", value); break; case 11: fprintf(outfile, "%.11f", value); break; case 12: fprintf(outfile, "%.12f", value); break; case 13: fprintf(outfile, "%.13f", value); break; case 14: fprintf(outfile, "%.14f", value); break; case 15: fprintf(outfile, "%.15f", value); break; case 16: fprintf(outfile, "%.16f", value); break; /* Is there much point going beyond 16? */ default: fprintf(outfile, "%f", value); break; } fclose(outfile); } else { fprintf(stderr, "%s(): Couldn't open '%s' for writing.\n", __func__, filename); } } else { fprintf(stderr, "%s(): No <output file> directive found.\n", __func__); } #ifdef DEBUG_TRANSITS fprintf(stderr, "%s(): Exiting.\n", __func__); #endif }
gchar *widget_hscale_envvar_construct(GtkWidget *widget) { gchar *string; gchar value[32]; gdouble val; gint digits; #ifdef DEBUG_TRANSITS fprintf(stderr, "%s(): Entering.\n", __func__); #endif digits = gtk_scale_get_digits(GTK_SCALE(widget)); val = gtk_range_get_value(GTK_RANGE(widget)); switch (digits) { case 0: sprintf(value, "%.0f", val); break; case 1: sprintf(value, "%.1f", val); break; case 2: sprintf(value, "%.2f", val); break; case 3: sprintf(value, "%.3f", val); break; case 4: sprintf(value, "%.4f", val); break; case 5: sprintf(value, "%.5f", val); break; case 6: sprintf(value, "%.6f", val); break; case 7: sprintf(value, "%.7f", val); break; case 8: sprintf(value, "%.8f", val); break; case 9: sprintf(value, "%.9f", val); break; case 10: sprintf(value, "%.10f", val); break; case 11: sprintf(value, "%.11f", val); break; case 12: sprintf(value, "%.12f", val); break; case 13: sprintf(value, "%.13f", val); break; case 14: sprintf(value, "%.14f", val); break; case 15: sprintf(value, "%.15f", val); break; case 16: sprintf(value, "%.16f", val); break; /* Is there much point going beyond 16? */ default: sprintf(value, "%f", val); break; } string = g_strdup(value); #ifdef DEBUG_TRANSITS fprintf(stderr, "%s(): Exiting.\n", __func__); #endif return string; }
/** * Callback to format the hscale widgets value */ gchar* on_hscale_tax_format_value(GtkScale *scale, gdouble value) { return g_strdup_printf("%0.*f%%", gtk_scale_get_digits(scale), rint(value)); }
static gchar* threshold_value_format_cb(GtkScale *scale, gdouble value) { return g_strdup_printf ("%.*f%%", gtk_scale_get_digits(scale), value); }
int Scale::getDigits() { return gtk_scale_get_digits(GTK_SCALE(widget)); }
static gchar* slider_fps_cb (GtkScale* scale, gdouble value, GstElement* pipeline) { //change the video frame rate dynamically return g_strdup_printf ("video framerate: %0.*g", gtk_scale_get_digits (scale), value); }
GValue* ghb_widget_value(GtkWidget *widget) { GValue *value = NULL; const gchar *name; GType type; if (widget == NULL) { g_debug("NULL widget\n"); return NULL; } type = G_OBJECT_TYPE(widget); name = ghb_get_setting_key(widget); g_debug("ghb_widget_value widget (%s)\n", name); if (type == GTK_TYPE_ENTRY) { const gchar *str = gtk_entry_get_text(GTK_ENTRY(widget)); value = ghb_string_value_new(str); } else if (type == GTK_TYPE_RADIO_BUTTON) { g_debug("\tradio_button"); gboolean bval; bval = gtk_toggle_button_get_inconsistent(GTK_TOGGLE_BUTTON(widget)); if (bval) { value = ghb_boolean_value_new(FALSE); } else { bval = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); value = ghb_boolean_value_new(bval); } } else if (type == GTK_TYPE_CHECK_BUTTON) { g_debug("\tcheck_button"); gboolean bval; bval = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); value = ghb_boolean_value_new(bval); } else if (type == GTK_TYPE_TOGGLE_TOOL_BUTTON) { g_debug("\ttoggle_tool_button"); gboolean bval; bval = gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(widget)); value = ghb_boolean_value_new(bval); } else if (type == GTK_TYPE_TOGGLE_BUTTON) { g_debug("\ttoggle_button"); gboolean bval; bval = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); value = ghb_boolean_value_new(bval); } else if (type == GTK_TYPE_CHECK_MENU_ITEM) { g_debug("\tcheck_menu_item"); gboolean bval; bval = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(widget)); value = ghb_boolean_value_new(bval); } else if (type == GTK_TYPE_COMBO_BOX) { g_debug("\tcombo_box"); GtkTreeModel *store; GtkTreeIter iter; gchar *shortOpt; store = gtk_combo_box_get_model(GTK_COMBO_BOX(widget)); if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(widget), &iter)) { gtk_tree_model_get(store, &iter, 2, &shortOpt, -1); value = ghb_string_value_new(shortOpt); g_free(shortOpt); } else if (gtk_combo_box_get_has_entry(GTK_COMBO_BOX(widget))) { const gchar *str; str = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(widget)))); if (str == NULL) str = ""; value = ghb_string_value_new(str); } else { value = ghb_string_value_new(""); } } else if (type == GTK_TYPE_SPIN_BUTTON) { gint ival; ival = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); value = ghb_int64_value_new(ival); } else if (type == GTK_TYPE_SCALE) { gdouble dval; gint digits; digits = gtk_scale_get_digits(GTK_SCALE(widget)); dval = gtk_range_get_value(GTK_RANGE(widget)); if (digits) { value = ghb_double_value_new(dval); } else { value = ghb_int_value_new(dval); } } else if (type == GTK_TYPE_SCALE_BUTTON) { gdouble dval; dval = gtk_scale_button_get_value(GTK_SCALE_BUTTON(widget)); value = ghb_double_value_new(dval); } else if (type == GTK_TYPE_TEXT_VIEW) { GtkTextBuffer *buffer; GtkTextIter start, end; gchar *str; buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(widget)); gtk_text_buffer_get_bounds(buffer, &start, &end); str = gtk_text_buffer_get_text(buffer, &start, &end, FALSE); value = ghb_string_value_new(str); g_free(str); } else if (type == GTK_TYPE_LABEL) { const gchar *str; str = gtk_label_get_text (GTK_LABEL(widget)); value = ghb_string_value_new(str); } else if (type == GTK_TYPE_FILE_CHOOSER_BUTTON) { gchar *str = NULL; str = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(widget)); if (str == NULL) { str = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(widget)); } value = ghb_string_value_new(str); if (str != NULL) g_free(str); } else { g_debug("Attempt to set unknown widget type: %s\n", name); g_free(value); value = NULL; } return value; }