// cardDisplay.cpp
#include "CardsDisplay.h"
#include <QDataStream>
const int CardsDisplay::cardHeight = 243;
const int CardsDisplay::cardWidth = 150;

CardsDisplay::CardsDisplay(int n)
{
    cardsLayout = new QBoxLayout(QBoxLayout::LeftToRight);
    size = n;
    
    readPics();
    
    for (int i{}; i<size; i++)
    {
        QLabel* card = new QLabel();
        card->setFixedSize(cardWidth,cardHeight);
        card->setPixmap( pics[52].scaled(cardWidth,cardHeight) );
        cardsLayout->addWidget(card);
        cards.append(card);
    }
    
    cardsWidget.setLayout(cardsLayout);
}


void CardsDisplay::setCard(int pos, int num)
{
    if (num >= pics.size() || pos >= size) return;
    cards[pos]->setPixmap( pics[num].scaled(cardWidth,cardHeight) );
}

CardsDisplay::~CardsDisplay()
{
    for (int i{}; i< size; i++)
        delete cards[i];
}

void CardsDisplay::readPics()
{
    QFile file("cardpics.dat");
    file.open(QIODevice::ReadOnly);
    QDataStream in(&file);    
    in >> pics;
}

void CardsDisplay::clear()
{
    for (int i{}; i<size; i++)
        cards[i]->setPixmap( pics[52].scaled(cardWidth,cardHeight) );
}