Example #1
0
void menu::erase_item(size_t index)
{
	size_t nb_items = items_.size();
	if (index >= nb_items)
		return;
	--nb_items;

	clear_item(nb_items);

	// fix ordered positions of items
	size_t pos = item_pos_[index];
	item_pos_.erase(item_pos_.begin() + index);
	items_.erase(items_.begin() + pos);
	for(size_t i = 0; i != nb_items; ++i) {
		size_t &n1 = item_pos_[i], &n2 = items_[i].id;
		if (n1 > pos) --n1;
		if (n2 > index) --n2;
	}
	assert_pos();

	if (selected_ >= nb_items)
		selected_ = nb_items - 1;

	update_scrollbar_grip_height();
	adjust_viewport_to_selection();
	itemRects_.clear();
	set_dirty();
}
Example #2
0
void iq_clear_unread(iq_t iq) {
    seqno_t i ;
    if (iq->hi >= maxi(iq)) {
	overflow(iq, iq->hi) ;
    }
    for (i=iq->read;i<=iq->hi;i++) {
	clear_item(iq, i) ;
    }
    iq->hi = iq->read ;
}
Example #3
0
void GUI::clear_screen(int32_t c_screen,int32_t c_selected) {
  for(int32_t n=0;n<screens_layout[c_screen].item_count;n++) {

    bool selected = false;
    if(n == c_selected) selected = true;

    clear_item(screens_layout[c_screen].items[n],selected);
  }
  varnum_size=0;
}
Example #4
0
void iq_set_lo(iq_t iq, seqno_t n) {
    seqno_t lo = iq->lo ;
    ofs_t i ;
    if (n <= lo) {
	return ;
    }
    if (n >= maxi(iq)) {
	overflow(iq, n) ;
    }
    for (i=lo;i<n;i++) {
	clear_item(iq, i) ;
    }
    iq->lo = n ;
    iq_set_hi(iq, n) ;
}