예제 #1
0
void tst_QStandardItem::clone()
{
    QStandardItem item;
    item.setText(QLatin1String("text"));
    item.setToolTip(QLatin1String("toolTip"));
    item.setStatusTip(QLatin1String("statusTip"));
    item.setWhatsThis(QLatin1String("whatsThis"));
    item.setSizeHint(QSize(64, 48));
    item.setFont(QFont());
    item.setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
    item.setBackground(QColor(Qt::blue));
    item.setForeground(QColor(Qt::green));
    item.setCheckState(Qt::PartiallyChecked);
    item.setAccessibleText(QLatin1String("accessibleText"));
    item.setAccessibleDescription(QLatin1String("accessibleDescription"));
    item.setFlags(Qt::ItemIsEnabled | Qt::ItemIsDropEnabled);

    QStandardItem *clone = item.clone();
    QCOMPARE(clone->text(), item.text());
    QCOMPARE(clone->toolTip(), item.toolTip());
    QCOMPARE(clone->statusTip(), item.statusTip());
    QCOMPARE(clone->whatsThis(), item.whatsThis());
    QCOMPARE(clone->sizeHint(), item.sizeHint());
    QCOMPARE(clone->font(), item.font());
    QCOMPARE(clone->textAlignment(), item.textAlignment());
    QCOMPARE(clone->background(), item.background());
    QCOMPARE(clone->foreground(), item.foreground());
    QCOMPARE(clone->checkState(), item.checkState());
    QCOMPARE(clone->accessibleText(), item.accessibleText());
    QCOMPARE(clone->accessibleDescription(), item.accessibleDescription());
    QCOMPARE(clone->flags(), item.flags());
    QVERIFY(!(*clone < item));
    delete clone;
}
예제 #2
0
void tst_QStandardItem::streamItem()
{
    QStandardItem item;
    
    item.setText(QLatin1String("text"));
    item.setToolTip(QLatin1String("toolTip"));
    item.setStatusTip(QLatin1String("statusTip"));
    item.setWhatsThis(QLatin1String("whatsThis"));
    item.setSizeHint(QSize(64, 48));
    item.setFont(QFont());
    item.setTextAlignment(Qt::AlignLeft|Qt::AlignVCenter);
    item.setBackground(QColor(Qt::blue));
    item.setForeground(QColor(Qt::green));
    item.setCheckState(Qt::PartiallyChecked);
    item.setAccessibleText(QLatin1String("accessibleText"));
    item.setAccessibleDescription(QLatin1String("accessibleDescription"));

    QByteArray ba;
    {
        QDataStream ds(&ba, QIODevice::WriteOnly);
        ds << item;
    }
    {
        QStandardItem streamedItem;
        QDataStream ds(&ba, QIODevice::ReadOnly);
        ds >> streamedItem;
        QCOMPARE(streamedItem.text(), item.text());
        QCOMPARE(streamedItem.toolTip(), item.toolTip());
        QCOMPARE(streamedItem.statusTip(), item.statusTip());
        QCOMPARE(streamedItem.whatsThis(), item.whatsThis());
        QCOMPARE(streamedItem.sizeHint(), item.sizeHint());
        QCOMPARE(streamedItem.font(), item.font());
        QCOMPARE(streamedItem.textAlignment(), item.textAlignment());
        QCOMPARE(streamedItem.background(), item.background());
        QCOMPARE(streamedItem.foreground(), item.foreground());
        QCOMPARE(streamedItem.checkState(), item.checkState());
        QCOMPARE(streamedItem.accessibleText(), item.accessibleText());
        QCOMPARE(streamedItem.accessibleDescription(), item.accessibleDescription());
        QCOMPARE(streamedItem.flags(), item.flags());
    }
}
예제 #3
0
void tst_QStandardItem::getSetData()
{
    QStandardItem item;
    for (int x = 0; x < 2; ++x) {
        for (int i = 1; i <= 2; ++i) {
            QString text = QString("text %0").arg(i);
            item.setText(text);
            QCOMPARE(item.text(), text);
            
            QPixmap pixmap(32, 32);
            pixmap.fill((i == 1) ? Qt::red : Qt::green);
            QIcon icon(pixmap);
            item.setIcon(icon);
            QCOMPARE(item.icon(), icon);
            
            QString toolTip = QString("toolTip %0").arg(i);
            item.setToolTip(toolTip);
            QCOMPARE(item.toolTip(), toolTip);
            
            QString statusTip = QString("statusTip %0").arg(i);
            item.setStatusTip(statusTip);
            QCOMPARE(item.statusTip(), statusTip);
        
            QString whatsThis = QString("whatsThis %0").arg(i);
            item.setWhatsThis(whatsThis);
            QCOMPARE(item.whatsThis(), whatsThis);
            
            QSize sizeHint(64*i, 48*i);
            item.setSizeHint(sizeHint);
            QCOMPARE(item.sizeHint(), sizeHint);
            
            QFont font;
            item.setFont(font);
            QCOMPARE(item.font(), font);
        
            Qt::Alignment textAlignment((i == 1)
                                        ? Qt::AlignLeft|Qt::AlignVCenter
                                        : Qt::AlignRight);
            item.setTextAlignment(textAlignment);
            QCOMPARE(item.textAlignment(), textAlignment);
            
            QColor backgroundColor((i == 1) ? Qt::blue : Qt::yellow);
            item.setBackground(backgroundColor);
            QCOMPARE(item.background().color(), backgroundColor);
            
            QColor textColor((i == i) ? Qt::green : Qt::cyan);
            item.setForeground(textColor);
            QCOMPARE(item.foreground().color(), textColor);
            
            Qt::CheckState checkState((i == 1) ? Qt::PartiallyChecked : Qt::Checked);
            item.setCheckState(checkState);
            QCOMPARE(item.checkState(), checkState);
            
            QString accessibleText = QString("accessibleText %0").arg(i);
            item.setAccessibleText(accessibleText);
            QCOMPARE(item.accessibleText(), accessibleText);
            
            QString accessibleDescription = QString("accessibleDescription %0").arg(i);
            item.setAccessibleDescription(accessibleDescription);
            QCOMPARE(item.accessibleDescription(), accessibleDescription);
            
            QCOMPARE(item.text(), text);
            QCOMPARE(item.icon(), icon);
            QCOMPARE(item.toolTip(), toolTip);
            QCOMPARE(item.statusTip(), statusTip);
            QCOMPARE(item.whatsThis(), whatsThis);
            QCOMPARE(item.sizeHint(), sizeHint);
            QCOMPARE(item.font(), font);
            QCOMPARE(item.textAlignment(), textAlignment);
            QCOMPARE(item.background().color(), backgroundColor);
            QCOMPARE(item.foreground().color(), textColor);
            QCOMPARE(item.checkState(), checkState);
            QCOMPARE(item.accessibleText(), accessibleText);
            QCOMPARE(item.accessibleDescription(), accessibleDescription);
            
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::DisplayRole)), text);
            QCOMPARE(qvariant_cast<QIcon>(item.data(Qt::DecorationRole)), icon);
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::ToolTipRole)), toolTip);
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::StatusTipRole)), statusTip);
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::WhatsThisRole)), whatsThis);
            QCOMPARE(qvariant_cast<QSize>(item.data(Qt::SizeHintRole)), sizeHint);
            QCOMPARE(qvariant_cast<QFont>(item.data(Qt::FontRole)), font);
            QCOMPARE(qvariant_cast<int>(item.data(Qt::TextAlignmentRole)), int(textAlignment));
            QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundColorRole)), QBrush(backgroundColor));
            QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundRole)), QBrush(backgroundColor));
            QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::TextColorRole)), QBrush(textColor));
            QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::ForegroundRole)), QBrush(textColor));
            QCOMPARE(qvariant_cast<int>(item.data(Qt::CheckStateRole)), int(checkState));
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::AccessibleTextRole)), accessibleText);
            QCOMPARE(qvariant_cast<QString>(item.data(Qt::AccessibleDescriptionRole)), accessibleDescription);

            item.setBackground(pixmap);
            QCOMPARE(item.background().texture(), pixmap);
            QCOMPARE(qvariant_cast<QBrush>(item.data(Qt::BackgroundRole)).texture(), pixmap);
        }
        item.setData(QVariant(), Qt::DisplayRole);
        item.setData(QVariant(), Qt::DecorationRole);
        item.setData(QVariant(), Qt::ToolTipRole);
        item.setData(QVariant(), Qt::StatusTipRole);
        item.setData(QVariant(), Qt::WhatsThisRole);
        item.setData(QVariant(), Qt::SizeHintRole);
        item.setData(QVariant(), Qt::FontRole);
        item.setData(QVariant(), Qt::TextAlignmentRole);
        item.setData(QVariant(), Qt::BackgroundRole);
        item.setData(QVariant(), Qt::ForegroundRole);
        item.setData(QVariant(), Qt::CheckStateRole);
        item.setData(QVariant(), Qt::AccessibleTextRole);
        item.setData(QVariant(), Qt::AccessibleDescriptionRole);
        
        QCOMPARE(item.data(Qt::DisplayRole), QVariant());
        QCOMPARE(item.data(Qt::DecorationRole), QVariant());
        QCOMPARE(item.data(Qt::ToolTipRole), QVariant());
        QCOMPARE(item.data(Qt::StatusTipRole), QVariant());
        QCOMPARE(item.data(Qt::WhatsThisRole), QVariant());
        QCOMPARE(item.data(Qt::SizeHintRole), QVariant());
        QCOMPARE(item.data(Qt::FontRole), QVariant());
        QCOMPARE(item.data(Qt::TextAlignmentRole), QVariant());
        QCOMPARE(item.data(Qt::BackgroundColorRole), QVariant());
        QCOMPARE(item.data(Qt::BackgroundRole), QVariant());
        QCOMPARE(item.data(Qt::TextColorRole), QVariant());
        QCOMPARE(item.data(Qt::ForegroundRole), QVariant());
        QCOMPARE(item.data(Qt::CheckStateRole), QVariant());
        QCOMPARE(item.data(Qt::AccessibleTextRole), QVariant());
        QCOMPARE(item.data(Qt::AccessibleDescriptionRole), QVariant());
    }
}
예제 #4
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    int rowH = 20;

    listSrcTree.setHorizontalHeaderItem(0, new QStandardItem("Src Devices"));
    QStandardItem* rootItem = listSrcTree.invisibleRootItem();
    QStandardItem* dev1 = new QStandardItem("Device 1");
    dev1->setSizeHint(QSize(20, rowH));
    dev1->appendRow(new QStandardItem("sensor 0"));
    dev1->child(dev1->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev1->appendRow(new QStandardItem("sensor 1"));
    dev1->child(dev1->rowCount()-1)->setSizeHint(QSize(20, rowH));

    QStandardItem* dev2 = new QStandardItem("Device 2");
    dev2->setSizeHint(QSize(20, rowH));
    dev2->appendRow(new QStandardItem("sensor 0"));
    dev2->child(dev2->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev2->appendRow(new QStandardItem("sensor 1"));
    dev2->child(dev2->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev2->appendRow(new QStandardItem("sensor 2"));
    dev2->child(dev2->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev2->appendRow(new QStandardItem("sensor 3"));
    dev2->child(dev2->rowCount()-1)->setSizeHint(QSize(20, rowH));
    rootItem->appendRow(dev1);
    rootItem->appendRow(dev2);

    listDstTree.setHorizontalHeaderItem(0, new QStandardItem("Dst Devices"));
    rootItem = listDstTree.invisibleRootItem();
    QStandardItem* dev3 = new QStandardItem("Device 3");
    dev3->setSizeHint(QSize(20, rowH));
    dev3->appendRow(new QStandardItem("actuator 0"));
    dev3->child(dev3->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev3->appendRow(new QStandardItem("actuator 1"));
    dev3->child(dev3->rowCount()-1)->setSizeHint(QSize(20, rowH));
    QStandardItem* dev4 = new QStandardItem("Device 4");
    dev4->setSizeHint(QSize(20, rowH));
    dev4->appendRow(new QStandardItem("actuator 0"));
    dev4->child(dev4->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev4->appendRow(new QStandardItem("actuator 1"));
    dev4->child(dev4->rowCount()-1)->setSizeHint(QSize(20, rowH));
    dev4->appendRow(new QStandardItem("actuator 2"));
    dev4->child(dev4->rowCount()-1)->setSizeHint(QSize(20, rowH));

    QStandardItem* dev5 = new QStandardItem("Device 5");
    dev5->setSizeHint(QSize(20, rowH));
    for (int i=0; i<10; ++i)
    {
        QString name = "actuator " + QString::number(i);
        dev5->appendRow(new QStandardItem(name));
        dev5->child(dev5->rowCount()-1)->setSizeHint(QSize(20, rowH));
    }
    rootItem->appendRow(dev3);
    rootItem->appendRow(dev4);
    rootItem->appendRow(dev5);

    ui->treeView1->setModel(&listSrcTree);
    ui->treeView2->setModel(&listDstTree);

    ui->treeView1->expandAll();
    ui->treeView2->expandAll();


    //
    ui->listViewArrows->setModel(&listArrows);
    //ui->listViewArrows->sizeHintForRow(25);
    //ui->listViewArrows->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
    rootItem = listArrows.invisibleRootItem();
    qDebug() << "item size = " << rootItem->sizeHint();
    listArrows.setHorizontalHeaderItem(0, new QStandardItem("Mappings"));

    QStandardItem* item = new QStandardItem("Maps");

    //NOTE: tree view header is 17...
    // hackety hack...
    item->setSizeHint(QSize(30, 17));
    rootItem->appendRow(item);
    rootItem->appendRow(new QStandardItem("Maps"));
    rootItem->child(rootItem->rowCount()-1)->setSizeHint(QSize(30, rowH));
    rootItem->appendRow(new QStandardItem("Maps"));
    rootItem->child(rootItem->rowCount()-1)->setSizeHint(QSize(30, rowH));
    rootItem->appendRow(new QStandardItem("Maps"));
    rootItem->child(rootItem->rowCount()-1)->setSizeHint(QSize(30, rowH));
    rootItem->appendRow(new QStandardItem("Maps"));
    rootItem->child(rootItem->rowCount()-1)->setSizeHint(QSize(30, rowH));
    rootItem->appendRow(new QStandardItem("Maps"));
    rootItem->child(rootItem->rowCount()-1)->setSizeHint(QSize(30, rowH));


    //try other view

    //custom view

    mapperScene = new QMapperDbScene(this);
    dbModel = new QMapperDbModel();
    mapperScene->setMapperDbModel(dbModel);
    dbModel->LoadFromTest();

    //this is another model we might want to overlay on top of existing:
    dbModelActive = new QMapperDbModel();
    dbModelActive->LoadFromTest(1);
    mapperScene->setMapperDbModelActive(dbModelActive);

    ui->graphicsView->setScene(mapperScene);
    ui->graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    ui->graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    mapperScene->updateScene();
    qDebug() << "gview rect = " << ui->graphicsView->rect();


    //try another view on top
//    QGraphicsView * view2 = new QGraphicsView(this);

//    view2->setFrameRect(ui->graphicsView->rect());

//    view2->show();
//    view2->setBackgroundBrush(QBrush(Qt::blue));
//    QMapperDbScene *scene2 = new QMapperDbScene(this);
//    QMapperDbModel *mod2 = new QMapperDbModel();
//    scene2->setMapperDbModel(mod2);
//    mod2->LoadFromTest();
//    view2->setScene(scene2);
//    scene2->updateScene();


    //ui->graphicsView->setMouseTracking(true);



    //end custom view
    return;

    QGraphicsScene *scene = new QGraphicsScene(this);

    QBrush *brush = new QBrush(Qt::gray);
    QPen *pen = new QPen(Qt::blue);
    pen->setWidth(2);
    //QGraphicsRectItem *rect = scene->addRect(0, 0, 100, 100, *pen, *brush);
    ui->graphicsView->setScene(scene);

    //ui->graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    //ui->graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
    qDebug() << "gview rect = " << ui->graphicsView->rect();
    scene->setSceneRect(ui->graphicsView->rect());


    float origin_x = 0;
    float origin_y = 0;

    CustomRect * crect = new CustomRect(origin_x, origin_y, "dev", "sig");
    scene->addItem(crect);



}