function disableLegendEntries(PH)
% disableLegendEntries(plotHandles)
%
% disableLegendEntries prevents the plots identified in PH from appearing
% in the legend.  This is useful with complex graphics where two *sets* of
% lines are present and a legend entry is only desired for the first of
% each set.
%
% Inputs: plotHandles - List of plot handles for which no legend entry is
%                       desired
%
% [No outputs are provided]
%
% Problem:  
%   figure;hold all;
%   pH1 = plot(1:100,1+randn(100,3),'r');
%   pH2 = plot(1:100,-1+randn(100,3),'k');
%   legend('First Set','Second Set');
% Solution: 
%   disableLegendEntries(pH1(2:end));
%   legend('First Set','Second Set');
%
% Copyright (c) 2011, Hidden Solutions, LLC
% All rights reserved.
%
% Redistribution and use in source and binary forms, with or without
% modification, are permitted provided that the following conditions are met:
%
%   * Redistributions of source code must retain the above copyright
%      notice, this list of conditions and the following disclaimer.
%    * Redistributions in binary form must reproduce the above copyright
%      notice, this list of conditions and the following disclaimer in the
%      documentation and/or other materials provided with the distribution.
%    * Neither the name Hidden Solutions, LLC nor the names of any
%      contributors may be used to endorse or promote products derived from 
%      this software without specific prior written permission.
%
% THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
% ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
% DISCLAIMED. IN NO EVENT SHALL HIDDEN SOLUTIONS, LLC BE LIABLE FOR ANY
% DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
% (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
% LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
% ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
% (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
% SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
%
% Author: James S. Hall (Hidden Solutions, LLC)
% Date:   10 August 2011
%

% Step through each plot handle
for pp = 1:length(PH)
  % Set IconDisplayStyle off
  set(get(get(PH(pp),'Annotation'),'LegendInformation'),'IconDisplayStyle','off');
end