void erase(iterator pos) { if (pos != end()) { doErase(pos); } }
void Eraser::mousePressed(QGraphicsSceneMouseEvent *event) { if (!brushItem()->isVisible()) return; if (event->button() == Qt::LeftButton) { mErasing = true; doErase(false); } }
size_type erase(const key_type& key) { const iterator pos = find(key); if (pos != end()) { doErase(pos); return 1; } else { return 0; } }
void testRandom(size_t numSteps = 10000) { describePlatform(); auto target = folly::make_unique<T>(); std::vector<bool> valid; for (size_t step = 0; step < numSteps; ++step) { auto pct = folly::Random::rand32(100); auto v = folly::Random::rand32(uint32_t{3} << folly::Random::rand32(14)); if (pct < 5) { doClear(*target, valid); } else if (pct < 30) { T copy; folly::resizeWithoutInitialization(copy, target->size()); for (size_t i = 0; i < copy.size(); ++i) { if (valid[i]) { copy[i] = target->at(i); } } if (pct < 10) { std::swap(copy, *target); } else if (pct < 15) { *target = std::move(copy); } else if (pct < 20) { *target = copy; } else if (pct < 25) { target = folly::make_unique<T>(std::move(copy)); } else { target = folly::make_unique<T>(copy); } } else if (pct < 35) { target->reserve(v); } else if (pct < 40) { target->shrink_to_fit(); } else if (pct < 45) { doResize(*target, valid, v); } else if (pct < 50) { doInsert(*target, valid, v % (target->size() + 1)); } else if (pct < 55) { if (!target->empty()) { doErase(*target, valid, v % target->size()); } } else if (pct < 60) { doPushBack(*target, valid); } else if (pct < 65) { target = folly::make_unique<T>(); valid.clear(); } else if (pct < 80) { auto v2 = folly::Random::rand32(uint32_t{3} << folly::Random::rand32(14)); doOverwrite(*target, valid, std::min(v, v2), std::max(v, v2)); } else { doResizeWithoutInit(*target, valid, v); } // don't check every time in implementation does lazy work if (folly::Random::rand32(100) < 50) { check(*target); } } }
void Eraser::tilePositionChanged(const QPoint &tilePos) { brushItem()->setTileRegion(QRect(tilePos, QSize(1,1))); if (mErasing) doErase(true); }
HistoryDlg::HistoryDlg(const Jid &jid, PsiAccount *pa) { setAttribute(Qt::WA_DeleteOnClose); d = new Private; d->pa = pa; d->jid = jid; d->pa->dialogRegister(this, d->jid); d->exp = 0; setWindowTitle(d->jid.full()); #ifndef Q_WS_MAC setWindowIcon(IconsetFactory::icon("psi/history").icon()); #endif d->h = new EDBHandle(d->pa->edb()); connect(d->h, SIGNAL(finished()), SLOT(edb_finished())); QVBoxLayout *vb1 = new QVBoxLayout(this); d->lv = new HistoryView(this); d->lv->setVScrollBarMode(Q3ScrollView::AlwaysOn); connect(d->lv, SIGNAL(aOpenEvent(PsiEvent *)), SLOT(actionOpenEvent(PsiEvent *))); QSizePolicy sp = d->lv->sizePolicy(); sp.setVerticalStretch(1); d->lv->setSizePolicy(sp); vb1->addWidget(d->lv); QHBoxLayout *hb1 = new QHBoxLayout; vb1->addLayout(hb1); QVBoxLayout *vb2 = new QVBoxLayout; hb1->addLayout(vb2); QHBoxLayout *hb2 = new QHBoxLayout; vb2->addLayout(hb2); //d->busy = new BusyWidget(this); //hb1->addWidget(d->busy); d->pb_refresh = new QPushButton(tr("&Latest"), this); d->pb_refresh->setMinimumWidth(80); connect(d->pb_refresh, SIGNAL(clicked()), SLOT(doLatest())); hb2->addWidget(d->pb_refresh); d->pb_prev = new QPushButton(tr("&Previous"), this); d->pb_prev->setMinimumWidth(80); connect(d->pb_prev, SIGNAL(clicked()), SLOT(doPrev())); hb2->addWidget(d->pb_prev); d->pb_next = new QPushButton(tr("&Next"), this); d->pb_next->setMinimumWidth(80); connect(d->pb_next, SIGNAL(clicked()), SLOT(doNext())); hb2->addWidget(d->pb_next); QHBoxLayout *hb3 = new QHBoxLayout; vb2->addLayout(hb3); d->le_find = new QLineEdit(this); connect(d->le_find, SIGNAL(textChanged(const QString &)), SLOT(le_textChanged(const QString &))); connect(d->le_find, SIGNAL(returnPressed()), SLOT(doFind())); hb3->addWidget(d->le_find); d->pb_find = new QPushButton(tr("Find"), this); connect(d->pb_find, SIGNAL(clicked()), SLOT(doFind())); d->pb_find->setEnabled(false); hb3->addWidget(d->pb_find); QFrame *sep; sep = new QFrame(this); sep->setFrameShape(QFrame::VLine); hb1->addWidget(sep); QVBoxLayout *vb3 = new QVBoxLayout; hb1->addLayout(vb3); QPushButton *pb_save = new QPushButton(tr("&Export..."), this); connect(pb_save, SIGNAL(clicked()), SLOT(doSave())); vb3->addWidget(pb_save); QPushButton *pb_erase = new QPushButton(tr("Er&ase All"), this); connect(pb_erase, SIGNAL(clicked()), SLOT(doErase())); vb3->addWidget(pb_erase); sep = new QFrame(this); sep->setFrameShape(QFrame::VLine); hb1->addWidget(sep); hb1->addStretch(1); QVBoxLayout *vb4 = new QVBoxLayout; hb1->addLayout(vb4); vb4->addStretch(1); QPushButton *pb_close = new QPushButton(tr("&Close"), this); pb_close->setMinimumWidth(80); connect(pb_close, SIGNAL(clicked()), SLOT(close())); vb4->addWidget(pb_close); resize(520,320); X11WM_CLASS("history"); d->le_find->setFocus(); setButtons(); doLatest(); }