1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| gdouble previous_value;
gdouble value;
gchar new_text;
value = g_strtod (gtk_entry_get_text ( GTK_ENTRY (widget) );
if (previous_value)
{
value += previous_value;
previous_value = null;
new_text = g_strdup_printf ("%f", value);
gtk_entry_set_text (GTK_ENTRY (widget), new_text);
/* don't free new_text, it's owned by the entry */
}
else
{
previous_value = value;
} |