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(); }
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 ; }
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; }
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) ; }