changeset 17533:bb7756dff055

legend.m: Add listeners for all font properties to update text labels. * scripts/plot/legend.m: Add listener for "fontangle", "fontname", "fontunits", "fontweight" pointing to updatelegendtext().
author Rik <rik@octave.org>
date Tue, 01 Oct 2013 16:28:25 -0700
parents 492d609d2d75
children ec105d91547e
files scripts/plot/legend.m
diffstat 1 files changed, 13 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/plot/legend.m	Tue Oct 01 16:03:02 2013 -0700
+++ b/scripts/plot/legend.m	Tue Oct 01 16:28:25 2013 -0700
@@ -964,7 +964,11 @@
         if (addprops)
           addlistener (hlegend, "edgecolor", @updatelegendtext);
           addlistener (hlegend, "textcolor", @updatelegendtext);
+          addlistener (hlegend, "fontangle", @updatelegendtext);
+          addlistener (hlegend, "fontname", @updatelegendtext);
           addlistener (hlegend, "fontsize", @updatelegendtext);
+          addlistener (hlegend, "fontunits", @updatelegendtext);
+          addlistener (hlegend, "fontweight", @updatelegendtext);
           addlistener (hlegend, "interpreter", @updatelegendtext);
           addlistener (hlegend, "location", @updatelegend);
           addlistener (hlegend, "orientation", @updatelegend);
@@ -1019,23 +1023,22 @@
 endfunction
 
 function updatelegendtext (h, ~)
-  kids = get (h, "children");
-  text_kids = findobj (kids, "type", "text");
-  interpreter = get (h, "interpreter");
-  textcolor = get (h, "textcolor");
-  fontsize = get (h, "fontsize");
-  set (text_kids, "interpreter", interpreter,
-                  "color", textcolor,
-                  "fontsize", fontsize);
+#  keyboard;
+  htext = findobj (get (h, "children"), "type", "text");
+
+  tprops = {"interpreter", "fontunits", "fontangle", "fontname", "fontsize",...
+            "fontweight", "color"};
+  lprops = {"interpreter", "fontunits", "fontangle", "fontname", "fontsize",...
+            "fontweight", "textcolor"};
+  set (htext, tprops, get (h, lprops));
 endfunction
 
 function hideshowlegend (h, ~, ca, pos1, pos2)
-  keyboard;
   isvisible = strcmp (get (h, "visible"), "off");
   if (! isvisible)
     kids = get (h, "children");
     if (any (! strcmp (get (kids, "visible"), "off")))
-        isvisible = true;
+      isvisible = true;
     endif
   endif