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