Files
RRJServer/InstructorsAndTrainees/tasks/subprocitemwidget.cpp

52 lines
1.5 KiB
C++

#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);
}