116 lines
3.4 KiB
C++
116 lines
3.4 KiB
C++
/**
|
|
* @file WorkflowConsole.h
|
|
* @brief 工作流主控台
|
|
* @date 2014-11-24
|
|
* @author: hudongfang
|
|
*/
|
|
|
|
#ifndef WORKFLOWCONSOLE_H
|
|
#define WORKFLOWCONSOLE_H
|
|
#pragma warning( push ,0)
|
|
#include "logModuleParamers.h"
|
|
// #include "VecWindow.h"
|
|
#include <QMainWindow>
|
|
#include <QSplitter>
|
|
#include <QTextEdit>
|
|
#include "OSGFramework.h"
|
|
#include "Turtle_globle.h"
|
|
//#include "WorkflowSceneManager.h"
|
|
#include "PaiModuleToolBarView.h"
|
|
// #include "ParameterEditor.h"
|
|
#include "WorkflowPluginControl.h"
|
|
// #include "PaiAction.h"
|
|
// #include "ModuleParameter.h"
|
|
#include "WellLogWorkflowDataModel.h"
|
|
#include "ModuleInformation.h"
|
|
#include "BaseObject.h"
|
|
#include <QListWidget>
|
|
#pragma warning( pop )
|
|
BEGIN_OSGGRAPHICS_NAMESPACE;
|
|
|
|
using namespace pai;
|
|
using namespace pai::workflow;
|
|
using namespace pai::graphics2d;
|
|
// using namespace pai::gui;
|
|
// using namespace pai::module;
|
|
class PAI_WORKFLOWVIEW_EXPORT CModuleConsole : public /*CVecWindow//*/QMainWindow
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
CModuleConsole(bool isSingleWellWindow=false,QWidget *parent = 0);
|
|
~CModuleConsole();
|
|
WorkflowWidget* GetWorkflowWidget()
|
|
{
|
|
if(g_mModuleParamers) return g_mModuleParamers->m_PWorkflowWidget;
|
|
else return NULL;
|
|
}
|
|
QSplitter * GetVSplitter(){return m_pVSplitter;}
|
|
WorkflowPluginControl* GetWorkflowControl(){return m_control;};
|
|
static void NewWorkflow(QObject*pObject,QString strTabText);
|
|
static void OpenWorkflow(QObject*pObject,QString strTabText);
|
|
void SaveWorkfow(QAction * pAction);
|
|
void RunWorkflow(QAction * pAction);
|
|
void SetWorkflowDataModelParent(CBaseObject * aparentFolder);
|
|
void CreateWorkflowDataModel(QUuid id);
|
|
// void CreatWorkflowEditor(CWellLogWorkflowDataModel * pWorkflowDataModel);
|
|
void SwitchMode();
|
|
/**
|
|
* @brief 窗口关闭之前调用,做一些清理工作
|
|
*/
|
|
virtual void closeEvent(QCloseEvent *event);
|
|
void SetSelectModuleID(QString val) {m_SelectModuleID = val;}
|
|
QString GetSelectedModuleClassId(){return m_SelectModuleID;}
|
|
void SetSelectedModuleName(QString name){m_SelectModuleName = name;}
|
|
QString GetSelectedModuleName(){return m_SelectModuleName;}
|
|
|
|
void SetSelectedCompositeMethod(QString name){m_SelectedCompositeMethod = name;}
|
|
QString GetSelectedCompositeMethod(){return m_SelectedCompositeMethod;}
|
|
CModuleParamers *g_mModuleParamers;
|
|
CWellLogWorkflowDataModel* m_pWorkflowDataModel;
|
|
QString wellRoundpath;
|
|
bool DefineMothodMode;
|
|
void RunWorkFlow();
|
|
void RunWorkFlow(float sdep,float edep);
|
|
public:
|
|
QString GetCurrentSLFFileName();
|
|
bool m_SingleWellWindow;
|
|
private slots:
|
|
/**
|
|
* @brief 双击模块,打开参数编辑面板
|
|
*/
|
|
void slotSetCurrentWorkflowWindow(QObject *pObject);
|
|
void slotCloseAllWorkflowWindow(QObject * pObject);
|
|
void slotModuleOpenOrClose();
|
|
|
|
private:
|
|
/**
|
|
* @brief workflow编辑区
|
|
*/
|
|
// WorkflowWidget* m_PWorkflowWidget;
|
|
/**
|
|
* @brief worklowconsole控制类
|
|
*/
|
|
WorkflowPluginControl *m_control;
|
|
CBaseObject * m_parentFolder;
|
|
QSplitter * m_pVSplitter;
|
|
QString m_SelectModuleID;
|
|
QString m_SelectModuleName;
|
|
//如果用了组合方法,则是组合方法的文件名
|
|
QString m_SelectedCompositeMethod;
|
|
public:
|
|
std::vector<CModuleInformation*> bmoduleinfos;
|
|
protected:
|
|
bool eventFilter(QObject *o, QEvent *e);//事件过滤器
|
|
};
|
|
|
|
|
|
/**
|
|
* @brief 得到当前的workflowConsole
|
|
*/
|
|
PAI_WORKFLOWVIEW_EXPORT CModuleConsole *GetWorkflowConsole();
|
|
PAI_WORKFLOWVIEW_EXPORT void SetWorkflowConsole( CModuleConsole *pWorkflowConsole );
|
|
END_OSGGRAPHICS_NAMESPACE
|
|
using namespace pai::graphics;
|
|
#endif // WORKFLOWCONSOLE_H
|