|
@@ -19,18 +19,16 @@
|
|
|
|
|
|
ProjectView::ProjectView(ProjectInfo *proj, QWidget *parent) : QWidget(parent), m_proj(proj)
|
|
|
{
|
|
|
- selectItem(m_tree->topLevelItem(0), 0);
|
|
|
+ initWidgets();
|
|
|
+ initLayout();
|
|
|
+ connectSigalsAndSlots();
|
|
|
+ if (m_tree->topLevelItemCount() > 0) {
|
|
|
+ itemClicked(m_tree->topLevelItem(0), 0);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
void ProjectView::showEvent(QShowEvent *event)
|
|
|
{
|
|
|
- if (m_initilized == false) {
|
|
|
- initWidgets();
|
|
|
- initLayout();
|
|
|
- connectSigalsAndSlots();
|
|
|
- m_initilized = true;
|
|
|
- }
|
|
|
-
|
|
|
QWidget::showEvent(event);
|
|
|
}
|
|
|
|
|
@@ -50,16 +48,17 @@ void ProjectView::initWidgets()
|
|
|
m_title->setText(m_proj->projectName);
|
|
|
QFont ft("Microsoft YaHei", 14);
|
|
|
m_title->setFont(ft);
|
|
|
-
|
|
|
m_close = new PushButton("关闭", this);
|
|
|
+ m_tree = new TreeWidget(this);
|
|
|
|
|
|
- m_tree = new TreeWidget(this);
|
|
|
-
|
|
|
+ // 根据评估类型添加列表条目
|
|
|
QList<ProjectManager::EvalType> types = ProjectManager::evalTypeList(*m_proj);
|
|
|
for (int i = 0; i < types.count(); i++) {
|
|
|
QString typeName = ProjectManager::nameOfEvalType(types[i]);
|
|
|
QTreeWidgetItem *item = new QTreeWidgetItem({ typeName });
|
|
|
- item->setData(0, Qt::BackgroundRole, types[i]);
|
|
|
+ Qt::ItemFlags f = item->flags() ^ Qt::ItemIsSelectable;
|
|
|
+ item->setFlags(f); // 设置 topLevelItem 不可选中
|
|
|
+
|
|
|
item->addChildren({ new QTreeWidgetItem({ "指标体系设计" }), new QTreeWidgetItem({ "评估方案规划" }),
|
|
|
new QTreeWidgetItem({ "评估数据采集" }), new QTreeWidgetItem({ "评估数据处理" }) });
|
|
|
m_tree->addTopLevelItem(item);
|
|
@@ -67,14 +66,12 @@ void ProjectView::initWidgets()
|
|
|
|
|
|
m_tree->expandAll();
|
|
|
m_tree->setHeaderHidden(true);
|
|
|
- m_tree->setFixedWidth(300);
|
|
|
+ m_tree->setFixedWidth(200);
|
|
|
|
|
|
+ // 分割线
|
|
|
m_contentSeperator = new QWidget(this);
|
|
|
m_contentSeperator->setFixedWidth(1);
|
|
|
-
|
|
|
QPalette pal(m_contentSeperator->palette());
|
|
|
-
|
|
|
- //设置背景黑色
|
|
|
pal.setColor(QPalette::Background, QColor("#aaaaaa"));
|
|
|
m_contentSeperator->setAutoFillBackground(true);
|
|
|
m_contentSeperator->setPalette(pal);
|
|
@@ -101,27 +98,27 @@ void ProjectView::initLayout()
|
|
|
void ProjectView::connectSigalsAndSlots()
|
|
|
{
|
|
|
connect(m_close, &PushButton::clicked, this, &ProjectView::sigClose);
|
|
|
- connect(m_tree, &TreeWidget::itemClicked, this, &ProjectView::selectItem);
|
|
|
+ connect(m_tree, &TreeWidget::itemClicked, this, &ProjectView::itemClicked);
|
|
|
}
|
|
|
|
|
|
-void ProjectView::selectItem(QTreeWidgetItem *item, int column)
|
|
|
+void ProjectView::itemClicked(QTreeWidgetItem *item, int column)
|
|
|
{
|
|
|
Q_UNUSED(column)
|
|
|
|
|
|
- int typeIndex = m_tree->indexOfTopLevelItem(item);
|
|
|
- int taskIndex = -1;
|
|
|
+ int typeIndex = m_tree->indexOfTopLevelItem(item); // 评估类型, 一级条目
|
|
|
+ int taskIndex = -1; // 评估事项, 二级条目
|
|
|
if (typeIndex < 0) {
|
|
|
typeIndex = m_tree->indexOfTopLevelItem(item->parent());
|
|
|
taskIndex = item->parent()->indexOfChild(item);
|
|
|
}
|
|
|
|
|
|
if (taskIndex < 0) {
|
|
|
- item->setSelected(false);
|
|
|
item->child(0)->setSelected(true);
|
|
|
}
|
|
|
|
|
|
ProjectManager::EvalType type = ProjectManager::evalTypeList(*m_proj)[typeIndex];
|
|
|
QString typeName = ProjectManager::nameOfEvalType(type);
|
|
|
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << typeIndex << type << typeName << taskIndex << endl;
|
|
|
+ qDebug() << __FUNCTION__ << __LINE__ << typeIndex << taskIndex << m_proj->projectName << typeName
|
|
|
+ << m_tree->selectedItems().first()->text(0) << endl;
|
|
|
}
|