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);