# HG changeset patch # User Ben Abbott # Date 1235914259 18000 # Node ID 32d2184946027ca9f5147177a4ca14b437c5d43d # Parent d077c590eb889f6820821d722bb7639380b196fc colorbar.m: Bug fix. Allow hidden colorbars to be deleted, and replace existing colorbar when a new one is created. Additional demos are included to verify these behaviors. diff -r d077c590eb88 -r 32d218494602 scripts/ChangeLog --- a/scripts/ChangeLog Sun Mar 01 09:07:57 2009 +0100 +++ b/scripts/ChangeLog Sun Mar 01 08:30:59 2009 -0500 @@ -1,3 +1,9 @@ +2009-03-01 Ben Abbott + + * plot/colorbar.m: Bug fix. Allow hidden colorbars to be deleted, + and replace existing colorbar when a new one is created. Additional + demos are included to verify these behaviors. + 2009-02-28 Ben Abbott * plot/__actual_axis_position__.m: Include file missed in prior diff -r d077c590eb88 -r 32d218494602 scripts/plot/colorbar.m --- a/scripts/plot/colorbar.m Sun Mar 01 09:07:57 2009 +0100 +++ b/scripts/plot/colorbar.m Sun Mar 01 08:30:59 2009 -0500 @@ -85,17 +85,20 @@ if (isempty (ax)) ax = gca (); endif - obj = get (ax); - if (deleting) - objs = findobj (get (ax, "parent"), "type", "axes"); - for i = 1 : length (objs) - if (strcmp (get (objs(i), "tag"), "colorbar") && - get (objs(i), "axes") == ax) - delete (objs(i)); - endif - endfor - else + showhiddenhandles = get (0, "showhiddenhandles"); + unwind_protect + set (0, "showhiddenhandles", "on") + cax = findobj (get (ax, "parent"), "tag", "colorbar", "type", "axes", "axes", ax); + if (! isempty (cax)) + delete (cax); + endif + unwind_protect_cleanup + set (0, "showhiddenhandles", showhiddenhandles) + end_unwind_protect + + if (! deleting) + obj = get (ax); position = obj.position; clen = rows (get (get (ax, "parent"), "colormap")); cext = get (ax, "clim"); @@ -110,7 +113,7 @@ set (ax, "activepositionproperty", "position", "position", pos); cax = __go_axes__ (get (ax, "parent"), "tag", "colorbar", - "handlevisibility", "off", + "handlevisibility", "off", "activepositionproperty", "position", "position", cpos); addproperty ("location", cax, "radio", @@ -498,39 +501,6 @@ %!demo %! clf -%! locations = {"northoutside", "north", "southoutside", "south", -%! "westoutside", "west", "eastoutside", "east"}; -%! n = 64; -%! x = kron (1:n,ones(n,1)); x = abs(x - x.'); -%! x = x .* fliplr (x) / 32^2; -%! for r = 1:2 -%! for c = 1:4 -%! n = 2*(c-1) + r; -%! subplot (2, 4, n) -%! contour (x) -%! xlim ([1, 64]) -%! ylim ([1, 64]) -%! set (gca, "clim", [0, 1]) -%! colorbar (locations{n}); -%! endfor -%! endfor - -%!demo -%! clf -%! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); -%! subplot(1,2,1) -%! contour(x) -%! axis square; -%! colorbar("east"); -%! xlim ([1, 64]) -%! ylim ([1, 64]) -%! subplot(1,2,2) -%! imagesc(x) -%! axis square; -%! colorbar() - -%!demo -%! clf %! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); %! subplot(1,2,1) %! contour(x) @@ -544,3 +514,21 @@ %! xlim ([1, 64]) %! ylim ([1, 64]) +%!demo +%! clf +%! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); +%! contour (x) +%! xlim ([1, 64]) +%! ylim ([1, 64]) +%! colorbar (); +%! colorbar off + +%!demo +%! clf +%! n = 64; x = kron (1:n,ones(n,1)); x = abs(x - x.'); +%! contour (x) +%! xlim ([1, 64]) +%! ylim ([1, 64]) +%! colorbar (); +%! colorbar (); +