www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgtradeoffgui/@mmTableSetupView/pUpdateBreakpoints.m

    function pUpdateBreakpoints(obj)
%PUPDATEBREAKPOINTS Update breakpoint values and generation mode
%
%  PUPDATEBREAKPOINTS(OBJ) updates the GUI for OBJ to reflect the current
%  settings for the table breakpoints.

%  Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc.


hEditors = [obj.hTableSize1, obj.hTableSize2];

if ~isempty(obj.MessageService) ...
        && ~isempty(obj.MessageService.SampleTakenModel)
    if length(obj.MessageService.Breakpoints)==2        
        % Setup each table to display breakpoints and the correct editor to
        % display the right size
        bp = obj.MessageService.Breakpoints{1};
        nrows = length(bp);
        obj.hNormTable1.Peer.setNormaliserData([bp(:), (0:nrows-1)'], ...
            {'Input', 'Output'}, [], false);
        obj.hNormTable1.Editable = ~obj.MessageService.AutoBreakPoints;
        
        hEditors(obj.MessageService.AxisOrder(1)).Control.Value = nrows;
        
        bp = obj.MessageService.Breakpoints{2};
        nrows = length(bp);
        obj.hNormTable2.Peer.setNormaliserData([bp(:), (0:nrows-1)'], ...
            {'Input', 'Output'}, [], false);
        obj.hNormTable2.Editable = ~obj.MessageService.AutoBreakPoints;
           
        hEditors(obj.MessageService.AxisOrder(2)).Control.Value = nrows;

    else
        hEditors(1).Control.Value = 2;
        hEditors(2).Control.Value = 2;
        obj.hNormTable1.Peer.clearTable;
        obj.hNormTable2.Peer.clearTable;
    end
    
    if obj.MessageService.AutoBreakPoints
        % Select correct radio button
        obj.hBPgenLabel.Control.Selected = 1;
        
        % Deactivate size editors
        set(hEditors, 'Enable', 'off');
        set([obj.hNormLabel1; obj.hNormLabel2], 'Enable', 'off');
    else
        % Select correct radio button
        obj.hBPgenLabel.Control.Selected = 2;
        
        % Activate size editors
        set(hEditors, 'Enable', 'on');
        set([obj.hNormLabel1; obj.hNormLabel2], 'Enable', 'on');
    end
    obj.hBPgenLabel.Enable = 'on';
else
    obj.hBPgenLabel.Control.Selected = 1;
    obj.hBPgenLabel.Enable = 'off';
    set(hEditors, 'Enable', 'off');
    hEditors(1).Control.Value = 2;
    hEditors(2).Control.Value = 2;
    set([obj.hNormLabel1; obj.hNormLabel2], 'Enable', 'off');
    obj.hNormTable1.Peer.clearTable;
    obj.hNormTable2.Peer.clearTable;
end