Beispiel #1
0
static void spinbn_set_value(GuiSpinBtn *spin, efloat value)
{
	GuiEntry *entry = GUI_ENTRY_DATA(spin->entry);
	echar buf[200], *p;
	eint  len;

	e_sprintf(buf, _("%f"), spin->value);
	p = e_strchr(buf, '.');
	if (spin->digits > 0)
		p[spin->digits + 1] = 0;
	else
		p[spin->digits] = 0;
	len = e_strlen(buf);

	if (value == spin->value
			&& len == entry->nchar
			&& !e_strncmp(buf, entry->chars, len))
		return;

	if (value < spin->min)
		spin->value = spin->max;
	else if (value > spin->max)
		spin->value = spin->min;
	else
		spin->value = value;

	e_sprintf(buf, _("%f"), spin->value);
	p = e_strchr(buf, '.');
	if (spin->digits > 0)
		p[spin->digits + 1] = 0;
	else
		p[spin->digits] = 0;

	egui_set_strings(spin->entry, buf);
}
Beispiel #2
0
static void spinbn_right_value(GuiSpinBtn *spin)
{
	GuiEntry *entry = GUI_ENTRY_DATA(spin->entry);
	echar buf[entry->nchar + 1];

	e_memcpy(buf, entry->chars, entry->nchar);
	buf[entry->nchar] = 0;

	spinbn_set_value(spin, e_atof(buf));
}
Beispiel #3
0
static void spinbn_right_value(GuiSpinBtn *spin)
{
	GuiEntry *entry = GUI_ENTRY_DATA(spin->entry);
#ifdef linux
	echar buf[entry->nchar + 1];
#else
	echar buf[1024];
#endif

	e_memcpy(buf, entry->chars, entry->nchar);
	buf[entry->nchar] = 0;

	spinbn_set_value(spin, (efloat)e_atof(buf));
}