Exemplo n.º 1
0
void GalaGV::setPlayerLogItems(const QList<Kampf> &list)
{
    qDebug() << Q_FUNC_INFO <<list.size();
    QString lastCords;
    for(int var = 0; var < list.size(); ++var) {
        const Kampf &k = list.at(var);
        QColor c =Qt::red;
        if(var == list.size()-1){
            c = Qt::darkMagenta;
        }
        QGraphicsEllipseItem *item = makeMarkerItem(k.cords,k.sysid,Log,c,Mark);
        item->setToolTip(k.toString());
        item->show();
        item->setFlags(QGraphicsItem::ItemIsSelectable);
        item->setData(Bericht,k.berichtUrl);
        scene()->addItem(item);
        mData->mPlayerLogPlanis.append(item);
        if(var>0){
            QGraphicsLineItem *lineItem = makeLineItem(k.cords,lastCords,Qt::red);
            scene()->addItem(lineItem);
            mData->mPlayerLogPlanis.append(lineItem);
        }
        lastCords = k.cords;
    }
}
Exemplo n.º 2
0
SEXP
scene_addPoints(SEXP scene, SEXP x, SEXP y, SEXP radius)
{
    QGraphicsScene* s = unwrapQObject(scene, QGraphicsScene);
    int i, n = length(x);
    for (i = 0; i < n; i++) {
	// QGraphicsEllipseItem *item = s->addEllipse(REAL(x)[i], REAL(y)[i], REAL(radius)[0], REAL(radius)[0]);
	QGraphicsEllipseItem *item = s->addEllipse(0.0, 0.0, REAL(radius)[0], REAL(radius)[0]);
	item->setPos(REAL(x)[i], REAL(y)[i]);
	item->setFlags(QGraphicsItem::ItemIsSelectable | 
		       QGraphicsItem::ItemIgnoresTransformations);
    }
    return R_NilValue;
}
Exemplo n.º 3
0
void StitcherView::drawConstraintFit(geometrically_constrained_system *gc){
  for(int i = 0;i<gc->n_constraints;i++){
    GeometryConstraintType type = gc->constraints[i].type;
    double fit = gc->constraints[i].best_fit;    
    if(type == RadialLineConstraint){
      qreal x1,x2,y1,y2;
      qreal scale = 10000;
      x1 = cos(fit)*scale;

      y1 = sin(fit)*scale;
      x2 = -x1;
      y2 = -y1;
      QGraphicsLineItem * item = new QGraphicsLineItem(x1,y1,x2,y2);
      QPen p = item->pen();
      p.setStyle(Qt::DashLine);
      QVector<qreal> dashes;
      dashes << 25 << 15;
      p.setDashPattern(dashes);
      p.setColor(Qt::white);
      item->setPen(p);
      item->setZValue(10000);
      scene()->addItem(item);
      constraintFit.append(item);
    }else if(type == CircleConstraint){
      double radius = fit;
      QGraphicsEllipseItem * item = new QGraphicsEllipseItem(-radius,-radius,2*radius,2*radius);
      QPen p = item->pen();
      p.setStyle(Qt::DashLine);
      QVector<qreal> dashes;
      dashes << 25 << 15;
      p.setDashPattern(dashes);
      p.setColor(Qt::white);
      item->setPen(p);
      item->setZValue(10000);
      scene()->addItem(item);
      constraintFit.append(item);
    }
    sp_vector ** cp_g = control_point_list_to_global(gc->constraints[i].points,gc->constraints[i].n_points);
    QColor color = QColor::fromHsvF(1.0/3+(double)i/gc->n_constraints,1,1,1);
    for(int j = 0;j<gc->constraints[i].n_points;j++){
      QGraphicsEllipseItem * point = new QGraphicsEllipseItem(-4,-4,8,8);
      point->setZValue(10001);
      point->setPos(sp_vector_get(cp_g[j],0),sp_vector_get(cp_g[j],1));
      point->setPen(QPen(color, 2));
      point->setFlags(point->flags() | QGraphicsItem::ItemIgnoresTransformations);
      scene()->addItem(point);
      constraintFit.append(point);
    }
  }
}
Exemplo n.º 4
0
void Scene::mouseReleaseEvent(QGraphicsSceneMouseEvent *sEvent)
{
	if (isActive())
	{
		if (isEllipse() && isEllipsePainting() && startPoint != endPoint)
			if (sEvent->button() == Qt::LeftButton)
			{
				QGraphicsEllipseItem *finishedEllipseItem = new QGraphicsEllipseItem(ellipseItem->rect());
				setEllipsePainting(false); 
				finishedEllipseItem->setPen(QPen(QColor(0, 0, 200), 4));
				finishedEllipseItem->setBrush(QBrush(QColor(0, 0, 200, 50)));
				finishedEllipseItem->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
				removeItem(ellipseItem);
				addItem(finishedEllipseItem);
				ellipseVector << finishedEllipseItem;
			}

		QGraphicsScene::mouseReleaseEvent(sEvent);
	}
}
Exemplo n.º 5
0
void GalaGV::showOwn(bool show)
{
    mData->showOwn = show;

    if(!mData->own.contains(mData->gala)){
        QList<ODPlanet> l =mDB->loadOwnPlanis(mData->gala);
        QHash<QString,QGraphicsEllipseItem*> hash;
        for (int var = 0; var < l.size(); ++var) {
            const ODPlanet & p = l.at(var);
            QGraphicsEllipseItem *item = makeMarkerItem(p.cords,p.sys,Own,Qt::green,Mark);
            item->setFlags(QGraphicsItem::ItemIsSelectable);
            item->setToolTip(p.sysname + "("+ p.name+")");
            hash.insert(p.index,item);
            scene()->addItem(item);
        }
        mData->own.insert(mData->gala,hash);
    }
    if(show){
        showItems(mData->own.value(mData->gala));
    }else {
        hideItems(mData->own.value(mData->gala));
    }
}