feat:合并新框架。

feature/Adapt-Autofit-20260904
lh 2 months ago
parent 4a0b3b8e91
commit 89425fbcc9

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -10,8 +10,8 @@ NoOverlay_Deriv=0,14,255,0,0,0,1,1,3,255,0,0,0.4,0
SmallSig=0,14,255,0,0,0,1,1,7,255,0,0,0.4,0
# ===== 理论曲线组 =====
TheorySouce=1,14,255,0,0,0,1,0,0,255,0,0,0.4,0
TheoryDeriv=1,14,105,105,105,0,1,0,0,255,0,0,0.4,0
TheorySouce=1,14,255,0,0,0.25,1,0,0,255,0,0,0.4,0
TheoryDeriv=1,14,64,64,64,0.25,1,0,0,255,0,0,0.4,0
NoOverlay_TheoryDeriv=1,14,105,105,105,0,1,0,0,255,0,0,0.4,0
Ppd=0,14,255,0,255,0,1,1,3,255,0,255,0.4,0
TheorySmallSig=1,14,105,105,105,0,1,0,0,255,0,255,0.4,0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -4,7 +4,7 @@
Date = {日}{年}{月}{Day}{Date}{Time}{Year};
Time = {时间}{time}{Time};
DateTime = {时间} {时}{Time};
Pressure = {Pressure}{Pre}{P}{压};
Pressure = {Pressure}{Pre}{压};
FlowRate = {流}{率}{量};
Temprature = {Temprature}{温}{Temp};
ProdOil = {ProdOil}{油}{Oil}{O};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
W0xpY2Vuc2Vdcup_mpaClZlcnNpb249MS4wCkV4cGlyYXRpb25EYXRlPTIwMjYtMTAtMTEKSXNQZXJtYW5lbnwzyQ9MApNb2R1bGVzPUFuYWwgVGVzdCxOdW0gVGVzdCxJUFIgVGVzdCxBSSBUZXN0CkN1c3RvbWVycz3mtYvor5UKSGFzaD1jMGFmNDliODQ3OGVjZDVjNmEzYjZlYWVhNWI3NjRiYQ==
W0xpY2Vuc2Vdcup_mpaClZlcnNpb249MS4wCkV4cGlyYXRpb25EYXRlPTIwMjctMDEtMjMKSXNQZXJtYW5lbnwzyQ9MApNb2R1bGVzPUFuYWwgVGVzdCxOdW0gVGVzdCxJUFIgVGVzdCxBSSBUZXN0CkN1c3RvbWVycz3mmIbku5HmlbDmmbrvvIxHWDA2Ckhhc2g9ZGFmYzdiZTIxYWIxNWRhM2Q2NzQ0ZmYyMDExY2IyNDU=

