bugfix for guide

This commit is contained in:
kk
2026-04-28 22:00:30 +08:00
parent fb54f4512b
commit b66db49cff
8 changed files with 390 additions and 59 deletions
+60 -36
View File
@@ -368,29 +368,24 @@ classdef EDFMAppController < handle
gridModel = obj.getNumericDropDownValue('ModelGridModelDropDown', 1);
flowModel = obj.getNumericDropDownValue('ModelFlowModelDropDown', 1);
if isprop(obj.App, 'TabGroup3')
if gridModel == 2 && isprop(obj.App, 'DPTab')
obj.App.TabGroup3.SelectedTab = obj.App.DPTab;
elseif isprop(obj.App, 'SPTab')
obj.App.TabGroup3.SelectedTab = obj.App.SPTab;
end
if gridModel == 2
obj.setPanelSelectorValue('DiscretizationPageDropDown', 'DP');
obj.showOnlyPanels({'SPTab', 'DPTab'}, 'DPTab');
else
obj.setPanelSelectorValue('DiscretizationPageDropDown', 'SP');
obj.showOnlyPanels({'SPTab', 'DPTab'}, 'SPTab');
end
if isprop(obj.App, 'TabGroup2')
switch flowModel
case 1
if isprop(obj.App, 'GasWaterTab')
obj.App.TabGroup2.SelectedTab = obj.App.GasWaterTab;
end
case 2
if isprop(obj.App, 'OilWaterTab')
obj.App.TabGroup2.SelectedTab = obj.App.OilWaterTab;
end
otherwise
if isprop(obj.App, 'MultiComponentTab')
obj.App.TabGroup2.SelectedTab = obj.App.MultiComponentTab;
end
end
switch flowModel
case 1
obj.setPanelSelectorValue('FlowPageDropDown', 'GasWater');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'GasWaterTab');
case 2
obj.setPanelSelectorValue('FlowPageDropDown', 'OilWater');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'OilWaterTab');
otherwise
obj.setPanelSelectorValue('FlowPageDropDown', 'MultiComponent');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'MultiComponentTab');
end
obj.setEditableState('InitialCsEditField', flowModel == 3);
@@ -839,24 +834,37 @@ classdef EDFMAppController < handle
obj.setFlowTabControlsVisible('OilWater', showOilWaterTab);
obj.setFlowTabControlsVisible('MultiComponent', showMultiComponentTab);
if isprop(obj.App, 'TabGroup2')
switch flowModel
case 1
if isprop(obj.App, 'GasWaterTab')
obj.App.TabGroup2.SelectedTab = obj.App.GasWaterTab;
end
case 2
if isprop(obj.App, 'OilWaterTab')
obj.App.TabGroup2.SelectedTab = obj.App.OilWaterTab;
end
otherwise
if isprop(obj.App, 'MultiComponentTab')
obj.App.TabGroup2.SelectedTab = obj.App.MultiComponentTab;
end
end
switch flowModel
case 1
obj.setPanelSelectorValue('FlowPageDropDown', 'GasWater');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'GasWaterTab');
case 2
obj.setPanelSelectorValue('FlowPageDropDown', 'OilWater');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'OilWaterTab');
otherwise
obj.setPanelSelectorValue('FlowPageDropDown', 'MultiComponent');
obj.showOnlyPanels({'GasWaterTab', 'OilWaterTab', 'MultiComponentTab'}, 'MultiComponentTab');
end
end
function showOnlyPanels(obj, panelNames, visiblePanelName)
for i = 1:numel(panelNames)
isVisible = strcmp(panelNames{i}, visiblePanelName);
obj.setControlVisible(panelNames{i}, isVisible);
end
end
function setPanelSelectorValue(obj, selectorName, selectedItem)
if ~isprop(obj.App, selectorName)
return;
end
component = obj.App.(selectorName);
if ~any(strcmp(component.Items, selectedItem))
return;
end
component.Value = selectedItem;
end
function setFlowTabControlsVisible(obj, flowTabName, isVisible)
switch flowTabName
case 'GasWater'
@@ -1727,6 +1735,7 @@ classdef EDFMAppController < handle
tableHandle = obj.App.(tableName);
tableHandle.ColumnName = columnNames;
tableHandle.ColumnWidth = obj.getColumnWidthsForTable(tableName);
tableHandle.RowName = {};
switch tableName
case 'Well2Table'
@@ -1736,6 +1745,21 @@ classdef EDFMAppController < handle
end
end
function columnWidths = getColumnWidthsForTable(~, tableName)
switch tableName
case 'Well1Table'
columnWidths = {90, 55, 95, 55, 55, 90};
case 'FractureWellLocationTable'
columnWidths = {140, 140, 140};
case 'Well2Table'
columnWidths = {100, 70, 120, 70, 70, 130};
case 'ScheduleTable'
columnWidths = {100, 120, 100, 150, 80, 80, 80, 80, 80, 100};
otherwise
columnWidths = 'auto';
end
end
function columnNames = getColumnNamesForTable(~, tableName)
switch tableName
case 'Well1Table'