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; } }
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)); } }
void GalaGV::showESysteme(const QString &ally, bool show) { if(!ally.isEmpty()){ mData->showESysteme.first = ally; mData->showESysteme.second = show; int gala =mData->gala; QString key = ally+";"+QString::number(gala); if(!mData->eSysteme.contains(key)){ QList<ESystem> l =mDB->eSysteme(ally,gala); QString cords; QHash<QString,QGraphicsEllipseItem*> hash; for (int var = 0; var < l.size(); ++var) { const ESystem & s = l.at(var); cords = s.cords; if(cords== "") cords = mData->systeme.value(mData->gala).value(s.id)->data(Cords).toString(); QGraphicsEllipseItem *item = makeMarkerItem(cords,s.id,Ally,s.isWerft?Qt::yellow:QColor("#E87A1A"),Mark); if(s.isChecked){ item->setOpacity(0.5); } item->setData(Esystem,QVariant::fromValue(s)); item->setFlag(QGraphicsItem::ItemIsSelectable,true); item->setToolTip(s.namen.join(",")+" : "+(s.isWerft?"Werft":"")); hash.insert(s.id,item); scene()->addItem(item); } mData->eSysteme.insert(key,hash); qDebug() << Q_FUNC_INFO << mData->eSysteme.keys()<< mData->eSysteme.value(key).count(); } if(show) showItems(mData->eSysteme.value(key)); else hideItems(mData->eSysteme.value(key)); } }
QGraphicsEllipseItem *GraphRenderer::addNode(repo::core::model::RepoNode *node, float row, float column) { float spacing = nodeDiameter / 4.0f; QPen pen; pen.setWidthF(penWidth); QBrush brush(Qt::SolidPattern); QColor dark; QColor light; switch (node->getTypeAsEnum()) { case repo::core::model::NodeType::CAMERA : dark = Qt::darkMagenta; light = Qt::magenta; break; case repo::core::model::NodeType::MATERIAL : dark = Qt::darkRed; light = Qt::red; break; case repo::core::model::NodeType::MESH : dark = Qt::darkBlue; light = Qt::blue; break; case repo::core::model::NodeType::METADATA : dark = Qt::darkCyan; light = Qt::cyan; break; case repo::core::model::NodeType::REFERENCE : dark = repo::gui::primitive::RepoColor::fromHex("#6e8b3d"); // DarkOliveGreen4 light = repo::gui::primitive::RepoColor::fromHex("#caff70"); // DarkOliveGreen1 break; case repo::core::model::NodeType::REVISION : dark = repo::gui::primitive::RepoColor::fromHex("#68228b"); // DarkOrchid4 light = repo::gui::primitive::RepoColor::fromHex("#bf3eff"); // DarkOrchid1 break; case repo::core::model::NodeType::TEXTURE : dark = Qt::darkYellow; light = Qt::yellow; break; case repo::core::model::NodeType::TRANSFORMATION : dark = Qt::darkGreen; light = Qt::green; break; case repo::core::model::NodeType::UNKNOWN : default : dark = Qt::darkGray; light = Qt::gray; } pen.setColor(dark); brush.setColor(light); qreal x = column * (nodeDiameter + spacing); qreal y = row * (nodeDiameter + spacing) * 4; QGraphicsEllipseItem *ellipse = addEllipse( 0, 0, nodeDiameter, nodeDiameter, pen, brush); ellipse->setPos(x, y); ellipse->setZValue(1.0f); //-------------------------------------------------------------------------- QString toolTip; toolTip += tr("_id") + "\t: '" + uuidToQString(node->getUniqueID()) + "',\n"; toolTip += tr("sid") + "\t: '" + uuidToQString(node->getSharedID()) + "',\n"; if (!node->getName().empty()) toolTip += tr("name") + "\t: '" + QString::fromStdString(node->getName()) + "',\n"; toolTip += tr("type") + "\t: '" + QString::fromStdString(node->getType()) + "'"; ellipse->setToolTip(toolTip); //-------------------------------------------------------------------------- QVariant var; var.setValue(node); ellipse->setData(0, var); //-------------------------------------------------------------------------- return ellipse; }