@ -330,12 +330,12 @@
<translation>程序未能正确安装。</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1299"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1314"/>
<source>Export excel file</source>
<translation>导出Excel</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1301"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1316"/>
<source>Excel files (*.xlsx);;Excel 97-2003 files (*.xls)</source>
<translation type="unfinished"></translation>
</message>
@ -352,7 +352,7 @@
<translation type="obsolete">未能找到&apos;%1&apos;的单位信息</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iUtils/ZxBaseUtil.cpp" line="1229"/>
<location filename="../../../../../iFramework/Src/iBase/iUtils/ZxBaseUtil.cpp" line="1298"/>
<source> </source>
<translation></translation>
</message>
@ -432,33 +432,34 @@
<translation></translation>
</message>
<message id="nullptr">
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngine.cpp" line="210"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngine.cpp" line="319"/>
<source>Failed to find %1 file</source>
<translation type="unfinished">未能找到文件:&apos;%1&apos;</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngine.cpp" line="236"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngine.cpp" line="345"/>
<source>File format not supported %1 file</source>
<translation>文件格式不支持:%1</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineExcel.cpp" line="40"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineExcel.cpp" line="44"/>
<source>Find no data from Excel &apos;%1&apos;</source>
<translation>Excel文件%1数据为空.</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineExcel.cpp" line="84"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineExcel.cpp" line="114"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iTryParseHelper.cpp" line="55"/>
<source>Failed to parse header.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="365"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="389"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="370"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="394"/>
<source>Failed to find infomation of &apos;%1&apos;</source>
<translation>未能找到参数&apos;%1&apos;的配置信息</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="410"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/zxSysUtils.cpp" line="415"/>
<source>Failed to find config of &apos;%1&apos;</source>
<translation>未能找到单位&apos;%1&apos;的配置信息</translation>
</message>
@ -486,7 +487,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1410"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1844"/>
<source>Current point already added.</source>
<translation>已经加入.</translation>
</message>
@ -640,12 +641,7 @@
<translation type="obsolete">未能找到文件:&apos;%1&apos;</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubSeg.cpp" line="283"/>
<source>Seg %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubSeg.cpp" line="366"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubSegEx.cpp" line="770"/>
<source>Len Error: Per Len is %1; All Len is %2</source>
<translation type="unfinished"></translation>
</message>
@ -655,33 +651,33 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="540"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="613"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="539"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="612"/>
<source>Failed to find table xml defines of &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="552"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="551"/>
<source>&apos;%1&apos; key field is empty.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="592"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="591"/>
<source>Failed to find default code here, please check it.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="724"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="723"/>
<source>Type &apos;%1&apos; not supported.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="777"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="776"/>
<source>&apos;%1&apos; key field and value not match.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="810"/>
<location filename="../../../../../iFramework/Src/iData/iDataPool/ZxDataObject.cpp" line="809"/>
<source>Error configed.</source>
<translation type="unfinished"></translation>
</message>
@ -701,7 +697,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubSegEx.cpp" line="96"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubSegEx.cpp" line="111"/>
<source>More parameters...</source>
<translation type="unfinished"></translation>
</message>
@ -711,7 +707,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubNormal.cpp" line="110"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSubNormal.cpp" line="175"/>
<source>Layer %1</source>
<translation type="unfinished"></translation>
</message>
@ -777,19 +773,19 @@
<translation type="unfinished"></translation>
</message>
<message id="s_Sys_Para_Default">
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="81"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="88"/>
<source>Key is empty.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="105"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="214"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaSpHelper.cpp" line="86"/>
<source>Failed to load para defines.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="123"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="175"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="232"/>
<location filename="../../../../../iFramework/Src/iData/iSysUtils/iSysParaHelper.cpp" line="284"/>
<source>Failed to find para defines of &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
@ -817,6 +813,16 @@
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iException/zxExceptionHolder.cpp" line="253"/>
<source>BrowseDmp</source>
<translation>打开dmp目录</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iException/zxExceptionHolder.cpp" line="255"/>
<source>Close</source>
<translation>关闭</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iDataEngine/ZxDbSimple.cpp" line="90"/>
<location filename="../../../../../iFramework/Src/iData/iDataEngine/ZxDbSimple.cpp" line="113"/>
@ -828,7 +834,7 @@
<message>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="50"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="113"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="204"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="206"/>
<source>Failed to open file
%1</source>
<translation type="unfinished"></translation>
@ -840,13 +846,28 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="249"/>
<location filename="../../../../../iFramework/Src/iData/iFileEngine/iFileEngineDat.cpp" line="251"/>
<source>Failed to parse header of file
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="213"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="1081"/>
<source>iUnitWxBinder/copyFrom: Count not match(%1 vs %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/zxBindWxPair.cpp" line="119"/>
<source>zxBindWxPair/copyFrom: Count not match(%1 vs %2)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowItemSub.cpp" line="317"/>
<source>No.#</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="214"/>
<source>Scene of view is null,
nothing to save.</source>
<translation type="unfinished"></translation>
@ -2612,22 +2633,22 @@ p, li { white-space: pre-wrap; }
<translation>添加对象失败。</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1506"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1940"/>
<source>Send to Back</source>
<translation>置于最后</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1518"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1952"/>
<source>Send Backward</source>
<translation>后移一层</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1529"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1963"/>
<source>Bring Forward</source>
<translation>前移一层</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1540"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/ZxPlot.cpp" line="1974"/>
<source>Bring to Front</source>
<translation>置于最前</translation>
</message>
@ -3183,116 +3204,116 @@ p, li { white-space: pre-wrap; }
<context>
<name>ZxTableView</name>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="125"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="241"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="130"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="246"/>
<source>&amp;Format columns</source>
<translation>设置样式</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="130"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="246"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="135"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="251"/>
<source>Clear Selection</source>
<translation>复原选择状态</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="145"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="150"/>
<source>&amp;Insert One Row (Above)</source>
<translation>插入一行(上侧)</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="148"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="153"/>
<source>&amp;Insert One Row (Below)</source>
<translation>插入一行(下侧)</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="153"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="158"/>
<source>&amp;Insert Multi Rows</source>
<translation>插入多行</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="157"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="162"/>
<source>&amp;Above</source>
<translation>上侧</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="161"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="166"/>
<source>&amp;Below</source>
<translation>下侧</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="171"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="176"/>
<source>&amp;Insert Column</source>
<translation>插入列</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="179"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="184"/>
<source>&amp;Remove Row</source>
<translation>删除行</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="186"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="191"/>
<source>&amp;Remove Column</source>
<translation>删除列</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="197"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="202"/>
<source>&amp;Copy</source>
<translation>复制</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="207"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="212"/>
<source>&amp;Paste</source>
<translation>粘贴</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="215"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="220"/>
<source>&amp;Cut</source>
<translation>剪切</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="258"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="263"/>
<source>&amp;Save to DataBase</source>
<translation>保存入库</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="252"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="257"/>
<source>&amp;Export Data</source>
<translation>导出</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="608"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="624"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="613"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="629"/>
<source>Input insert Rows</source>
<translation>插入的行数</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="609"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="625"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="614"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="630"/>
<source>Row Number:</source>
<translation>行数:</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="677"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="682"/>
<source>Input insert Columns</source>
<translation>插入的列数</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="678"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="683"/>
<source>Column Number:</source>
<translation>列数:</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="731"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="736"/>
<source>Make sure to delete selected records?</source>
<translation>确定删除所选?</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1329"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1344"/>
<source>Data exported successfully.</source>
<translation>数据成功导出.</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1336"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableView.cpp" line="1351"/>
<source>Failed to export data.</source>
<translation>导出数据失败.</translation>
</message>
@ -3300,7 +3321,14 @@ p, li { white-space: pre-wrap; }
<context>
<name>ZxTableViewEx</name>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableViewEx.cpp" line="142"/>
<source>All</source>
<translation type="obsolete">全部</translation>
</message>
</context>
<context>
<name>ZxTableViewFilter</name>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxTableViewFilter.cpp" line="144"/>
<source>All</source>
<translation type="unfinished">全部</translation>
</message>
@ -3339,31 +3367,31 @@ p, li { white-space: pre-wrap; }
<context>
<name>ZxUiBase</name>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="199"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="205"/>
<source>Error to write type of &apos;%1&apos; here</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="247"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="258"/>
<source>Error to read type of &apos;%1&apos; here</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="392"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="610"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="803"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="396"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="564"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="706"/>
<source>%1 not considered.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="450"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="677"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="839"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="411"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="580"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="723"/>
<source>TODO: type of &apos;%1&apos; here</source>
<translation type="unfinished">序列化操作类型&apos;%1&apos;出错</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="709"/>
<location filename="../../../../../iFramework/Src/iBase/iPlugin/ZxUiBase.cpp" line="612"/>
<source>Not matched: %1</source>
<translation type="unfinished">不匹配:%1</translation>
</message>
@ -3563,22 +3591,22 @@ p, li { white-space: pre-wrap; }
<context>
<name>iGridResultUtils</name>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="96"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="94"/>
<source>No items found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="791"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="803"/>
<source>Copy Current Item</source>
<translation>拷贝当前项</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="800"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="812"/>
<source>Copy Current Group</source>
<translation>拷贝当前组</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="807"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridResultUtils.cpp" line="819"/>
<source>Copy All Items</source>
<translation>拷贝所有组/项</translation>
</message>
@ -3615,39 +3643,55 @@ p, li { white-space: pre-wrap; }
<context>
<name>iGridRowUtils</name>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="159"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="323"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="165"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="329"/>
<source>No parameters found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="251"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="387"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="257"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="393"/>
<source>Failed to find config of &apos;%1&apos;</source>
<translation type="unfinished">未能找到参数&apos;%1&apos;的配置信息</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="916"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="937"/>
<source>Property</source>
<translation>属性</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="928"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="949"/>
<source>Value</source>
<translation>数值</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2051"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="1541"/>
<source>ParaItem count not match</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="1542"/>
<source> (%1 vs %2)
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="1543"/>
<source> results may be improper.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2614"/>
<source>Copy Current Item</source>
<translation>拷贝当前项</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2060"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2623"/>
<source>Copy Current Group</source>
<translation>拷贝当前组</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2067"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiGridPty/iGridRowUtils.cpp" line="2630"/>
<source>Copy All Items</source>
<translation>拷贝所有组/项</translation>
</message>
@ -3820,26 +3864,32 @@ p, li { white-space: pre-wrap; }
<context>
<name>iParaItemCtrl</name>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iParaItemCtrl.cpp" line="136"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iParaItemCtrl.cpp" line="146"/>
<source>CloseB</source>
<translation>不渗透</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iParaItemCtrl.cpp" line="137"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iParaItemCtrl.cpp" line="147"/>
<source>FixP</source>
<translation>定压</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iParaItemCtrl.cpp" line="952"/>
<source>Conversion needed
but failed to get unit group of (&apos;%1&apos;, &apos;%2&apos;)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>iPlotBaseWxT</name>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotWxT/iPlotBaseWxT.cpp" line="482"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotWxT/iPlotBaseWxT.cpp" line="515"/>
<source>Failed to parse
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotWxT/iPlotBaseWxT.cpp" line="495"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotWxT/iPlotBaseWxT.cpp" line="528"/>
<source>Failed to load
</source>
<translation type="unfinished"></translation>
@ -3899,6 +3949,33 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>iUnitWxBinder</name>
<message id="false">
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="50"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="126"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="212"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="298"/>
<source>pTbxValue is empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="218"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="306"/>
<source>LineEdit already registered</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="327"/>
<source>Initial values count mismatch</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiBase/iUnitWxBinder.cpp" line="1265"/>
<source>Convert failed for index &apos;%1&apos;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>iWisDataSelectDlg</name>
<message>
@ -4654,6 +4731,14 @@ p, li { white-space: pre-wrap; }
<translation type="obsolete">浏览</translation>
</message>
</context>
<context>
<name>iWxGroupBar</name>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxGroupBar.cpp" line="430"/>
<source>Type &apos;%1&apos; from &apos;%2&apos; not supported</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>iWxHelp</name>
<message>
@ -5035,18 +5120,6 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="123"/>
<source>Failed to find file
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="231"/>
<source>Invalid receiver address
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="301"/>
<source>Attachment larger than max,ignored:
%1</source>
<translation type="unfinished"></translation>
</message>
@ -5065,6 +5138,12 @@ p, li { white-space: pre-wrap; }
<source>Invalid sender address</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="231"/>
<source>Invalid receiver address
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="242"/>
<source>Eamil theme is empty, continue to send?</source>
@ -5075,6 +5154,12 @@ p, li { white-space: pre-wrap; }
<source>Eamil main body is empty, continue to send?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="301"/>
<source>Attachment larger than max,ignored:
%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iNetWork/iSendMail/iWxMailSender.cpp" line="364"/>
<source>Failed to build SMTP connection</source>
@ -5269,7 +5354,7 @@ p, li { white-space: pre-wrap; }
<message>
<location filename="../../../../../iFramework/Src/iLicense/iLicenseWx/iWxRegFile.ui" line="31"/>
<source>File</source>
<translation type="unfinished"></translation>
<translation type="unfinished">文件</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iLicense/iLicenseWx/iWxRegFile.ui" line="47"/>
@ -5408,12 +5493,12 @@ p, li { white-space: pre-wrap; }
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxRibbon.cpp" line="223"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxRibbon.cpp" line="226"/>
<source>failed to find Ribbon File settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxRibbon.cpp" line="543"/>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxRibbon.cpp" line="614"/>
<source>(%1) %2 [%3]</source>
<translation type="unfinished"></translation>
</message>
@ -5534,11 +5619,6 @@ Loaded successfully.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="181"/>
<source>run &apos;Load&apos; first.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="210"/>
<source>
@ -5546,11 +5626,6 @@ Extracted %1 items successfully.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="222"/>
<source>Make sure to save/override attribute file?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="237"/>
<source>Failed to open temp file
@ -5564,11 +5639,6 @@ Saved xmlfile successfully.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="277"/>
<source>File not exists.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="291"/>
<source>
@ -5583,12 +5653,19 @@ Failed to converted xml to dat.
</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>iWxToolBar</name>
<message>
<location filename="../../../../../iFramework/Src/iGui/iGuiRibbon/iWxToolBar.cpp" line="389"/>
<source>Type &apos;%1&apos; from &apos;%2&apos; not supported</source>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="181"/>
<source>run &apos;Load&apos; first.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="222"/>
<source>Make sure to save/override attribute file?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iTool/iToolAttributes/iWxToolAttributes.cpp" line="277"/>
<source>File not exists.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -5741,7 +5818,7 @@ Converted xmlfile successfully.
<context>
<name>iXmlItemBase</name>
<message>
<location filename="../../../../../iFramework/Src/iBase/iXmlBase/iXmlItemBase.cpp" line="225"/>
<location filename="../../../../../iFramework/Src/iBase/iXmlBase/iXmlItemBase.cpp" line="226"/>
<source>Parent object changed from &apos;%1&apos;&apos; to &apos;%2&apos;.</source>
<translation type="unfinished"></translation>
</message>
@ -5749,22 +5826,22 @@ Converted xmlfile successfully.
<context>
<name>tCurvePlotView</name>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="105"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="106"/>
<source>Save as image</source>
<translation>存为图片</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="110"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="111"/>
<source>Copy to clipboard</source>
<translation>复制图片</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="116"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="117"/>
<source>Print</source>
<translation>打印</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="120"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="121"/>
<source>Print Preview</source>
<translation>打印预览</translation>
</message>
@ -5779,62 +5856,62 @@ Converted xmlfile successfully.
<translation type="obsolete">图片保存成功.</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="55"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="56"/>
<source>Undo</source>
<translation>撤销</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="60"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="61"/>
<source>Redo</source>
<translation>恢复</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="72"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="73"/>
<source>Optimize Axis X&amp;Y</source>
<translation>优化坐标轴范围</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="79"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="80"/>
<source>Optimize Axis X</source>
<translation>优化X轴范围</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="84"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="85"/>
<source>Optimize Axis Y</source>
<translation>优化Y轴范围</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="93"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="94"/>
<source>Show/hide title</source>
<translation>显示/隐藏标题</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="98"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="99"/>
<source>Show/hide legend</source>
<translation>显示/隐藏图例</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="186"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="187"/>
<source>Failed to copy image.</source>
<translation>复制图片失败.</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="218"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="219"/>
<source>PNG file(*.png);;JPG file(*.jpg);;TIFF file(*.tiff);;BMP file(*.bmp);;SVG file(*.svg);;PDF file(*.pdf)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="221"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="222"/>
<source>Save File</source>
<translation>保存文件</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="248"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="249"/>
<source>Failed to export image file.</source>
<translation>存为图片失败.</translation>
</message>
<message>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="402"/>
<location filename="../../../../../iFramework/Src/iPlot/iPlotCurveT/tCurvePlotView.cpp" line="455"/>
<source> Current Pos:%1-%2</source>
<translation type="unfinished"></translation>
</message>

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -29,7 +29,7 @@ Password = fk20258888
SQLiteByWell = 0; 是否一口井一个db文件模式,1:是,其它:否
WellTestStar = 0; 新疆试井之星,1:是,其它:否
TempBindingP = 1; 是否支持温度数据(指的是加载压力时,是否同步考虑温度)
OgwBindingF = 0; 是否支持多相数据(指的是加载流量时,是否同步考虑油气水多相)
OgwBindingF = 1; 是否支持多相数据(指的是加载流量时,是否同步考虑油气水多相)
;项目树中的数据节点
[ProjTreeInfos]
@ -85,7 +85,7 @@ wColCountPerPage = 2; 导出word时,表格数据每页多少表格并排
wLineCountPerSpan = 461e8b88f5f7119a7c45dc91a59fa029; 导出word时,内部描述信息
NaviShowMode = 1; 模型导航模式,1:为菜单模式,其它:原来模式
SegMaxToTrim = 5; 一旦流动段多于该数,则仅仅对当前段进行处理
CustomThin = 0; 是否允许定制抽稀参数
CustomThin = 1; 是否允许定制抽稀参数
UnitConvert = 1; 是否允许单位转换
TailorOffset = 0; (范围0-50,%)
BaseResolutionW = 1920; 基准分辨率 1024 1920

@ -84,7 +84,51 @@ div.block_latest
<div class='block_latest'>
<h2 class="title_latest">软件版本:20260720</h2>
<h2 class="title_latest">软件版本:20260819</h2>
<ol>
<li class="li_important_latest">优化:气相拟压力换算问题,解决压力史锯齿问题</li>
<li class="li_important_latest">优化:不再启用两条实际压力导数,模型统一进行处理</li>
<li>调整:流动段选择压力曲线改为点模式</li>
<li>修复:表皮系数输入负值,在切换不同模型之后,保持红色的问题</li>
<li>修复:所有水平井模型下井储系数单位不显示</li>
<li>修复:PVT拟压力表格在加载成果模式下无法查看</li>
<li>修复:PVT拟压力表格单位不对</li>
<li>修复:属性表下拉组件扩充int类型支持(产能)</li>
<li>修复:产量单位换算有误</li>
<li>修复:Miug计算Lee方法算法问题</li>
<li>修复:当反序列化时,需要重置左侧表格,否则会重复添加,导致两个压力两个流量</li>
</ol>
<h2 class="title">软件版本:20260731</h2>
<ol>
<li>修复:PVT高级按钮刷新无效问题</li>
<li class="li_important">修复:单位配置的数据项与原先不一致,导致老工区加载出问题</li>
<li>修复:非bj的Serie加载文件无效问题</li>
<li>修复:打开wtf工区如果工区名称与路径不一致会导致无法加载</li>
<li class="li_important">新增:产能模块流程集成代码基本完成,有待进行算法挂接</li>
<li>优化:异常崩溃dmp文件支持定位文件目录,方便发送给技术人员</li>
<li>优化:产能基础模型视图增加y轴上下颠倒</li>
</ol>
<h2 class="title">软件版本:20260726</h2>
<ol>
<li>修复:PVT参数序列化(ParaCtrl)问题修复</li>
<li>修复:表格水平滚动后,个别单位下拉无法激活</li>
<li>修复:基础数据等表格表头显示不了</li>
<li class="li_important">优化:UnitBinder统一序列化接口,含序列化+克隆接口</li>
<li>优化:理论压力导数样式优化(黑/粗一些)</li>
<li>优化:特征线显示样式优化(水平部分比45°粗一些)</li>
</ol>
<h2 class="title">软件版本:20260723</h2>
<ol>
<li>修复:修改参数后直接点击解析解,修改无效(焦点问题,信号关联不一致,由单位下拉功能引起)</li>
<li>修复:粘贴式加载数据有时候导致卡顿的情形(由单位下拉功能引起)</li>
<li>修复:时间格式数据的起始行判断规则优化</li>
<li>修复:井储单位换算弄反</li>
</ol>
<h2 class="title">软件版本:20260720</h2>
<ol>
<li>优化:调整优化直井平行、交叉、矩形边界等北京模型相关内容</li>
<li>优化:规范水平井支持的边界类型,不支持变灰</li>
@ -92,16 +136,20 @@ div.block_latest
<li>优化:表格粘贴时自动匹配标题信息</li>
<li>新增:新增 SubGroupTag:显示的子项分组的名称</li>
<li>新增:温度数据加载</li>
<li class="li_important_latest">新增:多相产量数据加载,改变原先在选择PVT界面加载的方式</li>
<li class="li_important">新增:多相产量数据加载,改变原先在选择PVT界面加载的方式</li>
<li>新增:数据加载,自动解析行列名称及单位(模糊关联)</li>
<li>新增:单位允许下拉调整,保存时自动转换为系统内部数据单位</li>
<li>新增:自动判断起始行</li>
<li>新增:增加tryparse接口,方便快速解析基础信息</li>
<li>新增:注册构建智能试井相关模块接口及对象</li>
<li class="li_important_latest">修复:地层压力参与自动拟合的逻辑修复(上几个版本总是需要好多次拟合)</li>
<li class="li_important">修复:地层压力参与自动拟合的逻辑修复(上几个版本总是需要好多次拟合)</li>
<li class="li_important">修复:数据加载时间列单位未进行转换</li>
<li>修复:双对数图 滚动放大缩小时候,刻度显示不出来问题</li>
<li>修复:Excel如果左侧或上侧为空的话,其初始是从 m_nRowStart和m_nColStart开始的,已经修复</li>
<li>修复:单位转换出现负值问题</li>
<li>修复:数据加载时间列单位无法自动切换(新版本已经自动规避该问题)</li>
<li class="li_important">修复:自动拟合引起的Pit问题</li>
<li>调整:敏感性分析图形的y轴名称更改与双对数保持一致</li>
</ol>
<h2 class="title">软件版本:20260703</h2>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -83,6 +83,7 @@
<Btn ID="304" Name="ZoomReset" Text="" CheckMode="1" Icon="ZoomReset" Tips="原始大小" />
<Btn ID="305" Name="ZoomSelfAdaptation" CheckMode="1" Text="" Icon="ZoomSelfAdaptation" Tips="自适应大小" />
<!-- 显示 -->
<Btn ID="400" Name="ShowSpecialLine" Text="" CheckMode="1" Icon="SpecialLineVisible" Tips="显示/隐藏特征线" />
<Btn ID="401" Name="ShowCrossLine" Text="" CheckMode="1" Icon="Crossline" Tips="显示/隐藏十字线" />

@ -92,11 +92,12 @@
<Group Name="Analytical" Alias="解释拟合">
<Cmd ID="3105" Bounds="0,0,2,1" Name="Deconvolv" Alias="反褶积" Icon="Deconvolv" Visible="0" />
<Cmd ID="3105" Bounds="0,0,2,1" Name="Deconvolv" Alias="反褶积(Debug)" Icon="Deconvolv" />
<Cmd ID="3101" Bounds="0,1,2,1" Name="FitModel" Alias="解析解" Icon="FitModel" />
<Cmd ID="3104" Bounds="0,2,2,1" Name="nmFitModel" Alias="数值解" Icon="FitModel" />
<Cmd ID="3102" Bounds="0,3,2,1" Name="AutoFit" Alias="自动拟合" Icon="AutoFit" />
</Group>
<Group Name="Numerical" Alias="地质建模(Debug)" Visible="0">
@ -106,6 +107,16 @@
<Cmd ID="5202" Bounds="0,3,2,1" Name="AnalPF" Alias="辅助拟合" ExtInfo="PF" Icon="RunOther" Visible="0"/>
</Group>
<Group Name="Jobs" Alias="成果管理">
<Cmd ID="1008" Bounds="0,0" Name="RstLoad" Alias="加载成果" Icon="LoadJobs" />
<Cmd ID="1009" Bounds="1,0" Name="RstSave" Type="1" ExtNames="RstSaveCur;RstSaveAll" ExtInfo="保存当前成果;保存所有成果" Alias="保存成果" Icon="SaveJobs" />
<Cmd ID="1005" Bounds="0,1,2,1" Name="ProjSave" Alias="保存项目" Icon="SaveProj" />
</Group>
<Group Name="WellMap" Alias="井位图">
<Cmd ID="3008" Bounds="0,0,2,1" Name="AnalMap" Alias="井位图" Icon="Map2D" Visible="1" />
<Cmd ID="3018" Bounds="0,1,2,1" Name="AnalInterfere" Alias="干扰设定" Icon="Map2D" Visible="0" />
@ -193,12 +204,13 @@
<Cmd ID="3201" Bounds="0,0,2,1" Name="Time" Alias="时间" Icon="Time" />
<Cmd ID="3202" Bounds="0,1" Name="ShowModelCharts" Alias="模型示意" Icon="ShowModelCharts" />
<Cmd ID="3204" Bounds="1,1" Name="SaveAsModelSketch" Alias="存为示意" Icon="SaveAsModelSketch" />
<Cmd ID="9201" Bounds="0,2,2,1" Name="MixViscosity" Alias="混合黏度(Debug)" Icon="MixViscosity" />
</Group>
<!-- <Cmd ID="3203" Bounds="0,1" Name="ShowModelSketch" Alias="理论" Icon="ShowModelSketch" /><Group Name="ToolS" Alias="扩展功能">
<Cmd ID="9801" Bounds="0,0,2,1" Name="FlowToS" Alias="流量变表皮" Icon="FlowToS" Visible="0" />
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度" Icon="MixViscosity" Visible="0" />
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度(Debug)" Icon="MixViscosity" Visible="0" />
</Group>-->
<Group Name="Jobs" Alias="成果管理">
@ -330,9 +342,9 @@
</Tab>
<Tab ID="401" Name="WDT" Alias="产能试井(P)" >
<Tab ID="401" Name="WDT" Alias="产能试井(P)(Debug)" >
<Group Name="AnalEdit" Alias="分析管理">
<Group Name="AnalEdit" Alias="分析管理" Visible="0">
<Cmd ID="3006" Bounds="0,0" Name="AnalNew" Alias="新建分析" Icon="JobNew" />
<Cmd ID="3007" Bounds="1,0" Name="AnalEdit" Alias="分析管理" Icon="JobEdit" />
</Group>
@ -342,23 +354,32 @@
<Cmd ID="6003" Bounds="0,1,2,1" Name="IPRCal" Alias="IPR计算" Icon="IPRCal" />
</Group>
<Group Name="WdtDataPreprocess" Alias="数据预处理" Visible="0">
<Cmd ID="6101" Bounds="0,0,2,1" Name="WdtDataAssn" Alias="数据归一化" ExtInfo="WDT" Icon="IPRAnal" Visible="0"/>
<Cmd ID="6102" Bounds="0,1,2,1" Name="WdtOther" Alias="其它" Icon="WdtOther" Visible="0" />
<Cmd ID="6103" Bounds="0,3,2,1" Name="WdtWMF" Alias="井筒多相流" Icon="WdtWMF" Visible="0"/>
<Cmd ID="6104" Bounds="0,4,2,1" Name="WdtChoke" Alias="嘴流" Icon="WdtChoke" Visible="0"/>
<Group Name="WdtModelBasic" Alias="基础建模">
<Cmd ID="6101" Bounds="0,0,2,1" Name="WdtPVT" Alias="流体物性模型" Icon="WdtPVT" Visible="0"/>
<Cmd ID="6103" Bounds="0,2,2,1" Name="WdtChoke" Alias="嘴流" Icon="WdtChoke" Visible="0"/>
<Cmd ID="6104" Bounds="0,3,2,1" Name="WdtModel" Alias="基础模型" Icon="WdtModel" />
</Group>
<Group Name="IPR" Alias="产能解释">
<Cmd ID="6201" Bounds="0,0,2,1" Name="WdtCal" ExtInfo="WDT" Alias="储层产能计算" Icon="WdtCal" />
<Cmd ID="6202" Bounds="0,1,2,1" Name="WdtAnal" Alias="储层产能分析" Icon="WdtAnal" />
</Group>
<Group Name="WdtDataPreprocess" Alias="一体化建模">
<Cmd ID="6102" Bounds="0,0,2,1" Name="WdtMF" Alias="井筒多相流" Icon="WdtMF" />
</Group>
<Group Name="IPR" Alias="产能分析">
<Cmd ID="6201" Bounds="0,0,2,1" Name="WdtIPRCal" ExtInfo="WDT" Alias="储层产能计算" Icon="IPRCal" />
<Cmd ID="6202" Bounds="0,1,2,1" Name="WellPdty" Alias="一体化产能" Icon="WellPdty" Visible="0" />
<Cmd ID="6203" Bounds="0,2,2,1" Name="WdtIPRExt" Alias="产能试井[扩展]" Icon="IPRExt"/>
<Cmd ID="6204" Bounds="0,3,2,1" Name="WdtIPRAnal" Alias="储层产能分析" Icon="IPRAnal" />
<Cmd ID="6205" Bounds="0,4,2,1" Name="WellIntegAnal" Alias="综合分析" Icon="WellIntegAnal" Visible="0" />
<Group Name="IPR" Alias="一体化分析">
<Cmd ID="6301" Bounds="0,0,2,1" Name="WdtGwlcc" Alias="气井携液能力" Icon="WdtGwlcc" />
<Cmd ID="6302" Bounds="0,1,2,1" Name="WdtIpc" Alias="一体化产能分析" Icon="WdtTipc" />
<Cmd ID="6303" Bounds="0,2,2,1" Name="WdtRpc" Alias="合理产能计算" Icon="WdtRpc" />
<Cmd ID="6304" Bounds="0,3,2,1" Name="WdtPdp" Alias="生产动态潜力" Icon="WdtPdp" />
<Cmd ID="6305" Bounds="0,4,2,1" Name="WdtExt" Alias="产能试井[扩展]" Icon="WdtExt"/>
</Group>
<Group Name="IPR" Alias="产能计算">
<Cmd ID="6301" Bounds="0,0,2,1" Name="WdtCal" Alias="计算" ExtInfo="WDT" Icon="RunEx" />
<Cmd ID="6901" Bounds="0,0,2,1" Name="WdtRun" Alias="计算" ExtInfo="WDT" Icon="RunEx" />
</Group>
@ -391,7 +412,7 @@
<Group Name="DataFit" Alias="解释拟合">
<Cmd ID="3105" Bounds="0,0,2,1" Name="Deconvolv" Alias="反褶积" Icon="Deconvolv" Visible="0"/>
<Cmd ID="3105" Bounds="0,0,2,1" Name="Deconvolv" Alias="反褶积(Debug)" Icon="Deconvolv"/>
<Cmd ID="3101" Bounds="0,1,2,1" Name="FitModel" Alias="解析解" Icon="FitModel" />
<Cmd ID="3104" Bounds="0,2,2,1" Name="nmFitModel" Alias="数值解" Icon="FitModel" />
<Cmd ID="3102" Bounds="0,3,2,1" Name="AutoFit" Alias="自动拟合" Icon="AutoFit" />
@ -411,7 +432,7 @@
<Group Name="ToolS" Alias="扩展功能" Visible="0">
<Cmd ID="9801" Bounds="0,0,2,1" Name="FlowToS" Alias="流量变表皮" Icon="FlowToS" />
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度" Icon="MixViscosity" />
<Cmd ID="9201" Bounds="0,1,2,1" Name="MixViscosity" Alias="混合黏度(Debug)" Icon="MixViscosity" />
</Group>
<Group Name="Jobs" Alias="成果管理" Visible="0">
@ -430,7 +451,7 @@
</Tab>
<Tab ID="7" Name="AiTest" Alias="智能试井(I)">
<Tab ID="7" Name="AiTest" Alias="智能试井(I)(Debug)">
<Group Name="Demo1" Alias="样例菜单1">
<Cmd ID="7001" Bounds="0,0,2,1" Name="ActionName1" Alias="临时测试1" Icon="TODO1" />

@ -202,6 +202,8 @@
<ParaItem Name="NqQ" Alias="产量" Unit="m^3" Default="10" Max="1000000" Min="1e-05" Digit="3" Desc="liquid production of liquid section"/>
<ParaItem Name="Nf" Alias="压裂段数" Default="4" Max="6" Min="1" UseMode="4" Desc="number of fracture sections" SubItems="NqQ" SubGroupTag="压裂段"/>
<ParaItem Name="Fw" Alias="含水率" Unit="%" Default="50" Max="100" Min="0" Digit="3" Desc="viscosity"/>
</ParaGroup>
<ParaGroup Name="" Alias="储层参数">
@ -277,6 +279,8 @@
<ParaItem Name="sigma21" Alias="导压系数比21" Unit="" Default="1" Max="1000" Min="0.001" Digit="3" Desc="conductivity factor ratio21"/>
<ParaItem Name="sigma31" Alias="导压系数比31" Unit="" Default="1" Max="1000" Min="0.001" Digit="3" Desc="conductivity factor ratio31"/>
<ParaItem Name="sigma41" Alias="导压系数比41" Unit="" Default="1" Max="1000" Min="0.001" Digit="3" Desc="conductivity factor ratio41"/>
<ParaItem Name="Li" Alias="井到界面距离" Unit="m" Default="200" Max="10000" Min="1e-05" Digit="3" Desc="distance of well to interface"/>
</ParaGroup>
<ParaGroup Name="" Alias="渗流规律曲线">
@ -518,6 +522,7 @@
<ParaItem Name="ws" Alias="矿化度" Unit="mg/L" Default="500000" Max="1000000" Min="0" Digit="3" Desc="mass fracture of salt"/>
<ParaItem Name="rp" Alias="油藏压力" Unit="MPa" Default="33.4" Max="10000" Min="1e-05" Digit="3" Desc="reservoir pressure"/>
</ParaGroup>
<ParaGroup Name="" Alias="TODO_wxd">

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<TypeOf>
<!-- ==================== 第01组:长度 ==================== -->
<UnitGroup Type="length" Name="length">
<Unit ID="U0101" Unit="m" k="1" Digit="3" Remark="base unit"/>
@ -166,7 +167,7 @@
<!-- ==================== 第15组:渗透率 ==================== -->
<UnitGroup Type="permeability" Name="permeability">
<Unit ID="U1501" Unit="Darcy" k="1" Digit="4" Remark="base unit"/>
<Unit ID="U1501" Unit="D" k="1" Digit="4" Remark="base unit"/>
<Unit ID="U1502" Unit="mD" k="0.001" Digit="4" />
<Unit ID="U1503" Unit="1/cm²" k="9.81e+07" Digit="2"/>
@ -204,8 +205,8 @@
<Unit ID="U1801" Unit="m³/d" k="1" Digit="3" Remark="base unit"/>
<Unit ID="U1802" Unit="m³/s" k="86400" Digit="6" Remark="1 m³/s = 86400 m³/d"/>
<Unit ID="U1803" Unit="m³/a" k="0.00273972602739726" Digit="6" Remark="1 m³/a = 1/365 m³/d"/>
<Unit ID="U1804" Unit="stb/d" k="1" Digit="6" Remark="1 stb/d ≈ 1 m³/d (工程近似)"/>
<Unit ID="U1805" Unit="bbl/d" k="1" Digit="6" Remark="1 bbl/d ≈ 1 m³/d (工程近似)"/>
<Unit ID="U1804" Unit="stb/d" k="0.158987" Digit="6" Remark="1 stb/d = 0.158987 m³/d"/>
<Unit ID="U1805" Unit="bbl/d" k="0.158987" Digit="6" Remark="1 bbl/d = 0.158987 m³/d (美液桶)"/>
<Unit ID="U1806" Unit="ft³/s" k="2446.575" Digit="6" Remark="1 ft³/s = 2446.575 m³/d"/>
<Unit ID="U1807" Unit="ft³/d" k="0.028316846592" Digit="6" Remark="1 ft³/d = 0.028316846592 m³/d"/>
<Unit ID="U1808" Unit="MMscf/d" k="28316.846592" Digit="4" Remark="1 MMscf/d = 28316.846592 m³/d (理想气体)"/>
@ -331,14 +332,18 @@
<Unit ID="U3206" Unit="kgf.s/m^3" k="9.80665"/>
</UnitGroup>
<!-- ==================== 以下为数值试井模块补充扩展单位 ==================== -->
<!-- ==================== 第33组:井筒储集系数 ==================== -->
<UnitGroup Type="ToDo3" Name="ToDo3">
<Unit ID="U3301" Unit="m^3/MPa" k="1" Digit="6" Remark="base unit"/>
<UnitGroup Type="wellbore_storage" Name="井储">
<Unit ID="U3301" Unit="m³/MPa" k="1" Digit="6" Remark="base unit"/>
<Unit ID="U3302" Unit="m³/Pa" k="1e6" Digit="6"/>
<Unit ID="U3303" Unit="m³/kPa" k="1000" Digit="6"/>
<Unit ID="U3304" Unit="bbl/psi" k="43365" Digit="6"/>
<Unit ID="U3305" Unit="ft³/psi" k="243585" Digit="6"/>
<Unit ID="U3306" Unit="cm³/MPa" k="1e-6" Digit="6"/>
<Unit ID="U3307" Unit="L/MPa" k="0.001" Digit="6"/>
</UnitGroup>
<!-- ==================== 以下为数值试井模块补充扩展单位 ==================== -->
<!-- ==================== 第34组:流动能力 ==================== -->
<UnitGroup Type="flow_capacity" Name="flow_capacity">
<Unit ID="U3401" Unit="mD.m" k="1" Digit="6" Remark="base unit"/>

@ -46,7 +46,7 @@
<Unit Remark=" " Unit="fraction" k="100"/>
</UnitGroup>
<UnitGroup Type="permeability" Name="permeability">
<Unit Remark=" " Unit="Darcy" k="1"/>
<Unit Remark=" " Unit="D" k="1"/>
<Unit Remark=" " Unit="mD" k="0.001"/>
<Unit Remark=" " Unit="cm^-2" k="9.81e+07"/>
</UnitGroup>

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<zhAttributes>
<PtyGroup Label="对象" Name="ZxObjBase" Order="1">
<PtyItem Label="对象名称" Name="ZxObjBase.Name" Editor="Edit" Order="1" Path="ZxObjBase.cpp(600)"/>
@ -9,14 +9,14 @@
<PtyItem Label="单位" Name="Axis.Unit" Editor="Edit" Order="2" Readonly="1" Path="ZxSubAxisBase.cpp(441)"/>
</PtyGroup>
<PtyGroup Label="范围" Name="Axis2" Order="3">
<PtyItem Label="最小" Name="Scale.Min" Editor="Edit" Order="1" Path="ZxSubAxisBase.cpp(449)"/>
<PtyItem Label="最大" Name="Scale.Max" Editor="Edit" Order="2" Path="ZxSubAxisBase.cpp(450)"/>
<PtyItem Label="起始值" Name="Scale.Min" Editor="Edit" Order="1" Path="ZxSubAxisBase.cpp(449)" digits="6"/>
<PtyItem Label="结束值" Name="Scale.Max" Editor="Edit" Order="2" Path="ZxSubAxisBase.cpp(450)" digits="6" />
</PtyGroup>
<PtyGroup Label="网格" Name="Axis3" Order="4">
<PtyItem Label="显示主刻度" Name="Axis.showBigScale" Editor="Bool" Order="1" Path="ZxSubAxisBase.cpp(457)"/>
<PtyItem Label="显示细分刻度" Name="Axis.showSmallScale" Editor="Bool" Order="2" Path="ZxSubAxisBase.cpp(458)"/>
<PtyItem Label="主刻度" Name="Axis.MainInterval" Editor="Edit" Order="3" Path="ZxSubAxisBase.cpp(451)"/>
<PtyItem Label="细分刻度" Name="Axis.SubInterval" Editor="Edit" Order="4" Path="ZxSubAxisBase.cpp(452)"/>
<PtyItem Label="主刻度" Name="Axis.MainInterval" Editor="Edit" Order="3" Path="ZxSubAxisBase.cpp(451)" digits="6"/>
<PtyItem Label="细分刻度" Name="Axis.SubInterval" Editor="Edit" Order="4" Path="ZxSubAxisBase.cpp(452)" digits="6"/>
</PtyGroup>
<PtyGroup Label="显示模式" Name="Axis4" Order="5">
<PtyItem Label="刻度显于外侧" Name="Axis.scaleOutward" Editor="Bool" Order="1" Path="ZxSubAxisBase.cpp(463)"/>

@ -11,27 +11,6 @@ public:
zxBessel();
~zxBessel();
public:
// 202604 由殷维基于PF需要进行贝塞尔函数扩充,不限于0和1,而是改为传递double分数
// 在此基础上,解航提出,解析模型采用该方法,可以规避震荡问题(但是目前只用到novel_besselk)
// 第一类修正贝塞尔函数 I_nu(z)
// 注:该函数目前只被yinw算法应用
// 1.算法由yinw提供,后来因为震荡,经xieh针对溢出进行修改
// 2.但后来随着yinw算法调整,调用该函数发现,xieh修改不妥
// 只好再次倒回去
// 幸亏xieh本身没有用到该函数
// 后续还是需要进一步完善优化该函数的
static double novel_besseli(double nu, double z);
// 第二类修正贝塞尔函数 K_nu(z)
// 注:该函数目前被yinw算法+xieh算法中均有应用
static double novel_besselk(double nu, double z);
// 纯手工实现伽马函数 Gamma(z)
static double bessel_gamma(double z);
public:
// 贝塞尔函数(基础函数部分)

@ -0,0 +1,58 @@
#pragma once
#include "math.h"
#include "zxHugeNum.h"
// 贝塞尔函数(支持缩放)
// 202604 由殷维基于PF需要进行贝塞尔函数扩充,不限于0和1,而是改为传递double分数
// 在此基础上,解航提出,解析模型采用该方法,可以规避震荡问题(但是目前只用到novel_besselk)
// 10点Gauss-Legendre求积的节点和权重
namespace GaussLegendre {
static const int GL_Size = 10;
static const double GL_X[GL_Size] = {
0.076526521133497, 0.227785851141645, 0.373706088715419,
0.510867001950827, 0.636053680726515, 0.746331906460150,
0.839116971822218, 0.912234428251325, 0.963971927277913,
0.993128599185094
};
static const double GL_W[GL_Size] = {
0.152753387130725, 0.149172986472603, 0.142096109318382,
0.131688638449176, 0.118194531961518, 0.101930119817240,
0.083276741576704, 0.062672048334109, 0.040601429800386,
0.017614007139152
};
}
class I_ALGMATH_EXPORT zxBesselScaler
{
public:
zxBesselScaler();
~zxBesselScaler();
public:
// 第一类修正贝塞尔函数 I_nu(z)
// 注:该函数目前只被yinw算法应用
// 1.算法由yinw提供,后来因为震荡,经xieh针对溢出进行修改
// 2.但后来随着yinw算法调整,调用该函数发现,xieh修改不妥
// 只好再次倒回去
// 幸亏xieh本身没有用到该函数
// 后续还是需要进一步完善优化该函数的
static double besseli(double nu, double z);
// 第二类修正贝塞尔函数 K_nu(z)
// 注:该函数目前被yinw算法+xieh算法中均有应用
static double besselk(double nu, double z);
// 伽马函数 Gamma(z)
static double gamma(double z);
};

@ -50,4 +50,8 @@ public:
/// 查找幂
static double findDevision(double dValue);
// 该函数不具有可扩展性,放在此处只是后续借鉴及进一步扩展
// 高斯消元求解 6x6 线性方程组
static bool solveLinear6x6(double A[6][6], double b[6], double x[6]);
};

