예제 #1
0
void frmBoxes::changebox(int index)
{
    int box = index;
    frmCurBoxNum = index;
    frmCurBox = &(cursavblock->boxes[box]);
    QGraphicsScene * boxscene = new QGraphicsScene();
    for(int bslot = 0; bslot < 30; bslot++)
    {
        pix = QPixmap();
        if(cursavblock->boxes[box].pokemon[bslot].species != Species::NOTHING)
        {
            pix = getpkmicon(cursavblock->boxes[box].pokemon[bslot]);
        }
        boxscene = new QGraphicsScene();
        boxscene->addPixmap(pix);
        boxgraphics[bslot]->setScene(boxscene);
        boxgraphics[bslot]->installEventFilter(mouseEventEater);
    }
    if(ui->cbBoxes->currentIndex() != index)
    {
        ui->cbBoxes->setCurrentIndex(index);
    }
    if(ui->sbBoxIncrem->value() != index)
    {
        ui->sbBoxIncrem->setValue(index);
    }
    QPixmap * wallpaperpixmap = new QPixmap;
    *wallpaperpixmap = getwallpaperimage(cursavblock->boxwallpapers[box]);
    QGraphicsScene * wallpaperscene = new QGraphicsScene;
    wallpaperscene->addPixmap(*wallpaperpixmap);
    ui->pbPCBox->setScene(wallpaperscene);
    ui->pbPCBox->setSceneRect(0,0,192,160);
    ui->pbPCBox->fitInView(0,0,153,111);
}
예제 #2
0
void frmBoxes::changebox(int index)
{
    int box = index;
    refreshboxgrid(frmCurBoxNum);
    frmCurBoxNum = index;
    frmCurBox = &(cursavblock->boxes[box]);

    for(int bslot = 0; bslot < 30; bslot++)
    {
        pix = QPixmap();
        if(cursavblock->boxes[box].pokemon[bslot].species != Species::NOTHING)
        {
            pix = getpkmicon(cursavblock->boxes[box].pokemon[bslot]);
        }

        QGraphicsScene * boxscene = boxgraphics[bslot]->scene();
        if (boxscene == NULL)
        {
            boxscene = new QGraphicsScene();
            boxgraphics[bslot]->setScene(boxscene);
            boxgraphics[bslot]->installEventFilter(mouseEventEater);
        }
        boxscene->clear();
        boxscene->addPixmap(pix);
    }
    if(ui->cbBoxes->currentIndex() != index)
    {
        ui->cbBoxes->setCurrentIndex(index);
    }
    if(ui->sbBoxIncrem->value() != index)
    {
        ui->sbBoxIncrem->setValue(index);
    }
    QPixmap wallpaperpixmap = getwallpaperimage(cursavblock->boxwallpapers[box]);
    QGraphicsScene * wallpaperscene = ui->pbPCBox->scene();
    if (wallpaperscene == NULL)
    {
        wallpaperscene = new QGraphicsScene;
        ui->pbPCBox->setScene(wallpaperscene);
        ui->pbPCBox->setSceneRect(0,0,192,160);
        ui->pbPCBox->fitInView(0,0,153,111);
    }

    wallpaperscene->clear();
    wallpaperscene->addPixmap(wallpaperpixmap);
    for(int box = 0; box < 24; box++)
    {
        boxpreviewgraphics[box]->setFrameStyle(0);
    }
    ui->saBoxes->verticalScrollBar()->setValue(index * 76);
    boxpreviewgraphics[index]->setFrameStyle(1);
}