changeset 11394:ecd87194adb6

Update ticks after {xyz}tickmode is set to auto
author Konstantinos Poulios <logari81@googlemail.com>
date Sun, 19 Dec 2010 10:25:58 +0100
parents 7708bad09ad1
children 0754a4e271f4
files src/ChangeLog src/graphics.h.in
diffstat 2 files changed, 35 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sun Dec 19 10:48:52 2010 -0800
+++ b/src/ChangeLog	Sun Dec 19 10:25:58 2010 +0100
@@ -1,3 +1,10 @@
+2012-12-17  Konstantinos Poulios  <logari81@googlemail.com>
+
+       * graphics.h.in (class axes::properties): Tag xtickmode, ytickmode
+       and ztickmode with "u" qualifier.
+       (axes::properties::update_xtickmode, axes::properties::update_ytickmode
+       axes::properties::update_ztickmode): New functions.
+
 2010-12-18  John W. Eaton  <jwe@octave.org>
 
 	* DLD-FUNCTIONS/dlmread.cc (Fdlmread): Simplify file name/id logic.
--- a/src/graphics.h.in	Sun Dec 19 10:48:52 2010 -0800
+++ b/src/graphics.h.in	Sun Dec 19 10:25:58 2010 +0100
@@ -3135,9 +3135,9 @@
       row_vector_property xtick mu , default_axes_tick ()
       row_vector_property ytick mu , default_axes_tick ()
       row_vector_property ztick mu , default_axes_tick ()
-      radio_property xtickmode , "{auto}|manual"
-      radio_property ytickmode , "{auto}|manual"
-      radio_property ztickmode , "{auto}|manual"
+      radio_property xtickmode u , "{auto}|manual"
+      radio_property ytickmode u , "{auto}|manual"
+      radio_property ztickmode u , "{auto}|manual"
       bool_property xminortick , "off"
       bool_property yminortick , "off"
       bool_property zminortick , "off"
@@ -3237,6 +3237,31 @@
           calc_ticklabels (ztick, zticklabel, zscale.is ("log"));
       }
 
+    void update_xtickmode (void)
+      {
+      if (xtickmode.is ("auto"))
+        {
+          calc_ticks_and_lims (xlim, xtick, xlimmode.is ("auto"), xscale.is ("log"));
+          update_xtick ();
+        }
+      }
+    void update_ytickmode (void)
+      {
+      if (ytickmode.is ("auto"))
+        {
+          calc_ticks_and_lims (ylim, ytick, ylimmode.is ("auto"), yscale.is ("log"));
+          update_ytick ();
+        }
+      }
+    void update_ztickmode (void)
+      {
+      if (ztickmode.is ("auto"))
+        {
+          calc_ticks_and_lims (zlim, ztick, zlimmode.is ("auto"), zscale.is ("log"));
+          update_ztick ();
+        }
+      }
+
     void update_xticklabelmode (void)
       {
         if (xticklabelmode.is ("auto"))