@ -42,18 +42,18 @@ public:
void setCellWidget(int row, int col, QWidget* pWx);
/// @brief 设定大小比例因子(整数)
/// @param vecHs 水平方向
/// @param vecVs 竖直方向
/// @param vecHs 水平方向布局
/// @param vecVs 竖直方向布局
/// @note (1)请在Widget全部设置(setCellWidget)完毕后调用本函数
/// (2)如果某方向不需设置,则传入VecInt为空即可
void setSpStrenchSizes(const QList<int>& vecHs, const QList<int>& vecVs);
/// @brief 设定主分割器(垂直布局)大小比例因子(整数)
/// @brief 设定主分割器(竖直方向布局)大小比例因子(整数)
/// @param vecSizes
/// @note 请在Widget全部设置(setCellWidget)完毕后调用本函数
void setSpMainSizes(const QList<int>& vecSizes);
/// @brief 设定主分割器(垂直布局)大小比例因子(整数)
/// @brief 设定次分割器(水平方向布局)大小比例因子(整数)
/// @param vecSizes
/// @note 请在Widget全部设置(setCellWidget)完毕后调用本函数
void setSpSubSizes(int r, const QList<int>& vecSizes);

@ -208,6 +208,13 @@ signals:
void sigParseContents(const QString& s, VVecVariant& vvec, \
const int& left, const int& top);
/// @brief 粘贴完毕,触发一个信号
/// @param nRowFrom 粘贴位置,起始行号,从0开始
/// @param nColFrom 粘贴位置,起始列号,从0开始
/// @param nRowTo 粘贴位置,结束行号,从0开始
/// @param nColTo 粘贴位置,结束列号,从0开始
void sigPasteFinished(int nRowFrom, int nColFrom, int nRowTo, int nColTo);
protected:
// 右键

