|
@@ -109,44 +109,17 @@ void SchemeFlowWidget::setType(int t)
|
|
|
refresh();
|
|
|
}
|
|
|
|
|
|
-void SchemeFlowWidget::initWidget()
|
|
|
-{
|
|
|
- m_graphModel = new DataFlowModel(registerDataModels());
|
|
|
- m_graphModel->setNodesLocked(true);
|
|
|
- m_graphModel->setDetachPossible(false);
|
|
|
-
|
|
|
- auto scene = new DataFlowGraphicsScene(*m_graphModel);
|
|
|
- GraphicsView *view = new GraphicsView(scene);
|
|
|
- scene->setOrientation(Qt::Vertical);
|
|
|
-
|
|
|
- QHBoxLayout *l = new QHBoxLayout(this);
|
|
|
- l->addWidget(view);
|
|
|
-}
|
|
|
-
|
|
|
-void SchemeFlowWidget::clearAllNodes()
|
|
|
+QList<SchemePlanManager::SchemeProcessType> SchemeFlowWidget::schemeTemplate(int indexType)
|
|
|
{
|
|
|
- for (int id : m_graphModel->allNodeIds()) {
|
|
|
- m_graphModel->deleteNode(id);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-void SchemeFlowWidget::refresh()
|
|
|
-{
|
|
|
- clearAllNodes();
|
|
|
-
|
|
|
- int y = 0;
|
|
|
- int space = 50;
|
|
|
- NodeId lastId = -1;
|
|
|
+ /// 方案流程模板
|
|
|
QList<SchemePlanManager::SchemeProcessType> scheme;
|
|
|
-
|
|
|
- switch (m_indexType) {
|
|
|
+ switch (indexType) {
|
|
|
case ProjectManager::AbilityIndex: {
|
|
|
scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
case ProjectManager::TechIndex: {
|
|
|
scheme = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
@@ -168,10 +141,44 @@ void SchemeFlowWidget::refresh()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ return scheme;
|
|
|
+}
|
|
|
+
|
|
|
+void SchemeFlowWidget::initWidget()
|
|
|
+{
|
|
|
+ m_graphModel = new DataFlowModel(registerDataModels());
|
|
|
+ m_graphModel->setNodesLocked(true);
|
|
|
+ m_graphModel->setDetachPossible(false);
|
|
|
+
|
|
|
+ auto scene = new DataFlowGraphicsScene(*m_graphModel);
|
|
|
+ GraphicsView *view = new GraphicsView(scene);
|
|
|
+ scene->setOrientation(Qt::Vertical);
|
|
|
+
|
|
|
+ QHBoxLayout *l = new QHBoxLayout(this);
|
|
|
+ l->addWidget(view);
|
|
|
+}
|
|
|
+
|
|
|
+void SchemeFlowWidget::clearAllNodes()
|
|
|
+{
|
|
|
+ for (int id : m_graphModel->allNodeIds()) {
|
|
|
+ m_graphModel->deleteNode(id);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+void SchemeFlowWidget::refresh()
|
|
|
+{
|
|
|
+ clearAllNodes();
|
|
|
+
|
|
|
+ int y = 0; // 流程图节点位置
|
|
|
+ int space = 50; // 流程图节点间距
|
|
|
+ NodeId lastId = -1;
|
|
|
+
|
|
|
+ QList<SchemePlanManager::SchemeProcessType> scheme = schemeTemplate(m_indexType);
|
|
|
for (int i = 0; i < scheme.count(); i++) {
|
|
|
NodeId id = m_graphModel->addNode(FlowCommonData().type().id);
|
|
|
m_graphModel->setNodeData(id, NodeRole::Position, QPointF(0, y));
|
|
|
FlowGraphCommonNodeWidget *w = new FlowGraphCommonNodeWidget();
|
|
|
+ connect(w, &FlowGraphCommonNodeWidget::sigProcessChanged, this, &SchemeFlowWidget::slotSchemeProcessEdited);
|
|
|
SchemePlanManager::SchemeProcessInfo process;
|
|
|
process.projectId = m_proj->id;
|
|
|
process.indexType = m_indexType;
|
|
@@ -191,7 +198,9 @@ void SchemeFlowWidget::refresh()
|
|
|
|
|
|
lastId = id;
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- // std::unordered_set<NodeId> set = m_graphModel->allNodeIds();
|
|
|
- // for (auto iter = set.begin(); iter != set.end(); ++iter) { }
|
|
|
+void SchemeFlowWidget::slotSchemeProcessEdited(SchemePlanManager::SchemeProcessInfo process)
|
|
|
+{
|
|
|
+ qDebug() << __FUNCTION__ << __LINE__ << process.algorithm << endl;
|
|
|
}
|