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
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));
    }
}
Exemplo n.º 3
0
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));
    }
}
Exemplo n.º 4
0
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;
}