|
@@ -90,7 +90,7 @@ static void setStyle_()
|
|
|
)");
|
|
|
}
|
|
|
|
|
|
-SchemeFlowWidget::SchemeFlowWidget(ProjectInfo *proj, QWidget *parent) : QWidget(parent), m_proj(proj)
|
|
|
+SchemeFlowWidget::SchemeFlowWidget(QWidget *parent) : QWidget(parent)
|
|
|
{
|
|
|
setStyle_();
|
|
|
initWidget();
|
|
@@ -101,31 +101,6 @@ SchemeFlowWidget::~SchemeFlowWidget()
|
|
|
delete m_graphModel;
|
|
|
}
|
|
|
|
|
|
-ProjectInfo *SchemeFlowWidget::proj() const
|
|
|
-{
|
|
|
- return m_proj;
|
|
|
-}
|
|
|
-
|
|
|
-void SchemeFlowWidget::setType(int t)
|
|
|
-{
|
|
|
- m_indexType = t;
|
|
|
-
|
|
|
- QList<SchemePlanManager::SchemeProcessInfo> schemes;
|
|
|
-
|
|
|
- bool ret = SchemeProcessService().QueryAllByProjectIdAndIndexType(schemes);
|
|
|
-
|
|
|
- if (ret && schemes.count() <= 1) {
|
|
|
- schemes = templateSchemes(m_proj->id, m_indexType);
|
|
|
- emit sigSchemeProcessCreated();
|
|
|
- }
|
|
|
- loadSchemes(schemes);
|
|
|
-}
|
|
|
-
|
|
|
-int SchemeFlowWidget::indexType() const
|
|
|
-{
|
|
|
- return m_indexType;
|
|
|
-}
|
|
|
-
|
|
|
QList<SchemePlanManager::SchemeProcessInfo> SchemeFlowWidget::schemes() const
|
|
|
{
|
|
|
QList<SchemePlanManager::SchemeProcessInfo> schemes;
|
|
@@ -139,71 +114,6 @@ QList<SchemePlanManager::SchemeProcessInfo> SchemeFlowWidget::schemes() const
|
|
|
return schemes;
|
|
|
}
|
|
|
|
|
|
-QList<SchemePlanManager::SchemeProcessInfo> SchemeFlowWidget::templateSchemes(int projId, int indexType)
|
|
|
-{
|
|
|
- QList<SchemePlanManager::SchemeProcessType> types;
|
|
|
- switch (indexType) {
|
|
|
- case ProjectManager::AbilityIndex: {
|
|
|
- types = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
- SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
- SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
- break;
|
|
|
- }
|
|
|
- case ProjectManager::TechIndex: {
|
|
|
- types = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
- SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
- break;
|
|
|
- }
|
|
|
- case ProjectManager::OptimalIndex: {
|
|
|
- types = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
- SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
- SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
- SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
- break;
|
|
|
- }
|
|
|
- case ProjectManager::EfficiencyIndex: {
|
|
|
- types = { SchemePlanManager::IndexSystem, SchemePlanManager::ImportWeightData,
|
|
|
- SchemePlanManager::OptimizeIndex, SchemePlanManager::CalculateWeight,
|
|
|
- SchemePlanManager::ImportEvalData, SchemePlanManager::RunEvaluate,
|
|
|
- SchemePlanManager::ShowEvalResult, SchemePlanManager::GenerateReport };
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- QList<SchemePlanManager::SchemeProcessInfo> schemes;
|
|
|
- for (int i = 0; i < types.count(); i++) {
|
|
|
- SchemePlanManager::SchemeProcessInfo process;
|
|
|
- process.projectId = projId;
|
|
|
- process.indexType = indexType;
|
|
|
- process.type = types[i];
|
|
|
- process.step = i;
|
|
|
- schemes.append(process);
|
|
|
- }
|
|
|
-
|
|
|
- return schemes;
|
|
|
-}
|
|
|
-
|
|
|
-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::loadSchemes(const QList<SchemePlanManager::SchemeProcessInfo> &schems)
|
|
|
{
|
|
|
clearAllNodes();
|
|
@@ -235,6 +145,27 @@ void SchemeFlowWidget::loadSchemes(const QList<SchemePlanManager::SchemeProcessI
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+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::slotSchemeProcessEdited(const SchemePlanManager::SchemeProcessInfo &process)
|
|
|
{
|
|
|
emit sigSchemeProcessEdited(process);
|