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

    function obj = DatasetList(varargin)
%DATASETLIST Constructor for DatasetList object
%
%  OBJ = DATASETLIST(PROP, VAL, ...) constructs a list component that
%  displays datasets in a project and allows the user to select one.  The
%  size and contents of a data set are shown.

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


if length(varargin) && isa(varargin{1}, 'cgdatasetgui.DatasetList')
    obj = varargin{1};
    varargin(1) = [];
else
    obj = cgdatasetgui.DatasetList;
end

% Call super-class constructor
obj.abstractlayoutcomponent(varargin{:});

% Create list
P = com.mathworks.toolbox.mbc.gui.peer.ItemListTablePeer;
hTable = mbcwidgets.Table1D(P, ...
    'Parent', obj.Parent, ...
    'Visible', obj.Visible, ...
    'Position', obj.Position, ...
    'SelectionMode', 'SingleRow', ...
    'Editable', false);

hTable.Peer.setColumnData({'Name', 'Rows', 'Contents'});
hTable.Peer.setColumnWidths([150 50 300]);
hTable.Peer.setIconBaseLocation(cgrespath);
obj.Display = hTable;

obj.addPropertyListeners({'ProjectPointer', 'SelectedDatasetPointer', 'FilterFcn'}, ...
    {{@i_setproj, obj}, {@i_updatesel, obj}, {@i_update, obj}});
obj.addListeners(handle.listener(hTable, 'SelectionChanged', {@i_updateseldspointer, obj}));

obj.refresh;
if isempty(obj.SelectedDatasetPointer)
    obj.pUpdateSelectedPointer(1);
    obj.pRefreshSelection;
end


function i_setproj(src, evt, obj)
obj.refresh;
if isempty(obj.SelectedDatasetPointer)
    obj.pUpdateSelectedPointer(1);
    obj.pRefreshSelection;
end

function i_update(src, evt, obj)
obj.refresh;


function i_updatesel(src, evt, obj)
obj.pRefreshSelection;


function i_updateseldspointer(src, evt, obj)
obj.pUpdateSelectedPointer(evt.data.SelectedDataRows);