@ -0,0 +1,51 @@
#pragma once
#include <QStringList>
#include "Defines.h"
#include "iFileEngine_global.h"
class I_FILE_ENGINE_EXPORT iCsvFileHelper
{
public:
iCsvFileHelper();
~iCsvFileHelper();
public:
// 获取最后一次错误信息
QString getLastError() const { return m_sError; }
// 清除错误信息
void clearError() { m_sError.clear(); }
// 保存QPointF向量到CSV (每行一个点,x和y作为两列)
bool saveToCsv(const VecPointF& vecPts, const QStringList& listTitles, const QString& sFile);
// 保存二维double向量到CSV (每个子向量为一行)
bool saveToCsv(const VVecDouble& vvec, const QStringList& listTitles, const QString& sFile);
// 保存键值对映射到CSV (键作为表头,值作为数据行)
bool saveToCsv(const QMap<QString, QVariant>& map, const QStringList& listTitles, const QString& sFile);
// 保存QStringList到CSV,每个字符串为一行,使用指定的分隔符分割
// delimiter: 分隔符字符串,可以包含多个字符,如 ":\t" 表示按 : 或 \t 分割
bool saveToCsv(const QStringList& lines, const QStringList& listTitles, const QString& sFile,
const QString& seps = ":");
// 核心保存函数:将二维QVariant向量写入CSV文件
bool _saveToCsv(const VVecVariant& vvec, const QStringList& listTitles, const QString& sFile);
private:
// 辅助函数:将QVariant转换为字符串
QString variantToString(const QVariant& value);
// 设置错误信息
void setError(const QString& error) { m_sError = error; }
private:
QString
m_sError; // 存储最后一次错误信息
};

