time | Calls | line |
---|
| | 1 | function ChildList=allchild(HandleList)
|
| | 2 | %ALLCHILD Get all object children
|
| | 3 | % ChildList=ALLCHILD(HandleList) returns the list of all children
|
| | 4 | % (including ones with hidden handles) for each handle. If
|
| | 5 | % HandleList is a single element, the output is returned in a
|
| | 6 | % vector. Otherwise, the output is a cell array.
|
| | 7 | %
|
| | 8 | % Example:
|
| | 9 | % h_gca = gca;
|
| | 10 | % h_gca.Children
|
| | 11 | % %or
|
| | 12 | % allchild(gca)
|
| | 13 | %
|
| | 14 | % See also GET, FINDALL.
|
| | 15 |
|
| | 16 | % Loren Dean
|
| | 17 | % Copyright 1984-2015 The MathWorks, Inc.
|
| | 18 | %
|
| | 19 |
|
< 0.001 | 92 | 20 | narginchk(1,1);
|
| | 21 |
|
| | 22 | % figure out which, if any, items in list don't refer to hg objects
|
0.002 | 92 | 23 | hgIdx = ishghandle(HandleList); % index of hghandles in list
|
0.002 | 92 | 24 | nonHGHandleList = HandleList(~hgIdx);
|
| | 25 |
|
| | 26 | % if any of the items in the nonHGHandlList aren't handles, error out
|
0.001 | 92 | 27 | if ~isempty(nonHGHandleList) && ~all(ishandle(nonHGHandleList))
|
| | 28 | error(message('MATLAB:allchild:InvalidHandles'))
|
< 0.001 | 92 | 29 | end
|
| | 30 |
|
| | 31 | % establish the root object
|
0.005 | 92 | 32 | rootobj = allchildRootHelper(HandleList);
|
| | 33 |
|
0.008 | 92 | 34 | Temp=get(rootobj,'ShowHiddenHandles');
|
0.011 | 92 | 35 | set(rootobj,'ShowHiddenHandles','on');
|
| | 36 | % Create protected cleanup
|
0.014 | 92 | 37 | c = onCleanup(@()set(rootobj,'ShowHiddenHandles',Temp));
|
| | 38 |
|
0.003 | 92 | 39 | if(isscalar(HandleList))
|
0.049 | 92 | 40 | ChildList = getchildren(HandleList);
|
| | 41 | else
|
| | 42 | l = arrayfun(@getchildren,HandleList,'UniformOutput',false);
|
| | 43 | if isempty(l)
|
| | 44 | ChildList = []; % return [] if no objects found
|
| | 45 | else
|
| | 46 | ChildList = l(:);
|
| | 47 | end
|
< 0.001 | 92 | 48 | end
|
| | 49 |
|
0.023 | 92 | 50 | end
|
Other subfunctions in this file are not included in this listing.