static int glw_slider_bind_id(glw_t *w, const char *id) { glw_slider_t *s = (glw_slider_t *)w; slider_unbind(s); slider_bind_by_id(s, id); return 1; }
static void glw_slider_set(glw_t *w, va_list ap) { glw_slider_t *s = (glw_slider_t *)w; glw_attribute_t attrib; const char *n; do { attrib = va_arg(ap, int); switch(attrib) { case GLW_ATTRIB_BIND_TO_ID: slider_unbind(s); n = va_arg(ap, const char *); slider_bind_by_id(s, n); break; case GLW_ATTRIB_INT_MIN: s->min = va_arg(ap, double); s->step_i = s->step / (s->max - s->min); break; case GLW_ATTRIB_INT_MAX: s->max = va_arg(ap, double); s->step_i = s->step / (s->max - s->min); break; case GLW_ATTRIB_INT_STEP: s->step = va_arg(ap, double); s->step_i = s->step / (s->max - s->min); break; default: GLW_ATTRIB_CHEW(attrib, ap); break; } } while(attrib); }