@ -28,6 +28,9 @@ public:
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
virtual void copyFrom(ZxUiBase* p);
virtual void copyOneSubCtrol(QWidget*& pFrom, QWidget*& pTo);
// 权宜之计
// 在pCtrl InitUI之前允许部分调整,如参数跟着模型走的调整
virtual void adjustParaInfos(iParameter* pParameter);

@ -43,6 +43,15 @@ public:
// 一旦启用该方式,原先的setVisible要改为setChildVisible
void setChildVisible(bool bVisible);
// 反人类的函数,本身没有序列化,但借用一下序列化理念
void onDeserialized(const quint32& nVer);
// 临时设置
void setUnableSP(bool b); //临时变量
bool isUnableSP();
// 只在copyFrom中用到
iUnitWxBinder* getUnitBinder() { return m_pUnitBinder; }
public:
@ -123,7 +132,9 @@ private slots:
void slotTextChanged(QString s);
void slotCbxIndexChanged(int index);
#ifdef _SCAN_OLD_CODES_
void slotTextStrChanged();
#endif
protected slots:
@ -166,4 +177,6 @@ private:
iUnitWxBinder* m_pUnitBinder;
QString m_sParaSrcTag;
bool m_bUnableSP; //临时变量
};

@ -132,6 +132,18 @@ public:
bool bCheckOnly = true, \
double* ptrBaseValue = nullptr);
// 序列化之后,理解重置基准数值
// 如果pTbx为空,则重置所有的Pair
bool onDeserialized(const quint32& nVer, QLineEdit* pTbx = nullptr);
// 这是在窗体Copy的时候,单独把内部绑定的UnitBinder的基准值改一下
// 只是修改基准值
bool copyFrom(iUnitWxBinder* p);
// 临时设置
void setUnableSP(bool b); //临时变量
bool isUnableSP();
signals:
// 触发信号,由外部控制,是否输入OK,比如参数ValidStr校验
@ -141,6 +153,7 @@ private slots:
void onUnitChanged(int index);
void onEditingFinished();
void slotTbxValueChanged(QString s);
void onWidgetDestroyed(QObject* obj);
private:
@ -160,4 +173,5 @@ private:
// Error
QString m_sError;
bool m_bUnableSP; //临时变量
};

