#include "subprocitemwidget.h"
#include "ui_subprocitemwidget.h"

SubProcItemWidget::SubProcItemWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::SubProcItemWidget)
{
    ui->setupUi(this);

    ui->listWidget->setObjectName("subProcItemListWidget");

    this->setFocusPolicy(Qt::NoFocus);
    ui->listWidget->setFocusPolicy(Qt::NoFocus);
    ui->label->setFocusPolicy(Qt::NoFocus);

    int totalHeight = 0;
    totalHeight += ui->label->sizeHint().height();
    totalHeight += 4;
    ui->label->setMaximumHeight(totalHeight);
}

SubProcItemWidget::~SubProcItemWidget()
{
    delete ui;
}

void SubProcItemWidget::setListSubProc(const QList<SubProc> &list)
{
    int totalHeight = 0;

    for (SubProc subProc : list)
    {/*Подпроцедуры*/
        ui->listWidget->addItem(QString("- %1  [%2]").arg(subProc.getTitle(), subProc.getDmCode()));

        //Делаем item невыделяемым
        QListWidgetItem* item = ui->listWidget->item(ui->listWidget->count() - 1);
        item->setFlags(item->flags() ^ Qt::ItemIsSelectable);
    }

    //Определяем минимальную высоту списка
    for(int row = 0; row < ui->listWidget->count(); ++row)
    {
        totalHeight += ui->listWidget->sizeHintForRow(row); // Высота каждой строки
        totalHeight += 4;
    }

    // Добавляем отступы фрейма (рамки)
    totalHeight += ui->listWidget->frameWidth() * 2;

    ui->listWidget->setMaximumHeight(totalHeight);
}
