void YaTabBarBase::startFading() { switch (timeLine()->state()) { case QTimeLine::NotRunning: timeLine()->start(); break; case QTimeLine::Paused: timeLine()->resume(); break; case QTimeLine::Running: default: break; } }
QVector<ScaffNode*> SuperShapeKf::getInbetweenParts(QString base_mid, QString top_mid) { // time line Geom::Line timeLine(Vector3(0, 0, 0), ParSingleton::instance()->sqzV); // position on time line Vector3 p0 = ((ScaffNode*)getNode(base_mid))->center(); Vector3 p1 = ((ScaffNode*)getNode(top_mid))->center(); double t0 = timeLine.getProjTime(p0); double t1 = timeLine.getProjTime(p1); double epsilon = 0.05 * (t1 - t0); TimeInterval ti(t0 + epsilon, t1 - epsilon); // find parts in between m1 and m2 QVector<ScaffNode*> inbetweens; for(ScaffNode* sn : getScaffNodes()) { // skip parts that has been folded if (sn->hasTag(MERGED_PART_TAG)) continue; // master if (sn->hasTag(MASTER_TAG)) { double t = timeLine.getProjTime(sn->center()); if (ti.contains(t)) inbetweens << sn; } else // slave { int aid = sn->mBox.getAxisId(ParSingleton::instance()->sqzV); Geom::Segment sklt = sn->mBox.getSkeleton(aid); double t0 = timeLine.getProjTime(sklt.P0); double t1 = timeLine.getProjTime(sklt.P1); TimeInterval sTi(t0, t1); if (ti.overlaps(sTi)) inbetweens << sn; } } return inbetweens; }
int lds_messagebox::showOldMessageBox(QWidget *parent, QMessageBox::Icon icon, const QString &title, const QString &text, const QString &button0Text, const QString &button1Text, const QString &button2Text, bool delayclose) { if(parent==0 &&public_sql::save_login!=0)parent=public_sql::save_login->getcur_validparent(); lds_msgbox messageBox(icon, title, text, QMessageBox::NoButton, parent); messageBox.setWindowFlags(Qt::Dialog|Qt::WindowTitleHint|Qt::CustomizeWindowHint); QString myButton0Text = button0Text; if(myButton0Text.isEmpty())myButton0Text=tr("确定"); { lds_toolbar_button *b=new lds_toolbar_button; b->setProperty("outer_stylesheet", "pushbutton"); b->setText(myButton0Text); messageBox.addButton(b, QMessageBox::ActionRole); messageBox.btnok=b; } if(!button1Text.isEmpty()){ lds_toolbar_button *b=new lds_toolbar_button; b->setProperty("outer_stylesheet", "pushbutton"); b->setText(button1Text); messageBox.addButton(b, QMessageBox::ActionRole); } if(!button2Text.isEmpty()){ lds_toolbar_button *b=new lds_toolbar_button; b->setProperty("outer_stylesheet", "pushbutton"); b->setText(button2Text); messageBox.addButton(b, QMessageBox::ActionRole); } QTimeLine timeLine(2000, 0); if(delayclose){ timeLine.setFrameRange(0, 5); timeLine.setDirection(QTimeLine::Backward); connect(&timeLine, SIGNAL(frameChanged(int)), &messageBox, SLOT(updateText(int))); connect(&messageBox,SIGNAL(btnok_finished(int)),&messageBox, SLOT(done(int))); timeLine.start(); } return messageBox.exec(); }
void YaTabBarBase::stopFading() { timeLine()->stop(); }