@ -21,6 +21,14 @@ public:
bool isValid() const;
int getLineEditIndex(QLineEdit* pTbx) const;
// 序列化之后,理解重置基准数值
// 如果pTbx为空,则重置所有的Pair
bool onDeserialized(const quint32& nVer, QLineEdit* pTbx = nullptr);
// 这是在窗体Copy的时候,单独把内部绑定的UnitBinder的基准值改一下
// 只是修改基准值
bool copyFrom(zxBindWxPair* p);
public:
QList<QPointer<QLineEdit> > listTbxValues;

@ -151,6 +151,9 @@ public:
QString getTagEx(); //左侧标识,增加一级处理
QString getTips();
// 增加新接口(这是左侧显示/绘制用的内容)
QString getLeftTag();
QString getName(); //Name
QString getNameInner();
virtual void setNameInner(QString s);

@ -383,12 +383,12 @@ public:
virtual bool getParaValue(QString sPara, QVariant& o);
// 返回所有参数,Key为英文ID
virtual bool getAllParaValues(QMap<QString, QVariant>& map,
bool bOnlyFitted = false,
virtual bool getAllParaValues(QMap<QString, QVariant>& map, \
bool bOnlyFitted = false, \
bool bClearMap = true);
virtual bool getAllParaUnits(QMap<QString, QString>& map,
bool bOnlyFitted = false,
virtual bool getAllParaUnits(QMap<QString, QString>& map, \
bool bOnlyFitted = false, \
bool bClearMap = true);
// 返回所有的跟模型相关的边界参数的类型,封闭或定压

@ -29,8 +29,10 @@ public:
// 参数传递
void setParaMap(QMap<QString, double>& map);
#ifdef _SCAN_OLD_CODES_
void setParamUnitMap(QMap<QString, QString>& map);
bool getParamValueUnit(QString sPara, QString& sUnit);
#endif
void setParaValue(QString sPara, double d);
bool getParaValue(QString sPara , double& d);
@ -141,8 +143,8 @@ public:
public:
// 是否启用混合黏度
void setEnableMux(bool b);
bool getEnableMux();
void setEnableMiux(bool b);
bool isEnableMiux();
// 允许在计算之后,对结果进行个别计算或调整
virtual void adjustParaResults();
@ -167,7 +169,10 @@ public:
// 单个参数map
QMap<QString, double> m_mapParas;
QMap<QString, QString> m_mapParasUnit;
#ifdef _SCAN_OLD_CODES_
QMap<QString, QString> m_mapParasUnit;
#endif
// 参数对应数组
QMap<QString, VecDouble> m_mapArrParas;

@ -185,7 +185,8 @@ enum m_Res_Type
// RT_COMP3 = 108, //三区复合
RT_SR_COMP = 350, //径向复合,就是双区
RT_COMP = 351, //径向复合,20260720,xieh针对直井再次增加,部分流程模拟了 RT_SR_COMP
RT_VERT_COMP_2 = 351, //直井 径向复合(两区),20260720,xieh针对直井再次增加,部分流程模拟了 RT_SR_COMP
RT_VERT_COMP_3 = 352, //直井 径向复合(三区),20260721,yinw针对直井再次增加
// 其他废弃
@ -215,6 +216,7 @@ enum m_Res_Type
RT_HMGE_NON_NT_ANAL = 410, //非牛顿
RT_COMP2_NON_NT_NT_ANAL = 411, //非牛顿-牛顿
RT_COMP2_NT_NON_NT_ANAL = 412, //牛顿-非牛顿
RT_COMP2_NON_NT_NON_NT_NT_ANAL = 413, //非牛顿-非牛顿-牛顿
//王晓东教授
RT_WXD_LINEPS = 600, //垂直裂缝线源解

@ -19,7 +19,12 @@ public:
/// VecDouble vecMug = vvec[3]
static bool initPs(VVecDouble vvec);
#ifdef _SCAN_OLD_CODES_
// 系统内部自动选用不同的方法
#else
// 分别于20260123和20260819把函数改为直接进行压力/拟压力查表+插值方法
// 更为实用+有效
#endif
static bool calP(double ps, double &p, int which = -1);
static bool calPS(double p, double &ps, int which = -1);
@ -33,6 +38,7 @@ private:
static bool fitPStoP(bool isZero = false);
///////////////////////////////////////////////////////////////////////////////////////////
#ifdef _SCAN_OLD_CODES_
////////////////////////////////////////////////////////////////////////////////
// 回归曲线法
// 压力->拟压力,精度比湛江方法高
@ -41,13 +47,15 @@ private:
static bool psToP_Cv(double ps, double &p);
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// 湛江方法
// 压力->拟压力,精度不如回归曲线法,暂未调用
//static bool pToPs_Zj(double p, double &ps);
static bool pToPs_Zj(double p, double &ps);
// 拟压力->压力,精度好于回归曲线法
static bool psToP_Zj(double ps, double &p);
////////////////////////////////////////////////////////////////////////////////
#endif
private:

@ -41,11 +41,6 @@ private:
// 压力->拟压力,借助三区计算方法来计算(载体),但是这个速度太慢,而且异常太多,主要是积分/0,暂不启用
// static bool pToPs_Ps3Integral(double p, double &ps);
// // 压力->拟压力,精度比湛江方法高,临时采用
// static bool pToPs_Cv(double p, double &ps);
// // 拟压力->压力,精度比湛江方法低,但对于三区来讲,没法反推,只能将就使用
//static bool psToP_Cv(double ps, double &p);
// 20220317 增加新的方式,直接根据数据进行判断,看谁离得最近,则选取谁
static bool pToPs_Simple(double p, double &ps);

@ -240,7 +240,8 @@
#define s_Wdt_Wel QObject::tr("Wel")
#define s_Wdt_SubWel QObject::tr("SubWel")
#define s_Wdt_Method QObject::tr("Method")
#define s_Wdt_AnalOption QObject::tr("AnalOption")
#define s_Wdt_AnalOption1 QObject::tr("AnalOption")
#define s_Wdt_AnalOption2 QObject::tr("AnalOptionEx")
#define s_Wdt_P_Pseu QObject::tr("P_Pseu")
#define s_Wdt_P_Square QObject::tr("P_Square")

@ -19,7 +19,18 @@ public:
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
static bool parseProjUrl(QString s, QString& sDir, QString& sProjName);
/// @brief 根据wtf或db文件,解析出来工区名称、以及工区文件夹的上一级目录
/// @param sUrl:wtf或db文件,全路径
/// @param sDir: 工区文件夹的上一级目录
/// @param sProjName:工区名称
static bool parseProjUrl(const QString& sUrl, QString& sDir, QString& sProjName);
/// @brief 根据wtf或db文件,确认目录结构是否一致
/// @param sUrl:wtf或db文件,全路径
/// @note 如果Url文件名称,与其所在的目录名称,不一致,
/// 那么是无法正常打开的,需要重命名一下wtf或db文件
/// 由用户决定如何继续
static bool makesureProjUrl(QString& sUrl);
private:

Binary file not shown.

@ -45,6 +45,7 @@ public:
double m_dB;
QStringList m_listSrcTableCols;
int m_nDefaultRows; //默认显示多少行
};
typedef QVector<wdtAlgItem*> vecWdtAlgItemsPtr;

@ -5,7 +5,10 @@
class wdtAlgItem;
// 该类废弃
// 产能方法定义(某井型-井别-Method 之下 的AnalOption)
// 该类废弃
class M_SYSUTILS_WDT_EXPORT wdtDefineAnal : public wdtDefineBase
{
public:

@ -16,12 +16,32 @@ public:
// 输入开始的m_listValues中index,并且返回下一个index
virtual int allocateInfo(int nIndex);
// 支持组模式
static void adjustParasByGroupTag(QStringList& listParas);
protected:
virtual void initXmlTags();
virtual void initXmlTags();
// 把父级的options赋值到孩子
virtual void makesureOptionsOfChildren();
public:
QString m_sSerie; //从属序列,默认:WDT
QStringList m_listParas; //涉及参数列表
QStringList m_listOptionAlias1;
QStringList m_listOptionAlias2;
QStringList m_listOptionNames1;
QStringList m_listOptionNames2;
public:
QVector<wdtDefineBase*> m_vecWdtSubDefines;
};
typedef QVector<wdtDefineBase*> vecWdtSubDefinePtr;

@ -29,9 +29,4 @@ public:
// 绑定的AlgItem
wdtAlgItem* m_pAlgItem;
vecWdtAnalDefinesPtr m_vecWdtAnalDefines;
};
typedef QVector<wdtDefineMethod*> vecWdtMethodDefinesPtr;

