#pragma once #include "Defines.h" #include "mTagDefines.h" /// @brief 存放应用模块(比如WTAI)的定义内容 ///////////////////////////////////////// // defines ///////////////////////////////////////// // 工区所在路径,相对路径 #define s_Dir_WorkArea "TestOfWTAI" #ifdef _SCAN_OLD_CODES_ // 新建标识(很久之前的处理方式,目前已经屏蔽该功能) #define s_Tag_NewTab QObject::tr("New") #endif // 新建SubWnd #define s_Tag_NewWnd QObject::tr("New sub wnd") // 最近处理的模型 #define s_Tag_RecentModels "recentModels" // Assist开关标识 #define s_Tag_ModelAssist "modelAssistOn" // 此处应该与XML配置对应,目前只是临时处理方式 #define s_Tag_Wnd_Anal QStringCH("流动段选择") #define s_Tag_Wnd_Fitting QStringCH("流动段分析") // 首页面涉及到的一些配置信息 #define s_Tag_RecentNum "RecentNum" #define s_Tag_MaxRs "MaxRs" #define s_Tag_MaxCl "MaxCl" #define s_Tag_SortBy "SortBy" // 一些工具类的标识设定 #define s_Tag_BasicOption "BasicOption" // Pseu 涉及的参数(分别为常规、三区、组分拟压力) #define s_Tag_Pseu_Normal "PseuPressure" #define s_Tag_Pseu_Tri "PseuPressure3" #define s_Tag_Pseu_Comp "PseuPressureC" // Diffusion 涉及的参数(分别为 KroKrg相渗、StressSensitive压敏、Desorption吸附) #define s_Tag_Diff_KK "KK" #define s_Tag_Diff_SS "SS" #define s_Tag_Diff_DS "DS" // 自动拟合界面参数 #define s_Tag_FA_Method "FaMethod" #define s_Tag_FA_LoopMax "FaLoopMax" #define s_Tag_FA_ErrorMax "FaErrorMax" #define s_Tag_FA_Weight "FaWeight" #define s_Tag_FA_Paras "FaSelectedParas" // 单相多相标识 #define s_Tag_Phase_S QObject::tr("Single phase") #define s_Tag_Phase_M QObject::tr("Multiphase") #define s_Tag_Phase_PS3 QObject::tr("Pseu3Contained") // 历史曲线Btn标识 #define s_Tag_HIST_PF "HistPF" // 处理解析图形 #define s_Tag_ChartDouble QObject::tr("TAG1") #define s_Tag_ChartHarf QObject::tr("TAG2") #define s_Tag_ChartHist QObject::tr("TAG3") #define s_Tag_ChartExt QObject::tr("TAG4") //m_listTags << tr("TAG1") << tr("TAG2") << s_Tag_ChartHist << tr("TAG4"); //m_listCoord<< tr("T") << tr("Sqrt(T)") << tr("0.25T") << tr("-0.5T") << tr("DenChart") << tr("VisChart"); #define s_Tag_ChartSensitivity QObject::tr("SensitivityPlot") #define s_Tag_ChartDoubleEx QObject::tr("DeconvPlot") // IPR #define s_Tag_IPR_EN "IPR" #define s_Tag_IPR_CN QObject::tr("Inflow Performance Relationship") // 注入 #define s_Tag_Inject_EN "Inject" #define s_Tag_Inject_CN QObject::tr("Injection Of CO2") // 耦合 #define s_Tag_Coupling_EN "Coupling" #define s_Tag_Coupling_CN QObject::tr("Coupling Of CO2") // 温压分布 #define s_Tag_Distrib_EN "Distrib" #define s_Tag_Distrib_CN QObject::tr("Distribuition Of CO2") // 小型压裂 #define s_Tag_MiniFr_EN "MiniFr" #define s_Tag_MiniFr_CN QObject::tr("Mini Frac Model") #define s_Key_MiniFrac_In QObject::tr("DataInput") #define s_Key_MiniFrac_Curve QObject::tr("CurveData") #define s_Key_MiniFrac_Out QObject::tr("DataRst") // 模型Key #define s_Key_Wbs QObject::tr("Wbs") #define s_Key_Wel QObject::tr("Wel") #define s_Key_Res QObject::tr("Res") #define s_Key_Bdy QObject::tr("Bdy") // 模型窗口涉及的部分 #define s_Key_ModelOption QObject::tr("ModelOption") #define s_Key_ModelParameter QObject::tr("ModelParameter") #define s_Key_WellBasic QObject::tr("WellBasic") #define s_Key_WellRes QObject::tr("WellRes") #define s_Key_WellFluid QObject::tr("WellFluid") // 聚合物相关 #define s_Key_PF_Normal QObject::tr("Normal") #define s_Key_PF_Interference QObject::tr("Interference") #define s_Key_PF_FractuWell QObject::tr("FractuWell") #define s_Key_PF_NormalEn "Normal" #define s_Key_PF_InterferenceEn "Interference" #define s_Key_PF_FractuWellEn "FractuWell" // 模型开关(启动压力梯度、动态渗透率、小信号、吸附参数、应力敏感 #define s_Key_PressGrad QObject::tr("PressGrad") #define s_Key_DynamicK QObject::tr("DynamicK") #define s_Key_SmallSignal QObject::tr("SmallSignal") #define s_Key_Adsorption QObject::tr("Adsorption") #define s_Key_CrossFlow QObject::tr("CrossFlow") #define s_Key_StressSensitive QObject::tr("StressSensitive") #define s_Key_UseOrNot QObject::tr("UseOrNot options") // 时间格式(流量/压力) #define s_Value_FromStart QObject::tr("Value (FromStart)") #define s_Value_Duration QObject::tr("Value (Duration)") #define s_Real_Time QObject::tr("RealTime") #define s_Real_DateTime QObject::tr("RealDateTime") #define s_Real_Date QObject::tr("RealDate") // 井间距离,干扰时使用 #define s_Inter_Well_Dis "wellDis" // 坐标轴等相关标识 #define s_Tag_Date_EN "Date" #define s_Tag_Time_EN "Time" #define s_Tag_DateTime_EN "DateTime" #define s_Tag_Date_CN QObject::tr("Date") #define s_Tag_Time_CN QObject::tr("Time") #define s_Tag_TimeAccu_CN QObject::tr("AccuTime") #define s_Tag_DateTime_CN QObject::tr("DateTime") #define s_Tag_Pressure_EN "Pressure" #define s_Tag_FlowRate_EN "FlowRate" #define s_Tag_Pressure_CN QObject::tr("Pressure") #define s_Tag_Pressure_CN_Avg QObject::tr("AvgP") #define s_Tag_FlowRate_CN QObject::tr("FlowRate") #define s_Tag_ProdOil_EN "ProdOil" #define s_Tag_ProdOil_CN QObject::tr("ProdOil") #define s_Tag_ProdGas_EN "ProdGas" #define s_Tag_ProdGas_CN QObject::tr("ProdGas") #define s_Tag_ProdWater_EN "ProdWater" #define s_Tag_ProdWater_CN QObject::tr("ProdWater") #define s_Tag_PressurePse_CN QObject::tr("PseudoPressure") //拟压力 #define s_Tag_Deriv_Ext QObject::tr("WithDetiv") //和导数 #define s_Axis_NameX s_Tag_Time_CN #define s_Axis_NameX_Semi s_Tag_TimeAccu_CN #define s_Axis_NameY_P s_Tag_Pressure_CN #define s_Axis_NameY_PGas s_Tag_PressurePse_CN #define s_Axis_NameY_F s_Tag_FlowRate_CN #define s_Axis_NameX_R QObject::tr("Radius") #define s_Axis_NameY_Vis QObject::tr("Vis") #define s_Axis_NameY_Den QObject::tr("Den") #define s_Tag_Other_EN "Other" #define s_Tag_Other_CN QObject::tr("Other") #define s_Tag_Layer_EN "_layer_" // 数据加载 #define s_Format_Date "yyyy-MM-dd" #define s_Format_Time "hh:mm:ss" #define s_Format_DateTime "yyyy-MM-dd hh:mm:ss" // 文件格式 #define s_Test_Src_File_Exts QObject::tr("All supported files(*.txt *.dat *.rec *.xls *.xlsx *.csv);;Test text file(*.txt);;Test dat file(*.dat);;Test dat file(*.rec);;Excel file(*.xlsx);;Excel 97-2003 file(*.xls);;csv file(*.csv);;All file(*.*)") #define s_Test_Src_Db_Exts QObject::tr("Sqlite Database File(*.db)") #define s_Test_Src_mDb_Exts QObject::tr("Sqlite Database File(*.mdb)") // IPR相关定义 #define s_Tag_Eq_Psquare QStringCH("压力平方") #define s_Tag_Eq_PPse QStringCH("拟压力(含三区拟压力)") // 从iToolPreCon移植过来 #define s_PreInput_Structure QObject::tr("Structure") #define s_PreInput_Contraction QObject::tr("ContractionStructure") #define s_PreInput_Expansion QObject::tr("ExpansionStructure") #define s_PreInput_CloseWellDynSurface QObject::tr("CloseWellDynSurface") #define s_Pre_Next QObject::tr("Next") #define s_Pre_Prev QObject::tr("Prev") #define s_Pre_Run QObject::tr("Run") #define s_Pre_SaveFile QObject::tr("SaveFile") #define s_Pre_LoadFile QObject::tr("LoadFile") #define s_Pre_WellHeadPressure QObject::tr("WellHeadPressure") #define s_Pre_BottomHolePressure QObject::tr("BottomHolePressure") // 其他 #define s_Field_FieldName "FieldName" #define s_Field_BlockName "BlockName" // 拖拽之DOM格式 #define s_MimeData_Text "text/uri-list" #define s_MimeData_Abstract "application/x-qabstractitemmodeldatalist" // 数据连接标识 #define s_Conn_DbStrTemp "ConnDbBaseStrTemp" // 产能相关 #define s_Wdt_Serie "WDT" #define s_Wdt_Wel QObject::tr("Wel") #define s_Wdt_SubWel QObject::tr("SubWel") #define s_Wdt_Method QObject::tr("Method") #define s_Wdt_P_Pseu QObject::tr("P_Pseu") #define s_Wdt_P_Square QObject::tr("P_Square") ///////////////////////////////////////// // enums ///////////////////////////////////////// enum MainWindowOption { MWO_MPA = 0, //MPA MWO_WTAI, //CNPC-TEST MWO_WellTestStar, //iWelltestStar MWO_GasCondensate, //iGasCondensateWT MWO_OICE, //iOICE MWO_PPTA, //iPPTA MWO_Unknown }; // 工区/井对象的操作模式 enum DataActionMode { DAM_New = 0, //新建项目 DAM_Edit, //编辑 DAM_Scan, //查看 DAM_SaveAs, //另存为 DAM_CopyAs, //另存为,当前工区未打开 DAM_Clone, //克隆,应用于井克隆,其实与另存为还有些区别 DAM_Unknown }; // 测试类型 enum PvtTestType { PTT_Standard = 0, //标准类型 PTT_Interfere, //干扰试井 PTT_MiniFrac, //小型压裂 PTT_MultiLayers, //多层 PTT_WDT, //产能 PTT_Unknown }; // 左侧工区树 enum DockTreeMode { DTM_Da = 0, //数据 DTM_Jb, //分析Anals DTM_Rs, //成果 DTM_Unknown }; // 成果对比中,每一项参与对比的类型对应 enum ContentCpType { CCT_DbLogRaw = 0, // CCT_DbLogFit, // CCT_Model, // CCT_Parameters, // CCT_HalfLog, // CCT_History, // CCT_Pressure, // CCT_Rate, // CCT_WellBasic, // CCT_Fluid, // CCT_Res, // CCT_Unknown }; // 项目树节点类型 enum MainTreeNodeType { MNT_Top = 0, //全局 MNT_Field, //油田 MNT_Block, //区块 MNT_Well, //井 MNT_Series, //Series MNT_Rs, //Rs MNT_Rs_Child, //Rs具体成果 MNT_Jb, //分析 MNT_DataWell, //WellData MNT_DataAll, //AllData MNT_Data_Child, //WellData或AllData的具体分类 MNT_PF, //PF MNT_PF_Child, //PF具体分类 MNT_UNKNOWN }; // 项目树节点操作命令类型 enum TreeNodeCmd { TNC_Scan = 0, //浏览该节点对应的信息,如数据表、图表,与拖拽类似 TNC_Edit, //弹出对话框,编辑模式,针对后台数据库操作 TNC_New, //新建 TNC_Clone, //克隆,20250114 TNC_Rename, //重命名 TNC_Del, //删除 TNC_SaveRs, //保存成果 TNC_ManageJb, //分析Manager TNC_SetAsDefaultJb, //设为默认分析 TNC_FreshTreeJb,//保存分析之后刷新TreeJb TNC_RstFit, //Rst Fit TNC_RstCp, //Rst Compare TNC_SetAsCurrent, //设置当前井,只是借用 TNC_UNKNOWN }; // 绘图方式 enum ChartRenderType { CRT_Basic = 0, //普通的曲线图 CRT_Bar, //柱状图 CRT_Unknown }; // 多层中模型选项的枚举定义 enum Model_Option_Type { MOT_Wel = 0, //井型 MOT_Res, //储层 MOT_Bdy, //边界 MOT_Wbs, //井储 MOT_Unknown }; // 分析的第几步 enum AnalStepOption { ASO_Basic = 0, //第1步:基础数据 ASO_Pvt, //第2步:PVT ASO_Diffusion, //第3步:Diffusion ASO_Pseu, //第4步:拟压力 ASO_Unknown }; // Diffusion类别 // Diffusion 涉及的参数(分别为 KroKrg相渗、StressSensitive压敏、Desorption吸附) enum DiffusionSubOption { DSO_KK = 0, //KroKrg相渗 DSO_SS, //StressSensitive压敏 DSO_DS, //Desorption吸附 DSO_Unknown }; // 处理解释结果各个子窗口的标识 enum FitSubRstTag { FSRT_DoubleLog = 0, //双对数,对应 iGuiPlot FSRT_SemiLog, //半对数,对应 iGuiPlot FSRT_Hist, //历史曲线,对应 iGuiPlotPF FSRT_Result, //解释结果,对应 QWidget FSRT_Sensitivity, //敏感性分析,对应 iGuiPlot FSRT_NmRst, //数值解释结果,对应 QWidget(这一块与Result,有待确认) FSRT_Nm3D, //数值三维,对应 QWidget(这一块与Result,有待确认) FSRT_Unknown }; // 分析的各个窗体在iAnalRun或者SubWnd中的m_vecWxDatas的排序索引 // 参与序列化:分别为 Basic、Pvt、Diffusion、Pseu共计4个 // 如需调整,需要慎重 getAnalSubTags enum AnalWxIndex { AWI_Basic = 0, //0:Basic AWI_PVT, //1:Pvt AWI_Diffusion, //2:Diffusion AWI_Pseu, //3:Pseu // 如下是Fitting左侧模型相关 AWI_ModelOption, //4:模型选项(解析) AWI_ModelParameter, //5:模型参数(解析) AWI_ModelOptionNm, //6:模型选项(数值) AWI_ModelParameterNm, //7:模型参数(数值) AWI_Unknown }; // 只是为了方便,使用这个计数而言 #define AWI_AnalCount AWI_ModelOption ///////////////////////////////////////// // macros ///////////////////////////////////////// #define zxFillDefaultOfPara zxSysUtils::getInstance()->loadAndFillWithDefault #define zxCurAnalRun dynamic_cast(zxSysUtils::getCurAnalRun())