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

    function obj = tradeoffBrowserDisplay(varargin)
%TRADEOFFBROWSERDISPLAY Object constructor for tradeoffBrowserDisplay
%
%  OBJ = TRADEOFFBROWSERDISPLAY(PROP, VAL, ...) creates a
%  tradeoffBrowserDisplay object.  This is the base class for all of the
%  different browser displays for tradeoff input value editing.

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


if nargin && isa(varargin{1}, 'cgtradeoffgui.tradeoffBrowserDisplay')
   obj = varargin{1};
   varargin(1) = [];
else
   obj = cgtradeoffgui.tradeoffBrowserDisplay;
end
abstractcomponent(obj, varargin{:});

if isempty(obj.Browser)
    error(message('mbc:cgtradeoffgui:tradeoffBrowserDisplay:InvalidState'));
end

% Create a message service for the GUI
obj.MessageService = cgtradeoffgui.tradeoffMessageService;
obj.MessageService.connect(obj, 'up');

% Create the display components
obj.pMakeDisplay;
obj.pMakeMenus;
obj.pMakeToolbar;

% Connect the layout to self
if ~isempty(obj.Layout)
    connect(obj.Layout, obj, 'up');
end

% Hook up a listener for updating browser icons
ms = obj.MessageService;
obj.hValueChangeList = handle.listener(ms, 'TableCellChanged', {@i_updatetableicons, obj});



% Function that refreshs tree icons
function i_updatetableicons(src, evt, obj)
cgb = obj.Browser;
if ~isempty(obj.MessageService.CurrentTradeoff)
    pTO = obj.MessageService.CurrentTradeoff;
    pTableNodes = pTO.getTableNodes;
    cgb.doDrawTree(pTableNodes, 'update');
end