void YaTabBarBase::startFading()
{
	switch (timeLine()->state()) {
	case QTimeLine::NotRunning:
		timeLine()->start();
		break;
	case QTimeLine::Paused:
		timeLine()->resume();
		break;
	case QTimeLine::Running:
	default:
		break;
	}
}
Beispiel #2
0
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;
}
Beispiel #3
0
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();
}