mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Объединенные ячейки списка
This commit is contained in:
@@ -50,6 +50,8 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
connect(taskTreePreparation, &TaskAMMFIMTreePreparation::signal_listAMMItemsReady, this, &AMMtasksWidget::slot_AMMlistItemsReady);
|
||||||
connect(this, &AMMtasksWidget::signal_stopParserPreparation, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_stopParserPreparation);
|
connect(this, &AMMtasksWidget::signal_stopParserPreparation, taskTreePreparation, &TaskAMMFIMTreePreparation::slot_stopParserPreparation);
|
||||||
|
|
||||||
|
connect(this->connectorToServer, &ConnectorToServer::signal_UpdateSubProcForDMCode, this, &AMMtasksWidget::slot_UpdateSubProcForDMCode);
|
||||||
|
|
||||||
waitAnimationWidget = new WaitAnimationWidget;
|
waitAnimationWidget = new WaitAnimationWidget;
|
||||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
||||||
waitAnimationWidget->setParent(this);
|
waitAnimationWidget->setParent(this);
|
||||||
@@ -68,12 +70,6 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
|
|
||||||
if(type == TypeListTreeAMMFIM::listCommon)
|
if(type == TypeListTreeAMMFIM::listCommon)
|
||||||
{
|
{
|
||||||
//ui->horizontalLayout_3->addWidget(ui->btnAssignTask);
|
|
||||||
//ui->horizontalLayout_3->addWidget(ui->btnOnlyActive);
|
|
||||||
//ui->horizontalLayout_3->addWidget(ui->btnCheck);
|
|
||||||
//ui->horizontalLayout_3->addWidget(ui->btnDelete);
|
|
||||||
//ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
|
||||||
|
|
||||||
ui->btnDelete->setVisible(false);
|
ui->btnDelete->setVisible(false);
|
||||||
ui->btnCheck->setVisible(false);
|
ui->btnCheck->setVisible(false);
|
||||||
}
|
}
|
||||||
@@ -85,12 +81,7 @@ AMMtasksWidget::AMMtasksWidget(ConnectorToServer* connectorToServer, TypeListTre
|
|||||||
ui->label_DocsActualed->setVisible(false);
|
ui->label_DocsActualed->setVisible(false);
|
||||||
ui->label_Actual->setVisible(false);
|
ui->label_Actual->setVisible(false);
|
||||||
ui->btnDocsUpdating->setVisible(false);
|
ui->btnDocsUpdating->setVisible(false);
|
||||||
|
|
||||||
//ui->verticalLayout->setAlignment(Qt::AlignmentFlag::AlignBottom);
|
|
||||||
//ui->horizontalLayout_3->setAlignment(Qt::AlignmentFlag::AlignLeft);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//ui->btnCheck->setVisible(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AMMtasksWidget::~AMMtasksWidget()
|
AMMtasksWidget::~AMMtasksWidget()
|
||||||
@@ -306,6 +297,58 @@ void AMMtasksWidget::slot_AMMlistItemsReady(QList<QTreeWidgetItem *> listItems)
|
|||||||
ui->btnOnlyActive->setEnabled(true);
|
ui->btnOnlyActive->setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AMMtasksWidget::slot_UpdateSubProcForDMCode(QString dmCode)
|
||||||
|
{
|
||||||
|
if(lastSelectedTask.ammProcedure.dmCode == dmCode)
|
||||||
|
{//Его ждем
|
||||||
|
QList<SubProc> list = connectorToServer->getListSubProcForDMCode(dmCode);
|
||||||
|
lastSelectedTask.listSubProc = list;
|
||||||
|
|
||||||
|
waitAnimationWidget->hideWithStop();
|
||||||
|
|
||||||
|
if(lastSelectedTask.listSubProc.count())
|
||||||
|
{
|
||||||
|
dlgListSubProc = new DialogListSubProc(this);
|
||||||
|
dlgListSubProc->setTask(&lastSelectedTask);
|
||||||
|
|
||||||
|
switch( dlgListSubProc->exec() )
|
||||||
|
{
|
||||||
|
case QDialog::Accepted:
|
||||||
|
{
|
||||||
|
//Здесь нужно забрать список отмеченных подпроцедур
|
||||||
|
lastSelectedTask.listSubProc.clear();
|
||||||
|
dlgListSubProc->getListCheckedSubProc(&lastSelectedTask.listSubProc);
|
||||||
|
|
||||||
|
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
|
||||||
|
{
|
||||||
|
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case QDialog::Rejected:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dlgListSubProc)
|
||||||
|
{
|
||||||
|
delete dlgListSubProc;
|
||||||
|
dlgListSubProc = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lastSelectedTask.listSubProc.clear();
|
||||||
|
|
||||||
|
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
|
||||||
|
{
|
||||||
|
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &lastSelectedTask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AMMtasksWidget::preparationTreeWidget()
|
void AMMtasksWidget::preparationTreeWidget()
|
||||||
{
|
{
|
||||||
treeWidget->setColumnCount(clmnAMM_count);
|
treeWidget->setColumnCount(clmnAMM_count);
|
||||||
@@ -409,46 +452,24 @@ void AMMtasksWidget::assignTaskAMMtoTrainee()
|
|||||||
|
|
||||||
if(taskNew.getID())
|
if(taskNew.getID())
|
||||||
{
|
{
|
||||||
//QList<SubProc> listSubProc;
|
|
||||||
|
|
||||||
if(selectSubProcForAssignTaskAMM(taskNew, &taskNew.listSubProc))
|
if(selectSubProcForAssignTaskAMM(taskNew, &taskNew.listSubProc))
|
||||||
{
|
{}
|
||||||
if(SpecialMessageBox(this, SpecialMessageBox::TypeSpecMsgBox::warningYesNo, tr("Assign this task?")).exec() == QDialog::Accepted)
|
|
||||||
{
|
|
||||||
connectorToServer->sendQueryToDB(TypeQueryToDB::TYPE_QUERY_ASSIGN_TASK_AMM_TO_TRAINEE, idTraineeSelected, &taskNew);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AMMtasksWidget::selectSubProcForAssignTaskAMM(TaskAmmFim taskNew, QList<SubProc>* listSubProc)
|
bool AMMtasksWidget::selectSubProcForAssignTaskAMM(TaskAmmFim taskNew, QList<SubProc>* listSubProc)
|
||||||
{
|
{
|
||||||
bool result = false;
|
lastSelectedTask = taskNew;
|
||||||
|
|
||||||
dlgListSubProc = new DialogListSubProc(connectorToServer, this);
|
waitAnimationWidget->showWithPlay();
|
||||||
dlgListSubProc->setTask(&taskNew);
|
|
||||||
|
|
||||||
switch( dlgListSubProc->exec() )
|
if(! connectorToServer->sendQueryListSubProc(lastSelectedTask.ammProcedure.dmCode))
|
||||||
{
|
{
|
||||||
case QDialog::Accepted:
|
waitAnimationWidget->hideWithStop();
|
||||||
{
|
return false;
|
||||||
//Здесь нужно забрать список отмеченных подпроцедур
|
|
||||||
result = dlgListSubProc->getListCheckedSubProc(listSubProc);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case QDialog::Rejected:
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(dlgListSubProc)
|
return true;
|
||||||
{
|
|
||||||
delete dlgListSubProc;
|
|
||||||
dlgListSubProc = nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMMtasksWidget::setCurrentTask(int id)
|
void AMMtasksWidget::setCurrentTask(int id)
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ Q_SIGNALS:
|
|||||||
|
|
||||||
public Q_SLOTS:
|
public Q_SLOTS:
|
||||||
void slot_AMMlistItemsReady(QList<QTreeWidgetItem*> listItems);
|
void slot_AMMlistItemsReady(QList<QTreeWidgetItem*> listItems);
|
||||||
|
public slots:
|
||||||
|
void slot_UpdateSubProcForDMCode(QString dmCode);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::AMMtasksWidget *ui;
|
Ui::AMMtasksWidget *ui;
|
||||||
@@ -100,6 +102,12 @@ private:
|
|||||||
bool flOnlyActive; //AMM
|
bool flOnlyActive; //AMM
|
||||||
|
|
||||||
int lastCurrentID;
|
int lastCurrentID;
|
||||||
|
|
||||||
|
TaskAmmFim lastSelectedTask;
|
||||||
|
|
||||||
|
CustomDelegate* delegate;
|
||||||
|
|
||||||
|
QStyle* style;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // AMMTASKSWIDGET_H
|
#endif // AMMTASKSWIDGET_H
|
||||||
|
|||||||
41
InstructorsAndTrainees/tasks/customdelegate.cpp
Normal file
41
InstructorsAndTrainees/tasks/customdelegate.cpp
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
#include "customdelegate.h"
|
||||||
|
|
||||||
|
CustomDelegate::CustomDelegate(QObject *parent):
|
||||||
|
QItemDelegate(parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CustomDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||||
|
{
|
||||||
|
bool mergeCell = index.data(UserRole_MergeCell).toBool();
|
||||||
|
|
||||||
|
if (mergeCell && index.column() == 0)
|
||||||
|
{
|
||||||
|
QModelIndex nextColumnIndex = index.siblingAtColumn(index.column() + 1);
|
||||||
|
if (!nextColumnIndex.isValid())
|
||||||
|
{
|
||||||
|
QItemDelegate::paint(painter, option, index);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QRect mergedRect(option.rect.x(),
|
||||||
|
option.rect.y(),
|
||||||
|
option.rect.width() * 2,
|
||||||
|
option.rect.height());
|
||||||
|
|
||||||
|
painter->save();
|
||||||
|
painter->setClipRect(mergedRect);
|
||||||
|
drawBackground(painter, option, index);
|
||||||
|
drawDisplay(painter, option, mergedRect, index.data(Qt::DisplayRole).toString());
|
||||||
|
|
||||||
|
painter->restore();
|
||||||
|
} else {
|
||||||
|
QItemDelegate::paint(painter, option, index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize CustomDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||||
|
{
|
||||||
|
return QItemDelegate::sizeHint(option, index);
|
||||||
|
}
|
||||||
31
InstructorsAndTrainees/tasks/customdelegate.h
Normal file
31
InstructorsAndTrainees/tasks/customdelegate.h
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
#ifndef CUSTOMDELEGATE_H
|
||||||
|
#define CUSTOMDELEGATE_H
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QTreeWidget>
|
||||||
|
#include <QTreeWidgetItem>
|
||||||
|
#include <QStyledItemDelegate>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QStyle>
|
||||||
|
#include <QItemDelegate>
|
||||||
|
|
||||||
|
enum UserRoles {
|
||||||
|
UserRole_MergeCell = Qt::UserRole + 1 // Пользовательская роль для хранения признака объединения
|
||||||
|
};
|
||||||
|
|
||||||
|
class CustomDelegate : public QItemDelegate
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
//using QStyledItemDelegate::QStyledItemDelegate;
|
||||||
|
|
||||||
|
CustomDelegate(QObject *parent = nullptr);
|
||||||
|
|
||||||
|
void paint(QPainter *painter,
|
||||||
|
const QStyleOptionViewItem &option,
|
||||||
|
const QModelIndex &index) const override;
|
||||||
|
|
||||||
|
QSize sizeHint(const QStyleOptionViewItem &option,
|
||||||
|
const QModelIndex &index) const override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CUSTOMDELEGATE_H
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include "dialoglistsubproc.h"
|
#include "dialoglistsubproc.h"
|
||||||
|
|
||||||
DialogListSubProc::DialogListSubProc(ConnectorToServer* connectorToServer, QWidget *parent) :
|
DialogListSubProc::DialogListSubProc(QWidget *parent) :
|
||||||
QDialog(parent,
|
QDialog(parent,
|
||||||
Qt::WindowSystemMenuHint
|
Qt::WindowSystemMenuHint
|
||||||
| Qt::WindowMaximizeButtonHint
|
| Qt::WindowMaximizeButtonHint
|
||||||
@@ -9,7 +9,7 @@ DialogListSubProc::DialogListSubProc(ConnectorToServer* connectorToServer, QWidg
|
|||||||
| Qt::WindowCloseButtonHint),
|
| Qt::WindowCloseButtonHint),
|
||||||
listSubProcCtrl(nullptr)
|
listSubProcCtrl(nullptr)
|
||||||
{
|
{
|
||||||
listSubProcCtrl = new ListSubProc(connectorToServer, this);
|
listSubProcCtrl = new ListSubProc(this);
|
||||||
connect(listSubProcCtrl, &ListSubProc::signal_Accepted, this, &DialogListSubProc::slot_Accepted);
|
connect(listSubProcCtrl, &ListSubProc::signal_Accepted, this, &DialogListSubProc::slot_Accepted);
|
||||||
|
|
||||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class DialogListSubProc : public QDialog
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DialogListSubProc(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
|
DialogListSubProc(QWidget *parent = nullptr);
|
||||||
~DialogListSubProc();
|
~DialogListSubProc();
|
||||||
|
|
||||||
void closeEvent(QCloseEvent *event) override;
|
void closeEvent(QCloseEvent *event) override;
|
||||||
|
|||||||
@@ -2,11 +2,9 @@
|
|||||||
#include "listsubproc.h"
|
#include "listsubproc.h"
|
||||||
#include "ui_listsubproc.h"
|
#include "ui_listsubproc.h"
|
||||||
|
|
||||||
ListSubProc::ListSubProc(ConnectorToServer* connectorToServer, QWidget *parent) :
|
ListSubProc::ListSubProc(QWidget *parent) :
|
||||||
QWidget(parent),
|
QWidget(parent),
|
||||||
ui(new Ui::ListSubProc),
|
ui(new Ui::ListSubProc),
|
||||||
connectorToServer(connectorToServer),
|
|
||||||
waitAnimationWidget(nullptr),
|
|
||||||
treeWidget(nullptr)
|
treeWidget(nullptr)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
@@ -17,19 +15,10 @@ ListSubProc::ListSubProc(ConnectorToServer* connectorToServer, QWidget *parent)
|
|||||||
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
ui->horizontalLayout_Tree->addWidget(treeWidget);
|
||||||
|
|
||||||
preparationTreeWidget();
|
preparationTreeWidget();
|
||||||
|
|
||||||
waitAnimationWidget = new WaitAnimationWidget;
|
|
||||||
QMovie *movie = new QMovie(":/resources/icons/762.gif");
|
|
||||||
waitAnimationWidget->setParent(this);
|
|
||||||
waitAnimationWidget->initialize(movie,this);
|
|
||||||
|
|
||||||
connect(this->connectorToServer, &ConnectorToServer::signal_UpdateSubProcForDMCode, this, &ListSubProc::slot_UpdateSubProcForDMCode);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ListSubProc::~ListSubProc()
|
ListSubProc::~ListSubProc()
|
||||||
{
|
{
|
||||||
waitAnimationWidget->hideWithStop();
|
|
||||||
delete waitAnimationWidget;
|
|
||||||
delete treeWidget;
|
delete treeWidget;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
@@ -42,9 +31,6 @@ void ListSubProc::closeEvent(QCloseEvent *event)
|
|||||||
void ListSubProc::resizeEvent(QResizeEvent *event)
|
void ListSubProc::resizeEvent(QResizeEvent *event)
|
||||||
{
|
{
|
||||||
setWidthColumnsTree();
|
setWidthColumnsTree();
|
||||||
|
|
||||||
QSize size = event->size();
|
|
||||||
waitAnimationWidget->resize(size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListSubProc::changeEvent(QEvent *event)
|
void ListSubProc::changeEvent(QEvent *event)
|
||||||
@@ -65,10 +51,39 @@ void ListSubProc::setTask(TaskAmmFim *task)
|
|||||||
ui->lbl_Title->setText(task->ammProcedure.title);
|
ui->lbl_Title->setText(task->ammProcedure.title);
|
||||||
ui->lbl_DMCode->setText(task->ammProcedure.dmCode);
|
ui->lbl_DMCode->setText(task->ammProcedure.dmCode);
|
||||||
|
|
||||||
waitAnimationWidget->showWithPlay();
|
QList<SubProc> list = task->listSubProc;
|
||||||
|
|
||||||
if(! connectorToServer->sendQueryListSubProc(this->task.ammProcedure.dmCode))
|
for(SubProc subProc : list)
|
||||||
waitAnimationWidget->hideWithStop();
|
{
|
||||||
|
QTreeWidgetItem* item = new QTreeWidgetItem(treeWidget);
|
||||||
|
//item->setIcon(0, QIcon(":/resources/icons/link.png"));
|
||||||
|
item->setText(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
|
||||||
|
item->setText(ColumnsTreeSubProc::clmnSP_code, subProc.getDmCode());
|
||||||
|
item->setText(ColumnsTreeSubProc::clmnSP_canplay, subProc.getModeListStr());
|
||||||
|
item->setToolTip(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
|
||||||
|
|
||||||
|
ModeList modeList = subProc.getModeList();
|
||||||
|
if(modeList.autoM && (modeList.demo || modeList.train || modeList.exam))
|
||||||
|
{
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||||
|
item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Checked);
|
||||||
|
|
||||||
|
treeWidget->addTopLevelItem(item);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
||||||
|
item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Unchecked);
|
||||||
|
|
||||||
|
//item->setFlags(item->flags() ^ Qt::ItemIsEnabled);
|
||||||
|
|
||||||
|
#ifdef PROJECT_TYPE_DEBUG
|
||||||
|
treeWidget->addTopLevelItem(item);
|
||||||
|
#else
|
||||||
|
item->setFlags(item->flags() ^ Qt::ItemIsEnabled);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ListSubProc::getListCheckedSubProc(QList<SubProc>* listSubProc)
|
bool ListSubProc::getListCheckedSubProc(QList<SubProc>* listSubProc)
|
||||||
@@ -146,51 +161,6 @@ int ListSubProc::calculateWidth_0Column()
|
|||||||
return width0Column;
|
return width0Column;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListSubProc::slot_UpdateSubProcForDMCode(QString dmCode)
|
|
||||||
{
|
|
||||||
if(this->task.ammProcedure.dmCode == dmCode)
|
|
||||||
{
|
|
||||||
QList<SubProc> list = connectorToServer->getListSubProcForDMCode(dmCode);
|
|
||||||
|
|
||||||
/*if(!list.count())
|
|
||||||
on_btnAssign_clicked();*/
|
|
||||||
|
|
||||||
for(SubProc subProc : list)
|
|
||||||
{
|
|
||||||
QTreeWidgetItem* item = new QTreeWidgetItem(treeWidget);
|
|
||||||
//item->setIcon(0, QIcon(":/resources/icons/link.png"));
|
|
||||||
item->setText(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
|
|
||||||
item->setText(ColumnsTreeSubProc::clmnSP_code, subProc.getDmCode());
|
|
||||||
item->setText(ColumnsTreeSubProc::clmnSP_canplay, subProc.getModeListStr());
|
|
||||||
item->setToolTip(ColumnsTreeSubProc::clmnSP_title, subProc.getTitle());
|
|
||||||
|
|
||||||
ModeList modeList = subProc.getModeList();
|
|
||||||
if(modeList.autoM && (modeList.demo || modeList.train || modeList.exam))
|
|
||||||
{
|
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
|
||||||
item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Checked);
|
|
||||||
|
|
||||||
treeWidget->addTopLevelItem(item);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
|
|
||||||
item->setCheckState(ColumnsTreeSubProc::clmnSP_title, Qt::Unchecked);
|
|
||||||
|
|
||||||
//item->setFlags(item->flags() ^ Qt::ItemIsEnabled);
|
|
||||||
|
|
||||||
#ifdef PROJECT_TYPE_DEBUG
|
|
||||||
treeWidget->addTopLevelItem(item);
|
|
||||||
#else
|
|
||||||
item->setFlags(item->flags() ^ Qt::ItemIsEnabled);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
waitAnimationWidget->hideWithStop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ListSubProc::on_btnAssign_clicked()
|
void ListSubProc::on_btnAssign_clicked()
|
||||||
{
|
{
|
||||||
emit signal_Accepted();
|
emit signal_Accepted();
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class ListSubProc : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ListSubProc(ConnectorToServer* connectorToServer, QWidget *parent = nullptr);
|
explicit ListSubProc(QWidget *parent = nullptr);
|
||||||
~ListSubProc();
|
~ListSubProc();
|
||||||
|
|
||||||
void closeEvent(QCloseEvent *event) override;
|
void closeEvent(QCloseEvent *event) override;
|
||||||
@@ -38,9 +38,6 @@ private:
|
|||||||
void setWidthColumnsTree();
|
void setWidthColumnsTree();
|
||||||
int calculateWidth_0Column();
|
int calculateWidth_0Column();
|
||||||
|
|
||||||
public slots:
|
|
||||||
void slot_UpdateSubProcForDMCode(QString dmCode);
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_btnAssign_clicked();
|
void on_btnAssign_clicked();
|
||||||
|
|
||||||
@@ -50,12 +47,8 @@ signals:
|
|||||||
private:
|
private:
|
||||||
Ui::ListSubProc *ui;
|
Ui::ListSubProc *ui;
|
||||||
|
|
||||||
ConnectorToServer* connectorToServer;
|
|
||||||
|
|
||||||
TaskAmmFim task;
|
TaskAmmFim task;
|
||||||
|
|
||||||
WaitAnimationWidget *waitAnimationWidget;
|
|
||||||
|
|
||||||
QTreeWidget* treeWidget;
|
QTreeWidget* treeWidget;
|
||||||
QList<int> listWidthColumn;
|
QList<int> listWidthColumn;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ void SubProcItemWidget::setListSubProc(const QList<SubProc> &list)
|
|||||||
|
|
||||||
for (SubProc subProc : list)
|
for (SubProc subProc : list)
|
||||||
{/*Подпроцедуры*/
|
{/*Подпроцедуры*/
|
||||||
ui->listWidget->addItem(QString("* %1\n [%2]").arg(subProc.getTitle(), subProc.getDmCode()));
|
ui->listWidget->addItem(QString("- %1 [%2]").arg(subProc.getTitle(), subProc.getDmCode()));
|
||||||
|
|
||||||
//Делаем item невыделяемым
|
//Делаем item невыделяемым
|
||||||
QListWidgetItem* item = ui->listWidget->item(ui->listWidget->count() - 1);
|
QListWidgetItem* item = ui->listWidget->item(ui->listWidget->count() - 1);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>400</width>
|
<width>700</width>
|
||||||
<height>300</height>
|
<height>300</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -497,10 +497,14 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmm
|
|||||||
QString code = task.ammProcedure.dmCode;
|
QString code = task.ammProcedure.dmCode;
|
||||||
QString status = task.status;
|
QString status = task.status;
|
||||||
|
|
||||||
item = new QTreeWidgetItem();
|
item = new QTreeWidgetItem(treeWidget);
|
||||||
|
|
||||||
|
//item->setData(0, UserRole_MergeCell, false);
|
||||||
|
|
||||||
treeWidget->addTopLevelItem(item);
|
treeWidget->addTopLevelItem(item);
|
||||||
|
|
||||||
|
//treeWidget->setFirstItemColumnSpanned(item, true);
|
||||||
|
|
||||||
item->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
item->setIcon(0, QIcon(":/resources/icons/procedure.png"));
|
||||||
|
|
||||||
item->setText(ColumnsTreeAMM::clmnAMM_PMorDM, text);
|
item->setText(ColumnsTreeAMM::clmnAMM_PMorDM, text);
|
||||||
@@ -543,8 +547,12 @@ void TaskAMMFIMTreePreparation::slot_prepareAMMListItemsForTrainee(QList<TaskAmm
|
|||||||
itemWidget->setListSubProc(task.listSubProc);
|
itemWidget->setListSubProc(task.listSubProc);
|
||||||
//itemWidget->setAutoFillBackground(true);
|
//itemWidget->setAutoFillBackground(true);
|
||||||
|
|
||||||
|
//itemSubProc->setData(0, UserRole_MergeCell, true);
|
||||||
|
|
||||||
item->addChild(itemSubProc);
|
item->addChild(itemSubProc);
|
||||||
treeWidget->setItemWidget(itemSubProc, 0, itemWidget);
|
treeWidget->setItemWidget(itemSubProc, 0, itemWidget);
|
||||||
|
|
||||||
|
itemSubProc->setFirstColumnSpanned(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user