logplus/ModuleConsole/include/LogModuleConsole.h
2026-01-16 17:18:41 +08:00

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