@ -24,10 +24,4 @@ public:
protected:
virtual void initXmlTags();
public:
vecWdtMethodDefinesPtr m_vecWdtMethodDefines;
};
typedef QVector<wdtDefineSubWel*> vecWdtSubWelDefinesPtr;

@ -25,8 +25,4 @@ protected:
virtual void initXmlTags();
public:
vecWdtSubWelDefinesPtr m_vecSubWelDefines;
};
typedef QVector<wdtDefineWel*> vecWdtWelDefinesPtr;

@ -8,6 +8,12 @@ class M_SYSUTILS_WDT_EXPORT wdtDefineXmlUtils : public iXmlUtilBase
{
public:
static bool loadStructs(vecWdtWelDefinesPtr* pVec, QString sFile);
static bool loadStructs(QVector<wdtDefineWel*>* pVec, \
QMap<QString, QStringList>& mapCommonInputs, \
QString sFile);
private:
static bool parseCommonInputs(const QDomElement& e, \
QMap<QString, QStringList>& mapCommonInputs);
};

@ -8,7 +8,7 @@ class iParameter;
class wdtDefineWel;
class wdtDefineSubWel;
class wdtDefineMethod;
class wdtDefineAnal;
//class wdtDefineAnal;
class wdtAlgItem;
class wdtAlgItemGroup;
@ -25,12 +25,21 @@ public:
// Wdt defines
bool loadWdtAlgDefines(QString sFileDefine = "", QString sFileAlg = "");
// 获取模型定义相关的内容,对应的是ModelDescsWDT_cn文件
QVector<wdtDefineWel*>* getWdtWelPtrs();
wdtDefineWel* getWdtWelDefine(QString sNameOrId);
wdtDefineSubWel* getWdtSubWelDefine(QString sNameOrId, QString sNameOrIdWel);
wdtDefineMethod* getWdtMethodDefine(QString sNameOrId, QString sNameOrIdWel, QString sNameOrIdSubWel);
wdtDefineAnal* getWdtAnalDefine(QString sNameOrId, wdtDefineMethod* p);
// wdtDefineAnal* getWdtAnalDefine(QString sNameOrId, wdtDefineMethod* p);
/// @brief 获取定义的CommonParas节点的内容
/// @param sSubWndTag 具体的窗体(其实也就是功能)
/// @param sNameOrIdSubWel 井别(对应 油井 还是 气井)
/// @param sNameOrIdWel 井型(对应直井/定向井,还是 水平井)
QStringList getCommonParaInputs(QString sSubWndTag, \
QString sNameOrIdSubWel, \
QString sNameOrIdWel);
// 获取算法相关的定义,对应的是WdtAlgDefines_cn文件
QVector<wdtAlgItemGroup*>* getWdtAlgGroupPtrs();
wdtAlgItemGroup* getWdtAlgGroup(QString sNameOrId);
wdtAlgItem* getWdtAlgItem(QString sNameOrId, QString sNameOrIdGroup = "");
@ -54,6 +63,9 @@ private:
// 系统统一的命名载体
QVector<wdtDefineWel*> m_vecWdtWelPtrs;
QVector<wdtAlgItemGroup*> m_vecWdtAlgGroupPtrs;
// Common输入参数
QMap<QString, QStringList> m_mapCommonInputs;
};
#define _wdtHelper wdtSysUtilsHelper::getInstance()

