# HG changeset patch # User Rik # Date 1433974884 25200 # Node ID 530803d4f65fccafa3f3059e5757ec4f54b56f50 # Parent a51fe1b60e3f401c645d5f2922c4c27249a23c9b Update root, figure, and axes graphics object properties. * graphics.in.h: Update root, figure, and axes graphics object properties for Matlab compatibility. * genpropdoc.m: Update documentation for graphics object properties. diff -r a51fe1b60e3f -r 530803d4f65f doc/interpreter/genpropdoc.m --- a/doc/interpreter/genpropdoc.m Tue Jun 09 21:38:46 2015 -0700 +++ b/doc/interpreter/genpropdoc.m Wed Jun 10 15:21:24 2015 -0700 @@ -123,6 +123,7 @@ case "busyaction" case "buttondownfcn" s.valid = valid_fcn; + case "children" s.doc = "Graphics handles of the __objname__'s children."; s.valid = "vector of graphics handles"; @@ -195,9 +196,9 @@ ## Specific properties case "callbackobject" + s.doc = "Graphics handle of the current object whose callback is executing."; s.valid = valid_handle; - case "commandwindowsize" case "currentfigure" s.doc = "Graphics handle of the current figure."; s.valid = valid_handle; @@ -282,6 +283,7 @@ ## Specific properties case "alphamap" s.doc = sprintf (doc_notimpl, "Transparency"); + case "closerequestfcn" s.valid = valid_fcn; @@ -325,10 +327,14 @@ s.doc = doc_unused; case "doublebuffer" + case "filename" - s.doc = "The filename used when saving the plot figure"; + s.doc = "The filename used when saving the plot figure."; s.valid = valid_string; + case "graphicssmoothing" + s.doc = doc_unused; + case "integerhandle" s.doc = "Assign the next lowest unused integer as the Figure number."; @@ -363,6 +369,10 @@ property."; s.valid = valid_string; + ## FIXME: Uncomment when support added in graphics.in.h + #case "number" + # s.doc = "Number of current figure (RO)."; + case "nextplot" case "numbertitle" @@ -388,7 +398,7 @@ case "papersize" s.doc = "Vector @code{[width height]} defining the size of the \ paper for printing. Setting this property forces the @code{papertype} \ -property to be set to @qcode{\"\"}."; +property to the value @qcode{\"\"}."; s.valid = valid_2elvec; case "papertype" @@ -410,15 +420,23 @@ case "renderer" case "renderermode" + case "resize" + s.doc = doc_unused; + case "resizefcn" s.valid = valid_fcn; case "selectiontype" - s.doc = doc_unused; + ## FIXME: docstring explaining what "{normal}|open|alt|extend" mean. + + case "sizechangedfcn" + s.valid = valid_fcn; case "toolbar" - s.doc = doc_unused; + s.doc = "Control the display of the toolbar along the bottom of the \ +figure window. When set to @qcode{\"auto\"}, the display is based on the \ +value of the @code{menubar} property."; case "units" s.doc = "The unit used to compute the @code{position} and \ @@ -452,6 +470,9 @@ s.valid = valid_fcn; case "windowstyle" + s.doc = doc_unused; + + ## FIXME: Need to deprecate these for 4.2 case "wvisual" case "wvisualmode" case "xdisplay" @@ -471,12 +492,17 @@ case "activepositionproperty" case "alim" s.doc = sprintf (doc_notimpl, "Transparency"); + case "alimmode" case "ambientlightcolor" s.doc = sprintf (doc_notimpl, "Light"); + case "box" s.doc = "Control whether the axes has a surrounding box."; + case "boxstyle" + s.doc = doc_unused; + case "cameraposition" s.valid = valid_3elvec; @@ -500,6 +526,9 @@ case "climmode" + case "clippingstyle" + s.doc = doc_unused; + case "color" s.doc = "Color of the axes background. @xref{Colors, , colorspec}."; s.valid = valid_color; @@ -509,6 +538,9 @@ coloring."; s.valid = "N-by-3 RGB matrix"; + case "colororderindex" + s.doc = doc_unused; + case "currentpoint" s.doc = "Matrix @code{[xf, yf, zf; xb, yb, zb]} which holds the \ coordinates (in axes data units) of the point over which the mouse pointer \ @@ -528,7 +560,6 @@ s.valid = valid_3elvec; case "dataaspectratiomode" - case "drawmode" case "fontangle" case "fontname" s.doc = "Name of the font used for axes annotations."; @@ -542,18 +573,53 @@ case "fontunits" s.doc = "Unit used to interpret @code{fontsize} property."; + case "fontsmoothing" + s.doc = doc_unused; + case "fontweight" + case "gridalpha" + s.doc = sprintf (doc_notimpl, "Transparency"); + + case "gridalphamode" + s.doc = doc_unused; + + case "gridcolor" + s.doc = doc_unused; + + case "gridcolormode" + s.doc = doc_unused; + case "gridlinestyle" case "interpreter" + case "labelfontsizemultiplier" + s.doc = doc_unused; + case "layer" s.doc = "Control whether the axes is drawn below child graphics \ objects (ticks, labels, etc. covered by plotted objects) or above."; case "linestyleorder" + s.doc = doc_unused; + + case "linestyleorderindex" + s.doc = doc_unused; case "linewidth" + + case "minorgridalpha" + s.doc = sprintf (doc_notimpl, "Transparency"); + + case "minorgridalphamode" + s.doc = doc_unused; + + case "minorgridcolor" + s.doc = doc_unused; + + case "minorgridcolormode" + s.doc = doc_unused; + case "minorgridlinestyle" case "mousewheelzoom" s.doc = "Fraction of axes limits to zoom for each wheel movement."; @@ -571,6 +637,9 @@ @xref{XREFaxesposition, , @w{position property}}."; s.valid = valid_4elvec; + case "pickableparts" + s.doc = doc_unused; + case "plotboxaspectratio" case "plotboxaspectratiomode" case "position" @@ -585,6 +654,10 @@ s.valid = valid_4elvec; case "projection" + s.doc = doc_unused; + + case "sortmethod" + s.doc = doc_unused; case "tickdir" s.doc = "Control whether axes tick marks project \"in\" to the plot \ @@ -602,6 +675,12 @@ s.doc = "Graphics handle of the title text object."; s.valid = valid_handle; + case "titlefontsizemultiplier" + s.doc = doc_unused; + + case "titlefontweight" + s.doc = doc_unused; + case "units" case "view" s.doc = "Two-element vector @code{[azimuth elevation]} specifying \ @@ -613,6 +692,9 @@ s.doc = "Color of the x-axis. @xref{Colors, , colorspec}."; s.valid = packopt ({markdef(valid_color), "@qcode{\"none\"}"}); + case "xcolormode" + s.doc = doc_unused; + case "xdir" case "xgrid" s.doc = "Control whether major x grid lines are displayed."; @@ -641,12 +723,18 @@ s.valid = valid_cellstring; case "xticklabelmode" + case "xticklabelrotation" + s.doc = doc_unused; + case "xtickmode" case "yaxislocation" case "ycolor" s.doc = "Color of the y-axis. @xref{Colors, , colorspec}."; s.valid = packopt ({markdef(valid_color), "@qcode{\"none\"}"}); + case "ycolormode" + s.doc = doc_unused; + case "ydir" case "ygrid" s.doc = "Control whether major y grid lines are displayed."; @@ -675,11 +763,17 @@ s.valid = valid_cellstring; case "yticklabelmode" + case "yticklabelrotation" + s.doc = doc_unused; + case "ytickmode" case "zcolor" s.doc = "Color of the z-axis. @xref{Colors, , colorspec}."; s.valid = packopt ({markdef(valid_color), "@qcode{\"none\"}"}); + case "zcolormode" + s.doc = doc_unused; + case "zdir" case "zgrid" s.doc = "Control whether major z grid lines are displayed."; @@ -708,6 +802,9 @@ s.valid = valid_cellstring; case "zticklabelmode" + case "zticklabelrotation" + s.doc = doc_unused; + case "ztickmode" endswitch @@ -1335,4 +1432,5 @@ elseif (! isempty (default)) str = ["def. " default]; endif + endfunction diff -r a51fe1b60e3f -r 530803d4f65f libinterp/corefcn/graphics.in.h --- a/libinterp/corefcn/graphics.in.h Tue Jun 09 21:38:46 2015 -0700 +++ b/libinterp/corefcn/graphics.in.h Wed Jun 10 15:21:24 2015 -0700 @@ -3217,11 +3217,17 @@ // See the genprops.awk script for an explanation of the // properties declarations. - // FIXME: Properties that still dont have callbacks are: - // language, monitorpositions, pointerlocation, pointerwindow. + // FIXME: Properties that still don't have callbacks are: + // monitorpositions, pointerlocation, pointerwindow. // Note that these properties are not yet used by Octave, so setting // them will have no effect. + // FIXME: Several properties have been deleted from Matlab. + // We should either immediately remove them or figure out a way + // to deprecate them for a release or two. + // Obsolete properties: commandwindowsize, diary, diaryfile, echo, + // errormessage, format, formatspacing, language, recursionlimit. + // Programming note: Keep property list sorted if new ones are added. BEGIN_PROPERTIES (root_figure, root) @@ -3236,7 +3242,7 @@ radio_property format GS , "+|bank|bit|hex|long|longe|longeng|longg|native-bit|native-hex|none|rat|{short}|shorte|shorteng|shortg" radio_property formatspacing GS , "compact|{loose}" string_property language , "ascii" - array_property monitorpositions , Matrix (1, 4, 0) + array_property monitorpositions r , Matrix (1, 4, 0) array_property pointerlocation , Matrix (1, 2, 0) double_property pointerwindow r , 0.0 double_property recursionlimit GS , 256.0 @@ -3448,6 +3454,12 @@ // See the genprops.awk script for an explanation of the // properties declarations. + // FIXME: Several properties have been deleted from Matlab. + // We should either immediately remove them or figure out a way + // to deprecate them for a release or two. + // Obsolete properties: doublebuffer, mincolormap, wvisual, wvisualmode, + // xdisplay, xvisual, xvisualmode + // Programming note: Keep property list sorted if new ones are added. BEGIN_PROPERTIES (figure) @@ -3463,6 +3475,7 @@ bool_property dockcontrols , "off" bool_property doublebuffer , "on" string_property filename , "" + bool_property graphicssmoothing , "on" bool_property integerhandle S , "on" bool_property inverthardcopy , "off" callback_property keypressfcn , Matrix () @@ -3470,6 +3483,8 @@ radio_property menubar , "none|{figure}" double_property mincolormap , 64 string_property name , "" + // FIXME: Need RO property which returns current figure number. + // double_property number r , radio_property nextplot , "new|{add}|replacechildren|replace" bool_property numbertitle , "on" array_property outerposition s , Matrix (1, 4, -1.0) @@ -3488,6 +3503,9 @@ bool_property resize , "on" callback_property resizefcn , Matrix () radio_property selectiontype , "{normal}|open|alt|extend" + // FIXME: This is the new name for the resizefcn from Matlab. + // Need to try supporting both for some amount of time. + callback_property sizechangedfcn , Matrix () radio_property toolbar , "none|{auto}|figure" radio_property units Su , "inches|centimeters|normalized|points|{pixels}|characters" callback_property windowbuttondownfcn , Matrix () @@ -3503,14 +3521,14 @@ string_property xvisual , "" radio_property xvisualmode , "{auto}|manual" // Octave-specific properties - radio_property __mouse_mode__ hS , "{none}|pan|rotate|select|text|zoom" - any_property __pan_mode__ h , Matrix () - any_property __rotate_mode__ h , Matrix () - any_property __zoom_mode__ h , Matrix () bool_property __enhanced__ h , "on" string_property __graphics_toolkit__ hs , gtk_manager::default_toolkit () any_property __guidata__ h , Matrix () + radio_property __mouse_mode__ hS , "{none}|pan|rotate|select|text|zoom" + any_property __pan_mode__ h , Matrix () any_property __plot_stream__ h , Matrix () + any_property __rotate_mode__ h , Matrix () + any_property __zoom_mode__ h , Matrix () END_PROPERTIES protected: @@ -3866,6 +3884,12 @@ // See the genprops.awk script for an explanation of the // properties declarations. + + // FIXME: Several properties have been deleted from Matlab. + // We should either immediately remove them or figure out a way + // to deprecate them for a release or two. + // Obsolete properties: drawmode + // Programming note: Keep property list sorted if new ones are added. BEGIN_PROPERTIES (axes) @@ -3874,53 +3898,73 @@ radio_property alimmode , "{auto}|manual" color_property ambientlightcolor , color_values (1, 1, 1) bool_property box , "on" + radio_property boxstyle , "{back}|full" array_property cameraposition m , Matrix (1, 3, 0.0) radio_property camerapositionmode , "{auto}|manual" array_property cameratarget m , Matrix (1, 3, 0.0) radio_property cameratargetmode , "{auto}|manual" array_property cameraupvector m , Matrix (1, 3, 0.0) radio_property cameraupvectormode , "{auto}|manual" - double_property cameraviewangle m , 10.0 + double_property cameraviewangle m , 6.6086 radio_property cameraviewanglemode , "{auto}|manual" row_vector_property clim m , default_lim () radio_property climmode al , "{auto}|manual" + radio_property clippingstyle , "{3dbox}|rectangle" color_property color , color_property (color_values (1, 1, 1), radio_values ("none")) array_property colororder , default_colororder () + double_property colororderindex , 1.0 array_property currentpoint , Matrix (2, 3, 0.0) array_property dataaspectratio mu , Matrix (1, 3, 1.0) radio_property dataaspectratiomode u , "{auto}|manual" radio_property drawmode , "{normal}|fast" - radio_property fontangle u , "{normal}|italic|oblique" + radio_property fontangle u , "{normal}|italic" string_property fontname u , OCTAVE_DEFAULT_FONTNAME double_property fontsize u , 10 - radio_property fontunits SU , "{points}|normalized|inches|centimeters|pixels" - radio_property fontweight u , "{normal}|light|demi|bold" - radio_property gridlinestyle , "-|--|{:}|-.|none" + radio_property fontunits SU , "{points}|inches|centimeters|normalized|pixels" + bool_property fontsmoothing , "on" + radio_property fontweight u , "{normal}|bold" + double_property gridalpha , 0.15 + radio_property gridalphamode , "{auto}|manual" + color_property gridcolor , color_property (color_values (0.15, 0.15, 0.15), radio_values ("none")) + radio_property gridcolormode , "{auto}|manual" + radio_property gridlinestyle , "{:}|-|--|-.|none" // NOTE: interpreter is not a Matlab axis property, but it makes // more sense to have it so that axis ticklabels can use it. - radio_property interpreter , "tex|{none}|latex" + radio_property interpreter , "{tex}|latex|{none}" + double_property labelfontsizemultiplier , 1.1 radio_property layer u , "{bottom}|top" // FIXME: should be kind of string array. any_property linestyleorder S , "-" + double_property linestyleorderindex , 1.0 double_property linewidth , 0.5 - radio_property minorgridlinestyle , "-|--|{:}|-.|none" - double_property mousewheelzoom , 0.5 - radio_property nextplot , "add|replacechildren|{replace}" + double_property minorgridalpha , 0.25 + radio_property minorgridalphamode , "{auto}|manual" + color_property minorgridcolor , color_property (color_values (0.1, 0.1, 0.1), radio_values ("none")) + radio_property minorgridcolormode , "{auto}|manual" + radio_property minorgridlinestyle , "{:}|-|--|-.|none" + radio_property nextplot , "{replace}|add|replacechildren" array_property outerposition u , default_axes_outerposition () array_property plotboxaspectratio mu , Matrix (1, 3, 1.0) radio_property plotboxaspectratiomode u , "{auto}|manual" + radio_property pickableparts , "{visible}|all|none" array_property position u , default_axes_position () radio_property projection , "{orthographic}|perspective" + radio_property sortmethod , "{depth}|childorder" radio_property tickdir mu , "{in}|out" radio_property tickdirmode u , "{auto}|manual" + // FIXME: Added recently to Matlab, should replace interpreter property. + radio_property ticklabelinterpreter , "{tex}|latex|{none}" array_property ticklength u , default_axes_ticklength () array_property tightinset r , Matrix (1, 4, 0.0) handle_property title SOf , gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false) + double_property titlefontsizemultiplier , 1.1 + radio_property titlefontweight , "{bold}|normal" // FIXME: uicontextmenu should be moved here. radio_property units SU , "{normalized}|inches|centimeters|points|pixels|characters" array_property view u , default_axes_view () radio_property xaxislocation u , "{bottom}|top|zero" color_property xcolor , color_values (0, 0, 0) + radio_property xcolormode , "{auto}|manual" radio_property xdir u , "{normal}|reverse" bool_property xgrid , "off" handle_property xlabel SOf , gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false) @@ -3933,9 +3977,11 @@ // FIXME: should be kind of string array. any_property xticklabel S , "" radio_property xticklabelmode u , "{auto}|manual" + double_property xticklabelrotation , 0.0 radio_property xtickmode u , "{auto}|manual" radio_property yaxislocation u , "{left}|right|zero" color_property ycolor , color_values (0, 0, 0) + radio_property ycolormode , "{auto}|manual" radio_property ydir u , "{normal}|reverse" bool_property ygrid , "off" handle_property ylabel SOf , gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false) @@ -3947,8 +3993,10 @@ row_vector_property ytick mu , default_axes_tick () any_property yticklabel S , "" radio_property yticklabelmode u , "{auto}|manual" + double_property yticklabelrotation , 0.0 radio_property ytickmode u , "{auto}|manual" color_property zcolor , color_values (0, 0, 0) + radio_property zcolormode , "{auto}|manual" radio_property zdir u , "{normal}|reverse" bool_property zgrid , "off" handle_property zlabel SOf , gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false) @@ -3960,8 +4008,10 @@ row_vector_property ztick mu , default_axes_tick () any_property zticklabel S , "" radio_property zticklabelmode u , "{auto}|manual" + double_property zticklabelrotation , 0.0 radio_property ztickmode u , "{auto}|manual" // Octave-specific properties + double_property mousewheelzoom , 0.5 bool_property __hold_all__ h , "off" // hidden properties for alignment of subplots radio_property autopos_tag h , "{none}|subplot"