Exemple #1
0
int w_clistbox_item_del (w_object_t *object, w_clistbox_item_t *item)
{
	int p;
	w_clistbox_t *lb;
	w_clistbox_item_t *active;
	lb = object->data[OBJECT_CLISTBOX];
	active = s_list_get(lb->items, lb->active);
	p = s_list_get_pos(lb->items, item);
	s_list_remove(lb->items, p);
	w_clistbox_item_uninit(item);
	if (lb->active == p) {
		active = s_list_get(lb->items, p);
		if (active == NULL) {
			active = s_list_get(lb->items, p - 1);
		} else {
			lb->pactive = -1;
		}
	}
	if (active == NULL) {
		lb->active = 0;
	} else {
		lb->active = s_list_get_pos(lb->items, active);
	}
	if (lb->active < 0) {
		lb->active = 0;
	}
	lb->dirty = 1;
	w_object_draw(object);
	return 0;
}
Exemple #2
0
int w_scrollbuffer_set_boxstyle (w_object_t *object, FRAME_SHAPE shape, FRAME_SHADOW shadow)
{
	w_scrollbuffer_t *sb;
	sb = object->data[OBJECT_SCROLLBUFFER];
	w_frame_set_style(sb->vertical->box->object, shape, shadow);
	w_object_draw(sb->vertical->box->object);
	return 0;
}
Exemple #3
0
int w_clistbox_set_item_height (w_object_t *object, int size)
{
	w_clistbox_t *lb;
	lb = object->data[OBJECT_CLISTBOX];
	lb->itemheight = size;
	w_object_draw(object);
	return 0;
}
Exemple #4
0
int w_clistbox_set_inactive_style (w_object_t *object, unsigned int shape, unsigned int shadow)
{
	w_clistbox_t *lb;
	lb = object->data[OBJECT_CLISTBOX];
	lb->inactiveshape = shape;
	lb->inactiveshadow = shadow;
	w_object_draw(object);
	return 0;
}
Exemple #5
0
int w_clistbox_item_active_set (w_object_t *object, w_clistbox_item_t *listbox_item)
{
	int active;
	w_clistbox_t *lb;
	lb = object->data[OBJECT_CLISTBOX];
	active = s_list_get_pos(lb->items, listbox_item);
	if (active < 0) {
		return -1;
	}
	lb->active = active;
	w_object_draw(object);
	return 0;
}
Exemple #6
0
int w_clistbox_set_active_style (w_object_t *object, unsigned int shape, unsigned int shadow)
{
	w_clistbox_t *lb;
	w_clistbox_item_t *li;
	lb = object->data[OBJECT_CLISTBOX];
	lb->activeshape = shape;
	lb->activeshadow = shadow;
	li = w_clistbox_item_active_get(object);
	if (li) {
		w_frame_set_style(li->frame->object, lb->activeshape, lb->activeshadow);
		w_object_draw(li->frame->object);
	}
	return 0;
}
Exemple #7
0
int w_clistbox_item_add (w_object_t *object, w_clistbox_item_t *item)
{
	w_clistbox_t *lb;
	w_clistbox_item_t *active;
	lb = object->data[OBJECT_CLISTBOX];
	active = s_list_get(lb->items, lb->active);
	s_list_add(lb->items, item, -1);
	if (active == NULL) {
		lb->active = 0;
	} else {
		lb->active = s_list_get_pos(lb->items, active);
	}
	lb->dirty = 1;
	w_object_draw(object);
	return 0;
}
Exemple #8
0
int w_clistbox_clear (w_object_t *object)
{
	w_clistbox_t *lb;
	w_clistbox_item_t *li;
	lb = object->data[OBJECT_CLISTBOX];
	while (!s_list_eol(lb->items, 0)) {
		li = s_list_get(lb->items, 0);
		s_list_remove(lb->items, 0);
		w_clistbox_item_uninit(li);
	}
	lb->dirty = 1;
	lb->height = 0;
	lb->yoffset = 0;
	lb->active = 0;
	lb->pactive = -1;
	w_object_draw(object);
	return 0;
}