www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgtradeoffgui/@tableCentricUI/pMakeViewMenu.m
function pMakeViewMenu(obj) %PMAKEVIEWMENU Create View menu objects % % PMAKEVIEWMENU(OBJ) creates items below the View menu. If no View menu % item has been set, no items are created. % Copyright 2000-2013 The MathWorks, Inc. and Ford Global Technologies, Inc. if isempty(obj.ViewMenu) return end cmdStruct = obj.pGetCommands; hView = obj.ViewMenu; uimenu(hView, ... 'Label' , 'Table &History', ... 'Callback', {cmdStruct.ViewHistory, obj}); uimenu(hView , ... 'Label' , '&Configure Hidden Items', ... 'Callback', {cmdStruct.ConfigureHiddenItems, obj}); obj.DisplayErrorMenu = uimenu(hView , ... 'Label' , 'Display Confidence &Intervals', ... 'Callback', {@i_toggleerrorlines, obj}, ... 'Separator', 'on'); obj.DisplayCommonYMenu = uimenu(hView, ... 'Label' , 'Display Common &Y Limits', ... 'Accelerator', 'Y', ... 'Callback', {@i_togglecommonylimits, obj}); obj.DisplayConstraintsMenu = uimenu(hView, ... 'Label' , 'Display C&onstraints', ... 'Callback', {@i_toggleconstraints, obj}); obj.ZoomConstraintsMenu = uimenu(hView, ... 'Label' , '&Zoom Inside Constraints', ... 'Callback', {@i_toggleZoomConstraints, obj}); gs = uimenu(hView , 'Label' , '&Graph Size', ... 'Separator', 'on'); gs_menus(1) = uimenu(gs , 'Label' , '&Display All Graphs', ... 'Callback', {@i_changegraphsize, 0, obj}); gs_menus(2) = uimenu(gs , 'Label' , '&Small', ... 'Callback', {@i_changegraphsize, 50, obj}); gs_menus(3) = uimenu(gs , 'Label' , '&Medium', ... 'Checked', 'on', ... 'Callback', {@i_changegraphsize, 100, obj}); gs_menus(4) = uimenu(gs , 'Label' , '&Large', ... 'Callback', {@i_changegraphsize, 150, obj}); obj.GraphSizeMenus = gs_menus; obj.DisplayWideHeadersMenu = uimenu(hView, ... 'Label', 'Large Graph H&eaders', ... 'Callback', {@i_togglewideheaders, obj}, ... 'Checked', 'on'); resetzoom = uimenu(hView, ... 'Label', '&Reset Graph Zooms', ... 'Callback', {@i_resetzoom, obj}); if obj.TableView.ShowLegend; check = 'on'; else check = 'off'; end obj.DisplayTableLegendMenu = uimenu(hView, ... 'Label', 'Display Table &Legend', ... 'Callback', {@i_toggletablelegend, obj}, ... 'Checked', check, ... 'Separator', 'on'); function i_toggleerrorlines(src, evt, obj) % Toggle the check and return what the new boolean setting is dispsetting = i_togglecheck(src); % Get data for this node ms = obj.MessageService; pTO = ms.CurrentTradeoff; % Alter tradeoff and notify views of the change obj.pStartLongAction; pTO.setGraphError(dispsetting); ms.notifyTradeoffGraphChange('errors'); obj.pEndLongAction; function i_togglecommonylimits(src, evt, obj) % Toggle the check and return what the new boolean setting is dispsetting = i_togglecheck(src); % Get data for this node ms = obj.MessageService; pTO = ms.CurrentTradeoff; % Alter tradeoff and notify views of the change obj.pStartLongAction; pTO.setGraphSameY(dispsetting); ms.notifyTradeoffGraphChange('ylim'); obj.pEndLongAction; function i_toggleconstraints(src, evt, obj) % Toggle the check and return what the new boolean setting is dispsetting = i_togglecheck(src); % Get data for this node ms = obj.MessageService; pTO = ms.CurrentTradeoff; % Alter tradeoff and notify views of the change obj.pStartLongAction; pTO.setGraphConstraints(dispsetting); ms.notifyTradeoffGraphChange('constraints'); obj.pEndLongAction; function i_toggleZoomConstraints(src, evt, obj) % Toggle the check and return what the new boolean setting is dispsetting = i_togglecheck(src); % Get data for this node ms = obj.MessageService; pTO = ms.CurrentTradeoff; % Alter tradeoff and notify views of the change obj.pStartLongAction; pTO.setZoomConstraints(dispsetting); ms.notifyTradeoffGraphChange('constraints'); obj.pEndLongAction; function i_changegraphsize(src, evt, newsize, obj) obj.pStartLongAction; obj.GraphsView.GraphSize = newsize; set(obj.GraphSizeMenus, 'Checked', 'off'); set(src, 'Checked', 'on'); obj.pEndLongAction; function i_toggletablelegend(src, evt, obj) legendsetting = i_togglecheck(src); obj.TableView.ShowLegend = legendsetting; % Save to preferences P = mbcprefs('mbc'); TPrefs = getpref(P, 'Tradeoff'); TPrefs.ShowTableLegend = legendsetting; setpref(P, 'Tradeoff', TPrefs); function i_togglewideheaders(src, evt, obj) obj.pStartLongAction; headersetting = i_togglecheck(src); obj.GraphsView.WideHeaderMode = headersetting; obj.pEndLongAction; function i_resetzoom(src, evt, obj) obj.pStartLongAction; obj.GraphsView.resetZoom; obj.pEndLongAction; % Function to toggle the check mark and return the new boolean setting function newsetting = i_togglecheck(src) if strcmp(get(src, 'Checked'), 'on') newcheck = 'off'; newsetting = false; else newcheck = 'on'; newsetting = true; end set(src, 'Checked', newcheck);