/** * @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 #include #include #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 #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 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