@ -42,6 +42,10 @@ public:
void resetSubWx(iWxBase* p = nullptr);
#ifdef _SCAN_OLD_CODES_
void setSubWxVisible(int nAWI, bool bVisible = true);
#endif
signals:
void sigWizardOptionOk();
@ -86,7 +90,7 @@ private slots:
private:
iWxBase* getSubWxOf(int nAWI);
iWxBase* getSubWxOf(int nAWI, bool bOnlyCurrentIndex = true);
QString getSubWxExtOf(int nAWI);
ZxDataObject* getSubWxTempObjOf(int nAWI);

@ -264,6 +264,13 @@ private slots:
// 这是允许外界对粘贴板内容进行解析,解析为二维表格数据
void slotParseContents(const QString& s, VVecVariant& vvec, \
const int& left, const int& top);
/// @brief 表格粘贴完毕,响应
/// @param nRowFrom 粘贴位置,起始行号,从0开始
/// @param nColFrom 粘贴位置,起始列号,从0开始
/// @param nRowTo 粘贴位置,结束行号,从0开始
/// @param nColTo 粘贴位置,结束列号,从0开始
void slotTablePasteFinished(int nRowFrom, int nColFrom, int nRowTo, int nColTo);
void on_cbxAutoThinning_clicked();

@ -66,6 +66,9 @@ public:
// 信号关联
void bindTwoPlots();
// 当反序列化时,需要重置左侧表格,否则会重复添加,导致两个压力两个流量
void resetTableHelpers();
// 建议流动段上下对比调整过程时,随时保存入库
// 建议采取折中方案,每次流动段弹窗前保存一下
// 20211216 Added 数据 编辑 也用该函数

@ -50,7 +50,11 @@ public:
// 设置表格只读,主要是右键及双击
void setTableReadonly(QString sTag = "", bool bReadonly = true);
// 当反序列化时,需要重置左侧表格,否则会重复添加,导致两个压力两个流量
void resetTableHelpers();
public slots:
// Toolbar按钮消息响应
virtual void slotBtnTriggered();
virtual void slotSaveDatabase();

@ -60,6 +60,7 @@ private slots:
void on_btnApply_clicked();
virtual void slotAnalRunselectionChanged();
virtual void slotSmoothFactorChanged(double );
//protected:
// 设置MpData

@ -38,8 +38,8 @@ class iWxSketchSaveAs;
class iAlgModelBase;
class iAlgFitBase;
class cmAlgFitBase;
class cmAlgModelBase;
//class cmAlgFitBase;
//class cmAlgModelBase;
class zxDataOtherItem;
class ZxObjLineSlr;
@ -50,6 +50,9 @@ class iAxisTickInfo;
class iWxDeConv;
class iWxModelClassify;
class iWxNmBridge;
class iWxMixVis;
class iDynSkinInfo;
@ -371,6 +374,31 @@ public:
// bFromNm: true 获取数值相关的参数,false 获取解析相关的参数
void getBrotherDockParas(QMap<QString, QVariant>& mapParas, bool bFromNm);
protected:
// 另外一种方式的数值处理机制,额外的处理
bool runNmBridge();
bool setNmBridgeInfos(iWxNmBridge& dlg);
// 监控初始化
void initNmFileWatcher();
// 刷新结果
bool checkAndFreshNmRstCurves(const QString& sOutputDir);
bool checkAndFreshNmRst3Ds(const QString& sOutputDir);
bool freshRst3DToLabel(QLabel* pLbl, const QString& sOutputDir, const int& nIndex);
protected slots:
//void onMenuStartCalc();
void onNmMatlRstChanged(const QString &path);
void onNmMatlRstRenderItemChanged(int nIndex);
// 为了方便测试模式
void slotNmBridgeRsts();
public slots:
// 拟合线程结束,统一调用
@ -736,6 +764,10 @@ private:
iWxDeConv* m_pWxDeconv; //反褶积相关,涉及序列化
iWxModelClassify* m_pWxModelClassify; //智能试井,模型分类
iWxNmBridge* m_pWxNmBridge; //数值Nm桥接器
iWxMixVis* m_pWxMixVis;//混合黏度计算
VVecDouble m_vvecTempFitP; //反序列化获取的P拟合,临时
QString m_sTempAnalRunID; //反序列化获取的AnalRunID,临时
@ -750,4 +782,8 @@ private:
// TODO 20250228 对于多个流动段分析成果情况下,加载成果,右侧空白,权益之际的处理
bool m_bRelayouted;//临时,不涉及序列化
// 这是Nm相关的进程控制部分
QFileSystemWatcher* m_pNmFileWatcher;
QString m_sNmOutputDir;
bool m_bNmMatlRunning;
};

@ -53,6 +53,11 @@ public:
// 返回名称标识
virtual QString getAwiName();
#ifdef _SCAN_OLD_CODES_
// 在单模式向导弹出时,允许对界面做一些调整,比如按钮状态,以拟压力为主
virtual void adjustUiBeforeShow();
#endif
public:
// 类似clone

@ -13,6 +13,7 @@ class M_TOOL_PVT_EXPORT iWxBase : public iDlgBase
Q_OBJECT
public:
explicit iWxBase(QWidget *parent = 0);
~iWxBase();
@ -44,11 +45,18 @@ public:
int getAwi() { return m_nAwi; }
virtual QString getAwiName() { return ""; }
#ifdef _SCAN_OLD_CODES_
// 在单模式向导弹出时,允许对界面做一些调整,比如按钮状态,以拟压力为主
virtual void adjustUiBeforeShow();
#endif''
public:
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
virtual void copyFrom(ZxUiBase* p);
virtual void copyOneSubCtrol(QWidget*& pFrom, QWidget*& pTo);
// 建立某参数的Layout,考虑单位控件
virtual iParaItemCtrl* createParaCtrl(QString sPara,
bool bUnitEditable = true,

@ -23,6 +23,9 @@ public:
//void initPhaseInfos(int nMain, VecInt& vecSubs);
void refreshByPhases(QStringList& listPhases, int n = -1);
/// @brief 根据当前的相态listPhases、以及pft来决定,当前显示哪些物性参数
QStringList getNeededParas(const QStringList& listPhases, PvtFluidType pft);
// 根据当前是解析还是数值进行简单调整(该函数在initUI之前)
void adjustUI(bool bAnalMode);
@ -78,9 +81,14 @@ private:
// 流体参数项
void initFluidParas(bool bInit);
void initAdvCtrls();
void freshAdvCtrls();
// 因为配置的原因,尤其是多相情形下,很难保证综合压缩系数的顺序,这是最麻烦的
// 为了兼容原先版本,采取的方式是,在已经构建完成布局的基础上,把Ct移动到最后一行位置去
void moveCtRowToLast(QGridLayout* pLayoutG, int nRowIndexCt);
// 默认值填入
void initDefault();

Loading…
Cancel
Save