GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
graphics-props.cc
Go to the documentation of this file.
1 // DO NOT EDIT! Generated automatically by genprops.awk.
2 
3 // ******** base ********
4 
6  : beingdeleted ("beingdeleted", mh, "off"),
7  busyaction ("busyaction", mh, "{queue}|cancel"),
8  buttondownfcn ("buttondownfcn", mh, Matrix ()),
9  children ("children", mh, Matrix ()),
10  clipping ("clipping", mh, "on"),
11  createfcn ("createfcn", mh, Matrix ()),
12  deletefcn ("deletefcn", mh, Matrix ()),
13  handlevisibility ("handlevisibility", mh, "{on}|callback|off"),
14  hittest ("hittest", mh, "on"),
15  interruptible ("interruptible", mh, "on"),
16  parent ("parent", mh, p),
17  selected ("selected", mh, "off"),
18  selectionhighlight ("selectionhighlight", mh, "on"),
19  tag ("tag", mh, ""),
20  type ("type", mh, ty),
21  uicontextmenu ("uicontextmenu", mh, graphics_handle ()),
22  userdata ("userdata", mh, Matrix ()),
23  visible ("visible", mh, "on"),
24  __modified__ ("__modified__", mh, "on"),
25  __myhandle__ (mh)
26 {
40  tag.set_id (ID_TAG);
46  init ();
47 }
48 
49 void
51 {
52  if (pname.compare ("beingdeleted"))
53  set_beingdeleted (val);
54  else if (pname.compare ("busyaction"))
55  set_busyaction (val);
56  else if (pname.compare ("buttondownfcn"))
57  set_buttondownfcn (val);
58  else if (pname.compare ("children"))
59  set_children (val);
60  else if (pname.compare ("clipping"))
61  set_clipping (val);
62  else if (pname.compare ("createfcn"))
63  set_createfcn (val);
64  else if (pname.compare ("deletefcn"))
65  set_deletefcn (val);
66  else if (pname.compare ("handlevisibility"))
68  else if (pname.compare ("hittest"))
69  set_hittest (val);
70  else if (pname.compare ("interruptible"))
71  set_interruptible (val);
72  else if (pname.compare ("parent"))
73  set_parent (val);
74  else if (pname.compare ("selected"))
75  set_selected (val);
76  else if (pname.compare ("selectionhighlight"))
78  else if (pname.compare ("tag"))
79  set_tag (val);
80  else if (pname.compare ("uicontextmenu"))
81  set_uicontextmenu (val);
82  else if (pname.compare ("userdata"))
83  set_userdata (val);
84  else if (pname.compare ("visible"))
85  set_visible (val);
86  else if (pname.compare ("__modified__"))
87  set___modified__ (val);
88  else
89  set_dynamic (pname, val);
90 }
91 
93 base_properties::get (bool all) const
94 {
95  octave_map m = get_dynamic (all).map_value ();
96 
97  m.assign ("beingdeleted", octave_value (get_beingdeleted ()));
98  m.assign ("busyaction", octave_value (get_busyaction ()));
99  m.assign ("buttondownfcn", octave_value (get_buttondownfcn ()));
100  m.assign ("children", octave_value (get_children ()));
101  m.assign ("clipping", octave_value (get_clipping ()));
102  m.assign ("createfcn", octave_value (get_createfcn ()));
103  m.assign ("deletefcn", octave_value (get_deletefcn ()));
104  m.assign ("handlevisibility", octave_value (get_handlevisibility ()));
105  m.assign ("hittest", octave_value (get_hittest ()));
106  m.assign ("interruptible", octave_value (get_interruptible ()));
107  m.assign ("parent", octave_value (get_parent ().as_octave_value ()));
108  m.assign ("selected", octave_value (get_selected ()));
109  m.assign ("selectionhighlight", octave_value (get_selectionhighlight ()));
110  m.assign ("tag", octave_value (get_tag ()));
111  m.assign ("type", octave_value (get_type ()));
112  m.assign ("uicontextmenu", octave_value (get_uicontextmenu ().as_octave_value ()));
113  m.assign ("userdata", octave_value (get_userdata ()));
114  m.assign ("visible", octave_value (get_visible ()));
115  m.assign ("__modified__", octave_value (get___modified__ ()));
116  if (all)
117  m.assign ("__myhandle__", octave_value (get___myhandle__ ().as_octave_value ()));
118 
119  return m;
120 }
121 
124 {
126 
127  if (pname.compare ("beingdeleted"))
128  retval = get_beingdeleted ();
129  else if (pname.compare ("busyaction"))
130  retval = get_busyaction ();
131  else if (pname.compare ("buttondownfcn"))
132  retval = get_buttondownfcn ();
133  else if (pname.compare ("children"))
134  retval = get_children ();
135  else if (pname.compare ("clipping"))
136  retval = get_clipping ();
137  else if (pname.compare ("createfcn"))
138  retval = get_createfcn ();
139  else if (pname.compare ("deletefcn"))
140  retval = get_deletefcn ();
141  else if (pname.compare ("handlevisibility"))
142  retval = get_handlevisibility ();
143  else if (pname.compare ("hittest"))
144  retval = get_hittest ();
145  else if (pname.compare ("interruptible"))
146  retval = get_interruptible ();
147  else if (pname.compare ("parent"))
148  retval = get_parent ().as_octave_value ();
149  else if (pname.compare ("selected"))
150  retval = get_selected ();
151  else if (pname.compare ("selectionhighlight"))
152  retval = get_selectionhighlight ();
153  else if (pname.compare ("tag"))
154  retval = get_tag ();
155  else if (pname.compare ("type"))
156  retval = get_type ();
157  else if (pname.compare ("uicontextmenu"))
158  retval = get_uicontextmenu ().as_octave_value ();
159  else if (pname.compare ("userdata"))
160  retval = get_userdata ();
161  else if (pname.compare ("visible"))
162  retval = get_visible ();
163  else if (pname.compare ("__modified__"))
164  retval = get___modified__ ();
165  else if (pname.compare ("__myhandle__"))
166  retval = get___myhandle__ ().as_octave_value ();
167  else
168  retval = get_dynamic (pname);
169 
170  return retval;
171 }
172 
173 property
175 {
176  if (pname.compare ("beingdeleted"))
177  return property (&beingdeleted, true);
178  else if (pname.compare ("busyaction"))
179  return property (&busyaction, true);
180  else if (pname.compare ("buttondownfcn"))
181  return property (&buttondownfcn, true);
182  else if (pname.compare ("children"))
183  return property (&children, true);
184  else if (pname.compare ("clipping"))
185  return property (&clipping, true);
186  else if (pname.compare ("createfcn"))
187  return property (&createfcn, true);
188  else if (pname.compare ("deletefcn"))
189  return property (&deletefcn, true);
190  else if (pname.compare ("handlevisibility"))
191  return property (&handlevisibility, true);
192  else if (pname.compare ("hittest"))
193  return property (&hittest, true);
194  else if (pname.compare ("interruptible"))
195  return property (&interruptible, true);
196  else if (pname.compare ("parent"))
197  return property (&parent, true);
198  else if (pname.compare ("selected"))
199  return property (&selected, true);
200  else if (pname.compare ("selectionhighlight"))
201  return property (&selectionhighlight, true);
202  else if (pname.compare ("tag"))
203  return property (&tag, true);
204  else if (pname.compare ("type"))
205  return property (&type, true);
206  else if (pname.compare ("uicontextmenu"))
207  return property (&uicontextmenu, true);
208  else if (pname.compare ("userdata"))
209  return property (&userdata, true);
210  else if (pname.compare ("visible"))
211  return property (&visible, true);
212  else if (pname.compare ("__modified__"))
213  return property (&__modified__, true);
214  else
215  return get_property_dynamic (pname);
216 }
217 
220 {
222 
223  m["beingdeleted"] = "off";
224  m["busyaction"] = "queue";
225  m["buttondownfcn"] = Matrix ();
226  m["clipping"] = "on";
227  m["createfcn"] = Matrix ();
228  m["deletefcn"] = Matrix ();
229  m["handlevisibility"] = "on";
230  m["hittest"] = "on";
231  m["interruptible"] = "on";
232  m["selected"] = "off";
233  m["selectionhighlight"] = "on";
234  m["tag"] = "";
235  m["uicontextmenu"] = graphics_handle ().as_octave_value ();
236  m["userdata"] = Matrix ();
237  m["visible"] = "on";
238  m["__modified__"] = "on";
239 
240  return m;
241 }
242 
243 std::set<std::string>
245 {
246  static std::set<std::string> all_pnames;
247 
248  static bool initialized = false;
249 
250  if (! initialized)
251  {
252  all_pnames.insert ("beingdeleted");
253  all_pnames.insert ("busyaction");
254  all_pnames.insert ("buttondownfcn");
255  all_pnames.insert ("children");
256  all_pnames.insert ("clipping");
257  all_pnames.insert ("createfcn");
258  all_pnames.insert ("deletefcn");
259  all_pnames.insert ("handlevisibility");
260  all_pnames.insert ("hittest");
261  all_pnames.insert ("interruptible");
262  all_pnames.insert ("parent");
263  all_pnames.insert ("selected");
264  all_pnames.insert ("selectionhighlight");
265  all_pnames.insert ("tag");
266  all_pnames.insert ("type");
267  all_pnames.insert ("uicontextmenu");
268  all_pnames.insert ("userdata");
269  all_pnames.insert ("visible");
270  all_pnames.insert ("__modified__");
271  all_pnames.insert ("__myhandle__");
272 
273  initialized = true;
274  }
275 
276  return all_pnames;
277 }
278 
279 bool
281 {
282  std::set<std::string> pnames = core_property_names ();
283 
284  return pnames.find (pname) != pnames.end ();
285 }
286 
287 std::set<std::string>
289 {
290  static std::set<std::string> all_pnames;
291 
292  static bool initialized = false;
293 
294  if (! initialized)
295  {
296  all_pnames.insert ("type");
297  all_pnames.insert ("__myhandle__");
298 
299  initialized = true;
300  }
301 
302  return all_pnames;
303 }
304 
305 bool
307 {
308  std::set<std::string> pnames = readonly_property_names ();
309 
310  return pnames.find (pname) != pnames.end ();
311 }
312 
313 std::set<std::string>
315 {
316  static std::set<std::string> all_pnames = core_property_names ();
317 
318  std::set<std::string> retval = all_pnames;
319  std::set<std::string> dyn_props = dynamic_property_names ();
320  retval.insert (dyn_props.begin (), dyn_props.end ());
321  for (std::map<caseless_str, property, cmp_caseless_str>::const_iterator p = all_props.begin ();
322  p != all_props.end (); p++)
323  retval.insert (p->first);
324 
325  return retval;
326 }
327 
328 // ******** root_figure ********
329 
331  : base_properties (go_name, mh, p),
332  callbackobject ("callbackobject", mh, graphics_handle ()),
333  commandwindowsize ("commandwindowsize", mh, Matrix (1, 2, 0)),
334  currentfigure ("currentfigure", mh, graphics_handle ()),
335  fixedwidthfontname ("fixedwidthfontname", mh, "Courier"),
336  monitorpositions ("monitorpositions", mh, default_screensize ()),
337  pointerlocation ("pointerlocation", mh, Matrix (1, 2, 0)),
338  pointerwindow ("pointerwindow", mh, 0.0),
339  screendepth ("screendepth", mh, default_screendepth ()),
340  screenpixelsperinch ("screenpixelsperinch", mh, default_screenpixelsperinch ()),
341  screensize ("screensize", mh, default_screensize ()),
342  showhiddenhandles ("showhiddenhandles", mh, "off"),
343  units ("units", mh, "inches|centimeters|normalized|points|{pixels}")
344 {
357  init ();
358 }
359 
360 void
362 {
363  const std::set<std::string>& pnames = all_property_names ();
364 
365  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
366 
367  if (has_readonly_property (pname))
368  {
369  error ("set: \"%s\" is read-only", pname.c_str ());
370  return;
371  }
372 
373  if (pname.compare ("currentfigure"))
374  set_currentfigure (val);
375  else if (pname.compare ("fixedwidthfontname"))
376  set_fixedwidthfontname (val);
377  else if (pname.compare ("pointerlocation"))
378  set_pointerlocation (val);
379  else if (pname.compare ("showhiddenhandles"))
380  set_showhiddenhandles (val);
381  else if (pname.compare ("units"))
382  set_units (val);
383  else
384  base_properties::set (pname, val);
385 }
386 
389 {
391 
392  m.assign ("callbackobject", octave_value (get_callbackobject ().as_octave_value ()));
393  m.assign ("commandwindowsize", octave_value (get_commandwindowsize ()));
394  m.assign ("currentfigure", octave_value (get_currentfigure ().as_octave_value ()));
395  m.assign ("fixedwidthfontname", octave_value (get_fixedwidthfontname ()));
396  m.assign ("monitorpositions", octave_value (get_monitorpositions ()));
397  m.assign ("pointerlocation", octave_value (get_pointerlocation ()));
398  m.assign ("pointerwindow", octave_value (get_pointerwindow ()));
399  m.assign ("screendepth", octave_value (get_screendepth ()));
400  m.assign ("screenpixelsperinch", octave_value (get_screenpixelsperinch ()));
401  m.assign ("screensize", octave_value (get_screensize ()));
402  m.assign ("showhiddenhandles", octave_value (get_showhiddenhandles ()));
403  m.assign ("units", octave_value (get_units ()));
404 
405  return m;
406 }
407 
410 {
412 
413  const std::set<std::string>& pnames = all_property_names ();
414 
415  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
416 
417  if (pname.compare ("callbackobject"))
418  retval = get_callbackobject ().as_octave_value ();
419  else if (pname.compare ("commandwindowsize"))
420  retval = get_commandwindowsize ();
421  else if (pname.compare ("currentfigure"))
422  retval = get_currentfigure ().as_octave_value ();
423  else if (pname.compare ("fixedwidthfontname"))
424  retval = get_fixedwidthfontname ();
425  else if (pname.compare ("monitorpositions"))
426  retval = get_monitorpositions ();
427  else if (pname.compare ("pointerlocation"))
428  retval = get_pointerlocation ();
429  else if (pname.compare ("pointerwindow"))
430  retval = get_pointerwindow ();
431  else if (pname.compare ("screendepth"))
432  retval = get_screendepth ();
433  else if (pname.compare ("screenpixelsperinch"))
434  retval = get_screenpixelsperinch ();
435  else if (pname.compare ("screensize"))
436  retval = get_screensize ();
437  else if (pname.compare ("showhiddenhandles"))
438  retval = get_showhiddenhandles ();
439  else if (pname.compare ("units"))
440  retval = get_units ();
441  else
442  retval = base_properties::get (pname);
443 
444  return retval;
445 }
446 
447 property
449 {
450  const std::set<std::string>& pnames = all_property_names ();
451 
452  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
453 
454  if (pname.compare ("callbackobject"))
455  return property (&callbackobject, true);
456  else if (pname.compare ("commandwindowsize"))
457  return property (&commandwindowsize, true);
458  else if (pname.compare ("currentfigure"))
459  return property (&currentfigure, true);
460  else if (pname.compare ("fixedwidthfontname"))
461  return property (&fixedwidthfontname, true);
462  else if (pname.compare ("monitorpositions"))
463  return property (&monitorpositions, true);
464  else if (pname.compare ("pointerlocation"))
465  return property (&pointerlocation, true);
466  else if (pname.compare ("pointerwindow"))
467  return property (&pointerwindow, true);
468  else if (pname.compare ("screendepth"))
469  return property (&screendepth, true);
470  else if (pname.compare ("screenpixelsperinch"))
471  return property (&screenpixelsperinch, true);
472  else if (pname.compare ("screensize"))
473  return property (&screensize, true);
474  else if (pname.compare ("showhiddenhandles"))
475  return property (&showhiddenhandles, true);
476  else if (pname.compare ("units"))
477  return property (&units, true);
478  else
479  return base_properties::get_property (pname);
480 }
481 
484 {
486 
487  m["callbackobject"] = graphics_handle ().as_octave_value ();
488  m["commandwindowsize"] = Matrix (1, 2, 0);
489  m["currentfigure"] = graphics_handle ().as_octave_value ();
490  m["fixedwidthfontname"] = "Courier";
491  m["monitorpositions"] = default_screensize ();
492  m["pointerlocation"] = Matrix (1, 2, 0);
493  m["pointerwindow"] = 0.0;
494  m["screendepth"] = default_screendepth ();
495  m["screenpixelsperinch"] = default_screenpixelsperinch ();
496  m["screensize"] = default_screensize ();
497  m["showhiddenhandles"] = "off";
498  m["units"] = "pixels";
499 
500  return m;
501 }
502 
504 
505 std::set<std::string>
507 {
508  static std::set<std::string> all_pnames;
509 
510  static bool initialized = false;
511 
512  if (! initialized)
513  {
514  all_pnames.insert ("callbackobject");
515  all_pnames.insert ("commandwindowsize");
516  all_pnames.insert ("currentfigure");
517  all_pnames.insert ("fixedwidthfontname");
518  all_pnames.insert ("monitorpositions");
519  all_pnames.insert ("pointerlocation");
520  all_pnames.insert ("pointerwindow");
521  all_pnames.insert ("screendepth");
522  all_pnames.insert ("screenpixelsperinch");
523  all_pnames.insert ("screensize");
524  all_pnames.insert ("showhiddenhandles");
525  all_pnames.insert ("units");
526 
527  std::set<std::string> base_pnames = base_properties::core_property_names ();
528  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
529 
530  initialized = true;
531  }
532 
533  return all_pnames;
534 }
535 
536 bool
538 {
539  std::set<std::string> pnames = core_property_names ();
540 
541  return pnames.find (pname) != pnames.end ();
542 }
543 
544 std::set<std::string>
546 {
547  static std::set<std::string> all_pnames;
548 
549  static bool initialized = false;
550 
551  if (! initialized)
552  {
553  all_pnames.insert ("callbackobject");
554  all_pnames.insert ("commandwindowsize");
555  all_pnames.insert ("monitorpositions");
556  all_pnames.insert ("pointerwindow");
557  all_pnames.insert ("screendepth");
558  all_pnames.insert ("screenpixelsperinch");
559  all_pnames.insert ("screensize");
560 
561  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
562  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
563 
564  initialized = true;
565  }
566 
567  return all_pnames;
568 }
569 
570 bool
572 {
573  std::set<std::string> pnames = readonly_property_names ();
574 
575  return pnames.find (pname) != pnames.end ();
576 }
577 
578 std::set<std::string>
580 {
581  static std::set<std::string> all_pnames = core_property_names ();
582 
583  std::set<std::string> retval = all_pnames;
584  std::set<std::string> base_props = base_properties::all_property_names ();
585  retval.insert (base_props.begin (), base_props.end ());
586 
587  return retval;
588 }
589 
590 bool
592 {
593  std::set<std::string> pnames = all_property_names ();
594 
595  return pnames.find (pname) != pnames.end ();
596 }
597 
598 // ******** figure ********
599 
601  : base_properties (go_name, mh, p),
602  alphamap ("alphamap", mh, Matrix (64, 1, 1)),
603  buttondownfcn ("buttondownfcn", mh, Matrix ()),
604  closerequestfcn ("closerequestfcn", mh, "closereq"),
605  color ("color", mh, color_property (color_values (1, 1, 1), radio_values ("none"))),
606  colormap ("colormap", mh, viridis_colormap ()),
607  currentaxes ("currentaxes", mh, graphics_handle ()),
608  currentcharacter ("currentcharacter", mh, ""),
609  currentobject ("currentobject", mh, graphics_handle ()),
610  currentpoint ("currentpoint", mh, Matrix (2, 1, 0)),
611  dockcontrols ("dockcontrols", mh, "off"),
612  filename ("filename", mh, ""),
613  graphicssmoothing ("graphicssmoothing", mh, "on"),
614  integerhandle ("integerhandle", mh, "on"),
615  inverthardcopy ("inverthardcopy", mh, "on"),
616  keypressfcn ("keypressfcn", mh, Matrix ()),
617  keyreleasefcn ("keyreleasefcn", mh, Matrix ()),
618  menubar ("menubar", mh, "{figure}|none"),
619  name ("name", mh, ""),
620  nextplot ("nextplot", mh, "{add}|new|replace|replacechildren"),
621  numbertitle ("numbertitle", mh, "on"),
622  outerposition ("outerposition", mh, Matrix (1, 4, -1.0)),
623  paperorientation ("paperorientation", mh, "{portrait}|landscape"),
624  paperposition ("paperposition", mh, default_figure_paperposition ()),
625  paperpositionmode ("paperpositionmode", mh, "auto|{manual}"),
626  papersize ("papersize", mh, default_figure_papersize ()),
627  papertype ("papertype", mh, "{usletter}|uslegal|a0|a1|a2|a3|a4|a5|b0|b1|b2|b3|b4|b5|arch-a|arch-b|arch-c|arch-d|arch-e|a|b|c|d|e|tabloid|<custom>"),
628  paperunits ("paperunits", mh, "{inches}|centimeters|normalized|points"),
629  pointer ("pointer", mh, "crosshair|fullcrosshair|{arrow}|ibeam|watch|topl|topr|botl|botr|left|top|right|bottom|circle|cross|fleur|custom|hand"),
630  pointershapecdata ("pointershapecdata", mh, Matrix (16, 16, 0)),
631  pointershapehotspot ("pointershapehotspot", mh, Matrix (1, 2, 0)),
632  position ("position", mh, default_figure_position ()),
633  renderer ("renderer", mh, "{opengl}|painters"),
634  renderermode ("renderermode", mh, "{auto}|manual"),
635  resize ("resize", mh, "on"),
636  resizefcn ("resizefcn", mh, Matrix ()),
637  selectiontype ("selectiontype", mh, "{normal}|extend|alt|open"),
638  sizechangedfcn ("sizechangedfcn", mh, Matrix ()),
639  toolbar ("toolbar", mh, "{auto}|figure|none"),
640  units ("units", mh, "{pixels}|normalized|inches|centimeters|points|characters"),
641  windowbuttondownfcn ("windowbuttondownfcn", mh, Matrix ()),
642  windowbuttonmotionfcn ("windowbuttonmotionfcn", mh, Matrix ()),
643  windowbuttonupfcn ("windowbuttonupfcn", mh, Matrix ()),
644  windowkeypressfcn ("windowkeypressfcn", mh, Matrix ()),
645  windowkeyreleasefcn ("windowkeyreleasefcn", mh, Matrix ()),
646  windowscrollwheelfcn ("windowscrollwheelfcn", mh, Matrix ()),
647  windowstyle ("windowstyle", mh, "{normal}|modal|docked"),
648  __gl_extensions__ ("__gl_extensions__", mh, ""),
649  __gl_renderer__ ("__gl_renderer__", mh, ""),
650  __gl_vendor__ ("__gl_vendor__", mh, ""),
651  __gl_version__ ("__gl_version__", mh, ""),
652  __graphics_toolkit__ ("__graphics_toolkit__", mh, gtk_manager::default_toolkit ()),
653  __guidata__ ("__guidata__", mh, Matrix ()),
654  __mouse_mode__ ("__mouse_mode__", mh, "{none}|pan|rotate|select|text|zoom"),
655  __pan_mode__ ("__pan_mode__", mh, Matrix ()),
656  __plot_stream__ ("__plot_stream__", mh, Matrix ()),
657  __rotate_mode__ ("__rotate_mode__", mh, Matrix ()),
658  __zoom_mode__ ("__zoom_mode__", mh, Matrix ()),
659  doublebuffer ("doublebuffer", mh, "on"),
660  mincolormap ("mincolormap", mh, 64),
661  wvisual ("wvisual", mh, ""),
662  wvisualmode ("wvisualmode", mh, "{auto}|manual"),
663  xdisplay ("xdisplay", mh, ""),
664  xvisual ("xvisual", mh, ""),
665  xvisualmode ("xvisualmode", mh, "{auto}|manual")
666 {
684  name.set_id (ID_NAME);
718  __gl_vendor__.set_hidden (true);
720  __gl_version__.set_hidden (true);
724  __guidata__.set_hidden (true);
726  __mouse_mode__.set_hidden (true);
728  __pan_mode__.set_hidden (true);
734  __zoom_mode__.set_hidden (true);
736  doublebuffer.set_hidden (true);
738  mincolormap.set_hidden (true);
740  wvisual.set_hidden (true);
742  wvisualmode.set_hidden (true);
744  xdisplay.set_hidden (true);
746  xvisual.set_hidden (true);
748  xvisualmode.set_hidden (true);
749  init ();
750 }
751 
752 void
754 {
755  const std::set<std::string>& pnames = all_property_names ();
756 
757  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
758 
759  if (has_readonly_property (pname))
760  {
761  error ("set: \"%s\" is read-only", pname.c_str ());
762  return;
763  }
764 
765  if (pname.compare ("alphamap"))
766  set_alphamap (val);
767  else if (pname.compare ("buttondownfcn"))
768  set_buttondownfcn (val);
769  else if (pname.compare ("closerequestfcn"))
770  set_closerequestfcn (val);
771  else if (pname.compare ("color"))
772  set_color (val);
773  else if (pname.compare ("colormap"))
774  set_colormap (val);
775  else if (pname.compare ("currentaxes"))
776  set_currentaxes (val);
777  else if (pname.compare ("dockcontrols"))
778  set_dockcontrols (val);
779  else if (pname.compare ("filename"))
780  set_filename (val);
781  else if (pname.compare ("graphicssmoothing"))
782  set_graphicssmoothing (val);
783  else if (pname.compare ("integerhandle"))
784  set_integerhandle (val);
785  else if (pname.compare ("inverthardcopy"))
786  set_inverthardcopy (val);
787  else if (pname.compare ("keypressfcn"))
788  set_keypressfcn (val);
789  else if (pname.compare ("keyreleasefcn"))
790  set_keyreleasefcn (val);
791  else if (pname.compare ("menubar"))
792  set_menubar (val);
793  else if (pname.compare ("name"))
794  set_name (val);
795  else if (pname.compare ("nextplot"))
796  set_nextplot (val);
797  else if (pname.compare ("numbertitle"))
798  set_numbertitle (val);
799  else if (pname.compare ("outerposition"))
800  set_outerposition (val);
801  else if (pname.compare ("paperorientation"))
802  set_paperorientation (val);
803  else if (pname.compare ("paperposition"))
804  set_paperposition (val);
805  else if (pname.compare ("paperpositionmode"))
806  set_paperpositionmode (val);
807  else if (pname.compare ("papersize"))
808  set_papersize (val);
809  else if (pname.compare ("papertype"))
810  set_papertype (val);
811  else if (pname.compare ("paperunits"))
812  set_paperunits (val);
813  else if (pname.compare ("pointer"))
814  set_pointer (val);
815  else if (pname.compare ("pointershapecdata"))
816  set_pointershapecdata (val);
817  else if (pname.compare ("pointershapehotspot"))
818  set_pointershapehotspot (val);
819  else if (pname.compare ("position"))
820  set_position (val);
821  else if (pname.compare ("renderer"))
822  set_renderer (val);
823  else if (pname.compare ("renderermode"))
824  set_renderermode (val);
825  else if (pname.compare ("resize"))
826  set_resize (val);
827  else if (pname.compare ("resizefcn"))
828  set_resizefcn (val);
829  else if (pname.compare ("selectiontype"))
830  set_selectiontype (val);
831  else if (pname.compare ("sizechangedfcn"))
832  set_sizechangedfcn (val);
833  else if (pname.compare ("toolbar"))
834  set_toolbar (val);
835  else if (pname.compare ("units"))
836  set_units (val);
837  else if (pname.compare ("windowbuttondownfcn"))
838  set_windowbuttondownfcn (val);
839  else if (pname.compare ("windowbuttonmotionfcn"))
840  set_windowbuttonmotionfcn (val);
841  else if (pname.compare ("windowbuttonupfcn"))
842  set_windowbuttonupfcn (val);
843  else if (pname.compare ("windowkeypressfcn"))
844  set_windowkeypressfcn (val);
845  else if (pname.compare ("windowkeyreleasefcn"))
846  set_windowkeyreleasefcn (val);
847  else if (pname.compare ("windowscrollwheelfcn"))
848  set_windowscrollwheelfcn (val);
849  else if (pname.compare ("windowstyle"))
850  set_windowstyle (val);
851  else if (pname.compare ("__graphics_toolkit__"))
852  set___graphics_toolkit__ (val);
853  else if (pname.compare ("__guidata__"))
854  set___guidata__ (val);
855  else if (pname.compare ("__mouse_mode__"))
856  set___mouse_mode__ (val);
857  else if (pname.compare ("__pan_mode__"))
858  set___pan_mode__ (val);
859  else if (pname.compare ("__plot_stream__"))
860  set___plot_stream__ (val);
861  else if (pname.compare ("__rotate_mode__"))
862  set___rotate_mode__ (val);
863  else if (pname.compare ("__zoom_mode__"))
864  set___zoom_mode__ (val);
865  else if (pname.compare ("doublebuffer"))
866  set_doublebuffer (val);
867  else if (pname.compare ("mincolormap"))
868  set_mincolormap (val);
869  else if (pname.compare ("wvisual"))
870  set_wvisual (val);
871  else if (pname.compare ("wvisualmode"))
872  set_wvisualmode (val);
873  else if (pname.compare ("xdisplay"))
874  set_xdisplay (val);
875  else if (pname.compare ("xvisual"))
876  set_xvisual (val);
877  else if (pname.compare ("xvisualmode"))
878  set_xvisualmode (val);
879  else
880  base_properties::set (pname, val);
881 }
882 
884 figure::properties::get (bool all) const
885 {
887 
888  m.assign ("alphamap", octave_value (get_alphamap ()));
889  m.assign ("buttondownfcn", octave_value (get_buttondownfcn ()));
890  m.assign ("closerequestfcn", octave_value (get_closerequestfcn ()));
891  m.assign ("color", octave_value (get_color ()));
892  m.assign ("colormap", octave_value (get_colormap ()));
893  m.assign ("currentaxes", octave_value (get_currentaxes ().as_octave_value ()));
894  m.assign ("currentcharacter", octave_value (get_currentcharacter ()));
895  m.assign ("currentobject", octave_value (get_currentobject ().as_octave_value ()));
896  m.assign ("currentpoint", octave_value (get_currentpoint ()));
897  m.assign ("dockcontrols", octave_value (get_dockcontrols ()));
898  m.assign ("filename", octave_value (get_filename ()));
899  m.assign ("graphicssmoothing", octave_value (get_graphicssmoothing ()));
900  m.assign ("integerhandle", octave_value (get_integerhandle ()));
901  m.assign ("inverthardcopy", octave_value (get_inverthardcopy ()));
902  m.assign ("keypressfcn", octave_value (get_keypressfcn ()));
903  m.assign ("keyreleasefcn", octave_value (get_keyreleasefcn ()));
904  m.assign ("menubar", octave_value (get_menubar ()));
905  m.assign ("name", octave_value (get_name ()));
906  m.assign ("nextplot", octave_value (get_nextplot ()));
907  m.assign ("numbertitle", octave_value (get_numbertitle ()));
908  m.assign ("outerposition", octave_value (get_outerposition ()));
909  m.assign ("paperorientation", octave_value (get_paperorientation ()));
910  m.assign ("paperposition", octave_value (get_paperposition ()));
911  m.assign ("paperpositionmode", octave_value (get_paperpositionmode ()));
912  m.assign ("papersize", octave_value (get_papersize ()));
913  m.assign ("papertype", octave_value (get_papertype ()));
914  m.assign ("paperunits", octave_value (get_paperunits ()));
915  m.assign ("pointer", octave_value (get_pointer ()));
916  m.assign ("pointershapecdata", octave_value (get_pointershapecdata ()));
917  m.assign ("pointershapehotspot", octave_value (get_pointershapehotspot ()));
918  m.assign ("position", octave_value (get_position ()));
919  m.assign ("renderer", octave_value (get_renderer ()));
920  m.assign ("renderermode", octave_value (get_renderermode ()));
921  m.assign ("resize", octave_value (get_resize ()));
922  m.assign ("resizefcn", octave_value (get_resizefcn ()));
923  m.assign ("selectiontype", octave_value (get_selectiontype ()));
924  m.assign ("sizechangedfcn", octave_value (get_sizechangedfcn ()));
925  m.assign ("toolbar", octave_value (get_toolbar ()));
926  m.assign ("units", octave_value (get_units ()));
927  m.assign ("windowbuttondownfcn", octave_value (get_windowbuttondownfcn ()));
928  m.assign ("windowbuttonmotionfcn", octave_value (get_windowbuttonmotionfcn ()));
929  m.assign ("windowbuttonupfcn", octave_value (get_windowbuttonupfcn ()));
930  m.assign ("windowkeypressfcn", octave_value (get_windowkeypressfcn ()));
931  m.assign ("windowkeyreleasefcn", octave_value (get_windowkeyreleasefcn ()));
932  m.assign ("windowscrollwheelfcn", octave_value (get_windowscrollwheelfcn ()));
933  m.assign ("windowstyle", octave_value (get_windowstyle ()));
934  if (all)
935  m.assign ("__gl_extensions__", octave_value (get___gl_extensions__ ()));
936  if (all)
937  m.assign ("__gl_renderer__", octave_value (get___gl_renderer__ ()));
938  if (all)
939  m.assign ("__gl_vendor__", octave_value (get___gl_vendor__ ()));
940  if (all)
941  m.assign ("__gl_version__", octave_value (get___gl_version__ ()));
942  if (all)
943  m.assign ("__graphics_toolkit__", octave_value (get___graphics_toolkit__ ()));
944  if (all)
945  m.assign ("__guidata__", octave_value (get___guidata__ ()));
946  if (all)
947  m.assign ("__mouse_mode__", octave_value (get___mouse_mode__ ()));
948  if (all)
949  m.assign ("__pan_mode__", octave_value (get___pan_mode__ ()));
950  if (all)
951  m.assign ("__plot_stream__", octave_value (get___plot_stream__ ()));
952  if (all)
953  m.assign ("__rotate_mode__", octave_value (get___rotate_mode__ ()));
954  if (all)
955  m.assign ("__zoom_mode__", octave_value (get___zoom_mode__ ()));
956  if (all)
957  m.assign ("doublebuffer", octave_value (get_doublebuffer ()));
958  if (all)
959  m.assign ("mincolormap", octave_value (get_mincolormap ()));
960  if (all)
961  m.assign ("wvisual", octave_value (get_wvisual ()));
962  if (all)
963  m.assign ("wvisualmode", octave_value (get_wvisualmode ()));
964  if (all)
965  m.assign ("xdisplay", octave_value (get_xdisplay ()));
966  if (all)
967  m.assign ("xvisual", octave_value (get_xvisual ()));
968  if (all)
969  m.assign ("xvisualmode", octave_value (get_xvisualmode ()));
970 
971  return m;
972 }
973 
975 figure::properties::get (const caseless_str& pname_arg) const
976 {
978 
979  const std::set<std::string>& pnames = all_property_names ();
980 
981  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
982 
983  if (pname.compare ("alphamap"))
984  retval = get_alphamap ();
985  else if (pname.compare ("buttondownfcn"))
986  retval = get_buttondownfcn ();
987  else if (pname.compare ("closerequestfcn"))
988  retval = get_closerequestfcn ();
989  else if (pname.compare ("color"))
990  retval = get_color ();
991  else if (pname.compare ("colormap"))
992  retval = get_colormap ();
993  else if (pname.compare ("currentaxes"))
994  retval = get_currentaxes ().as_octave_value ();
995  else if (pname.compare ("currentcharacter"))
996  retval = get_currentcharacter ();
997  else if (pname.compare ("currentobject"))
998  retval = get_currentobject ().as_octave_value ();
999  else if (pname.compare ("currentpoint"))
1000  retval = get_currentpoint ();
1001  else if (pname.compare ("dockcontrols"))
1002  retval = get_dockcontrols ();
1003  else if (pname.compare ("filename"))
1004  retval = get_filename ();
1005  else if (pname.compare ("graphicssmoothing"))
1006  retval = get_graphicssmoothing ();
1007  else if (pname.compare ("integerhandle"))
1008  retval = get_integerhandle ();
1009  else if (pname.compare ("inverthardcopy"))
1010  retval = get_inverthardcopy ();
1011  else if (pname.compare ("keypressfcn"))
1012  retval = get_keypressfcn ();
1013  else if (pname.compare ("keyreleasefcn"))
1014  retval = get_keyreleasefcn ();
1015  else if (pname.compare ("menubar"))
1016  retval = get_menubar ();
1017  else if (pname.compare ("name"))
1018  retval = get_name ();
1019  else if (pname.compare ("nextplot"))
1020  retval = get_nextplot ();
1021  else if (pname.compare ("numbertitle"))
1022  retval = get_numbertitle ();
1023  else if (pname.compare ("outerposition"))
1024  retval = get_outerposition ();
1025  else if (pname.compare ("paperorientation"))
1026  retval = get_paperorientation ();
1027  else if (pname.compare ("paperposition"))
1028  retval = get_paperposition ();
1029  else if (pname.compare ("paperpositionmode"))
1030  retval = get_paperpositionmode ();
1031  else if (pname.compare ("papersize"))
1032  retval = get_papersize ();
1033  else if (pname.compare ("papertype"))
1034  retval = get_papertype ();
1035  else if (pname.compare ("paperunits"))
1036  retval = get_paperunits ();
1037  else if (pname.compare ("pointer"))
1038  retval = get_pointer ();
1039  else if (pname.compare ("pointershapecdata"))
1040  retval = get_pointershapecdata ();
1041  else if (pname.compare ("pointershapehotspot"))
1042  retval = get_pointershapehotspot ();
1043  else if (pname.compare ("position"))
1044  retval = get_position ();
1045  else if (pname.compare ("renderer"))
1046  retval = get_renderer ();
1047  else if (pname.compare ("renderermode"))
1048  retval = get_renderermode ();
1049  else if (pname.compare ("resize"))
1050  retval = get_resize ();
1051  else if (pname.compare ("resizefcn"))
1052  retval = get_resizefcn ();
1053  else if (pname.compare ("selectiontype"))
1054  retval = get_selectiontype ();
1055  else if (pname.compare ("sizechangedfcn"))
1056  retval = get_sizechangedfcn ();
1057  else if (pname.compare ("toolbar"))
1058  retval = get_toolbar ();
1059  else if (pname.compare ("units"))
1060  retval = get_units ();
1061  else if (pname.compare ("windowbuttondownfcn"))
1062  retval = get_windowbuttondownfcn ();
1063  else if (pname.compare ("windowbuttonmotionfcn"))
1064  retval = get_windowbuttonmotionfcn ();
1065  else if (pname.compare ("windowbuttonupfcn"))
1066  retval = get_windowbuttonupfcn ();
1067  else if (pname.compare ("windowkeypressfcn"))
1068  retval = get_windowkeypressfcn ();
1069  else if (pname.compare ("windowkeyreleasefcn"))
1070  retval = get_windowkeyreleasefcn ();
1071  else if (pname.compare ("windowscrollwheelfcn"))
1072  retval = get_windowscrollwheelfcn ();
1073  else if (pname.compare ("windowstyle"))
1074  retval = get_windowstyle ();
1075  else if (pname.compare ("__gl_extensions__"))
1076  retval = get___gl_extensions__ ();
1077  else if (pname.compare ("__gl_renderer__"))
1078  retval = get___gl_renderer__ ();
1079  else if (pname.compare ("__gl_vendor__"))
1080  retval = get___gl_vendor__ ();
1081  else if (pname.compare ("__gl_version__"))
1082  retval = get___gl_version__ ();
1083  else if (pname.compare ("__graphics_toolkit__"))
1084  retval = get___graphics_toolkit__ ();
1085  else if (pname.compare ("__guidata__"))
1086  retval = get___guidata__ ();
1087  else if (pname.compare ("__mouse_mode__"))
1088  retval = get___mouse_mode__ ();
1089  else if (pname.compare ("__pan_mode__"))
1090  retval = get___pan_mode__ ();
1091  else if (pname.compare ("__plot_stream__"))
1092  retval = get___plot_stream__ ();
1093  else if (pname.compare ("__rotate_mode__"))
1094  retval = get___rotate_mode__ ();
1095  else if (pname.compare ("__zoom_mode__"))
1096  retval = get___zoom_mode__ ();
1097  else if (pname.compare ("doublebuffer"))
1098  retval = get_doublebuffer ();
1099  else if (pname.compare ("mincolormap"))
1100  retval = get_mincolormap ();
1101  else if (pname.compare ("wvisual"))
1102  retval = get_wvisual ();
1103  else if (pname.compare ("wvisualmode"))
1104  retval = get_wvisualmode ();
1105  else if (pname.compare ("xdisplay"))
1106  retval = get_xdisplay ();
1107  else if (pname.compare ("xvisual"))
1108  retval = get_xvisual ();
1109  else if (pname.compare ("xvisualmode"))
1110  retval = get_xvisualmode ();
1111  else
1112  retval = base_properties::get (pname);
1113 
1114  return retval;
1115 }
1116 
1117 property
1119 {
1120  const std::set<std::string>& pnames = all_property_names ();
1121 
1122  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
1123 
1124  if (pname.compare ("alphamap"))
1125  return property (&alphamap, true);
1126  else if (pname.compare ("buttondownfcn"))
1127  return property (&buttondownfcn, true);
1128  else if (pname.compare ("closerequestfcn"))
1129  return property (&closerequestfcn, true);
1130  else if (pname.compare ("color"))
1131  return property (&color, true);
1132  else if (pname.compare ("colormap"))
1133  return property (&colormap, true);
1134  else if (pname.compare ("currentaxes"))
1135  return property (&currentaxes, true);
1136  else if (pname.compare ("currentcharacter"))
1137  return property (&currentcharacter, true);
1138  else if (pname.compare ("currentobject"))
1139  return property (&currentobject, true);
1140  else if (pname.compare ("currentpoint"))
1141  return property (&currentpoint, true);
1142  else if (pname.compare ("dockcontrols"))
1143  return property (&dockcontrols, true);
1144  else if (pname.compare ("filename"))
1145  return property (&filename, true);
1146  else if (pname.compare ("graphicssmoothing"))
1147  return property (&graphicssmoothing, true);
1148  else if (pname.compare ("integerhandle"))
1149  return property (&integerhandle, true);
1150  else if (pname.compare ("inverthardcopy"))
1151  return property (&inverthardcopy, true);
1152  else if (pname.compare ("keypressfcn"))
1153  return property (&keypressfcn, true);
1154  else if (pname.compare ("keyreleasefcn"))
1155  return property (&keyreleasefcn, true);
1156  else if (pname.compare ("menubar"))
1157  return property (&menubar, true);
1158  else if (pname.compare ("name"))
1159  return property (&name, true);
1160  else if (pname.compare ("nextplot"))
1161  return property (&nextplot, true);
1162  else if (pname.compare ("numbertitle"))
1163  return property (&numbertitle, true);
1164  else if (pname.compare ("outerposition"))
1165  return property (&outerposition, true);
1166  else if (pname.compare ("paperorientation"))
1167  return property (&paperorientation, true);
1168  else if (pname.compare ("paperposition"))
1169  return property (&paperposition, true);
1170  else if (pname.compare ("paperpositionmode"))
1171  return property (&paperpositionmode, true);
1172  else if (pname.compare ("papersize"))
1173  return property (&papersize, true);
1174  else if (pname.compare ("papertype"))
1175  return property (&papertype, true);
1176  else if (pname.compare ("paperunits"))
1177  return property (&paperunits, true);
1178  else if (pname.compare ("pointer"))
1179  return property (&pointer, true);
1180  else if (pname.compare ("pointershapecdata"))
1181  return property (&pointershapecdata, true);
1182  else if (pname.compare ("pointershapehotspot"))
1183  return property (&pointershapehotspot, true);
1184  else if (pname.compare ("position"))
1185  return property (&position, true);
1186  else if (pname.compare ("renderer"))
1187  return property (&renderer, true);
1188  else if (pname.compare ("renderermode"))
1189  return property (&renderermode, true);
1190  else if (pname.compare ("resize"))
1191  return property (&resize, true);
1192  else if (pname.compare ("resizefcn"))
1193  return property (&resizefcn, true);
1194  else if (pname.compare ("selectiontype"))
1195  return property (&selectiontype, true);
1196  else if (pname.compare ("sizechangedfcn"))
1197  return property (&sizechangedfcn, true);
1198  else if (pname.compare ("toolbar"))
1199  return property (&toolbar, true);
1200  else if (pname.compare ("units"))
1201  return property (&units, true);
1202  else if (pname.compare ("windowbuttondownfcn"))
1203  return property (&windowbuttondownfcn, true);
1204  else if (pname.compare ("windowbuttonmotionfcn"))
1205  return property (&windowbuttonmotionfcn, true);
1206  else if (pname.compare ("windowbuttonupfcn"))
1207  return property (&windowbuttonupfcn, true);
1208  else if (pname.compare ("windowkeypressfcn"))
1209  return property (&windowkeypressfcn, true);
1210  else if (pname.compare ("windowkeyreleasefcn"))
1211  return property (&windowkeyreleasefcn, true);
1212  else if (pname.compare ("windowscrollwheelfcn"))
1213  return property (&windowscrollwheelfcn, true);
1214  else if (pname.compare ("windowstyle"))
1215  return property (&windowstyle, true);
1216  else if (pname.compare ("__gl_extensions__"))
1217  return property (&__gl_extensions__, true);
1218  else if (pname.compare ("__gl_renderer__"))
1219  return property (&__gl_renderer__, true);
1220  else if (pname.compare ("__gl_vendor__"))
1221  return property (&__gl_vendor__, true);
1222  else if (pname.compare ("__gl_version__"))
1223  return property (&__gl_version__, true);
1224  else if (pname.compare ("__graphics_toolkit__"))
1225  return property (&__graphics_toolkit__, true);
1226  else if (pname.compare ("__guidata__"))
1227  return property (&__guidata__, true);
1228  else if (pname.compare ("__mouse_mode__"))
1229  return property (&__mouse_mode__, true);
1230  else if (pname.compare ("__pan_mode__"))
1231  return property (&__pan_mode__, true);
1232  else if (pname.compare ("__plot_stream__"))
1233  return property (&__plot_stream__, true);
1234  else if (pname.compare ("__rotate_mode__"))
1235  return property (&__rotate_mode__, true);
1236  else if (pname.compare ("__zoom_mode__"))
1237  return property (&__zoom_mode__, true);
1238  else if (pname.compare ("doublebuffer"))
1239  return property (&doublebuffer, true);
1240  else if (pname.compare ("mincolormap"))
1241  return property (&mincolormap, true);
1242  else if (pname.compare ("wvisual"))
1243  return property (&wvisual, true);
1244  else if (pname.compare ("wvisualmode"))
1245  return property (&wvisualmode, true);
1246  else if (pname.compare ("xdisplay"))
1247  return property (&xdisplay, true);
1248  else if (pname.compare ("xvisual"))
1249  return property (&xvisual, true);
1250  else if (pname.compare ("xvisualmode"))
1251  return property (&xvisualmode, true);
1252  else
1253  return base_properties::get_property (pname);
1254 }
1255 
1258 {
1260 
1261  m["alphamap"] = Matrix (64, 1, 1);
1262  m["buttondownfcn"] = Matrix ();
1263  m["closerequestfcn"] = "closereq";
1264  m["color"] = color_property (color_values (1, 1, 1), radio_values ("none"));
1265  m["colormap"] = viridis_colormap ();
1266  m["currentaxes"] = graphics_handle ().as_octave_value ();
1267  m["currentcharacter"] = "";
1268  m["currentobject"] = graphics_handle ().as_octave_value ();
1269  m["currentpoint"] = Matrix (2, 1, 0);
1270  m["dockcontrols"] = "off";
1271  m["filename"] = "";
1272  m["graphicssmoothing"] = "on";
1273  m["integerhandle"] = "on";
1274  m["inverthardcopy"] = "on";
1275  m["keypressfcn"] = Matrix ();
1276  m["keyreleasefcn"] = Matrix ();
1277  m["menubar"] = "figure";
1278  m["name"] = "";
1279  m["nextplot"] = "add";
1280  m["numbertitle"] = "on";
1281  m["outerposition"] = Matrix (1, 4, -1.0);
1282  m["paperorientation"] = "portrait";
1283  m["paperposition"] = default_figure_paperposition ();
1284  m["paperpositionmode"] = "manual";
1285  m["papersize"] = default_figure_papersize ();
1286  m["papertype"] = "usletter";
1287  m["paperunits"] = "inches";
1288  m["pointer"] = "arrow";
1289  m["pointershapecdata"] = Matrix (16, 16, 0);
1290  m["pointershapehotspot"] = Matrix (1, 2, 0);
1291  m["position"] = default_figure_position ();
1292  m["renderer"] = "opengl";
1293  m["renderermode"] = "auto";
1294  m["resize"] = "on";
1295  m["resizefcn"] = Matrix ();
1296  m["selectiontype"] = "normal";
1297  m["sizechangedfcn"] = Matrix ();
1298  m["toolbar"] = "auto";
1299  m["units"] = "pixels";
1300  m["windowbuttondownfcn"] = Matrix ();
1301  m["windowbuttonmotionfcn"] = Matrix ();
1302  m["windowbuttonupfcn"] = Matrix ();
1303  m["windowkeypressfcn"] = Matrix ();
1304  m["windowkeyreleasefcn"] = Matrix ();
1305  m["windowscrollwheelfcn"] = Matrix ();
1306  m["windowstyle"] = "normal";
1307  m["__gl_extensions__"] = "";
1308  m["__gl_renderer__"] = "";
1309  m["__gl_vendor__"] = "";
1310  m["__gl_version__"] = "";
1311  m["__graphics_toolkit__"] = gtk_manager::default_toolkit ();
1312  m["__guidata__"] = Matrix ();
1313  m["__mouse_mode__"] = "none";
1314  m["__pan_mode__"] = Matrix ();
1315  m["__plot_stream__"] = Matrix ();
1316  m["__rotate_mode__"] = Matrix ();
1317  m["__zoom_mode__"] = Matrix ();
1318  m["doublebuffer"] = "on";
1319  m["mincolormap"] = 64;
1320  m["wvisual"] = "";
1321  m["wvisualmode"] = "auto";
1322  m["xdisplay"] = "";
1323  m["xvisual"] = "";
1324  m["xvisualmode"] = "auto";
1325 
1326  return m;
1327 }
1328 
1330 
1331 std::set<std::string>
1333 {
1334  static std::set<std::string> all_pnames;
1335 
1336  static bool initialized = false;
1337 
1338  if (! initialized)
1339  {
1340  all_pnames.insert ("alphamap");
1341  all_pnames.insert ("buttondownfcn");
1342  all_pnames.insert ("closerequestfcn");
1343  all_pnames.insert ("color");
1344  all_pnames.insert ("colormap");
1345  all_pnames.insert ("currentaxes");
1346  all_pnames.insert ("currentcharacter");
1347  all_pnames.insert ("currentobject");
1348  all_pnames.insert ("currentpoint");
1349  all_pnames.insert ("dockcontrols");
1350  all_pnames.insert ("filename");
1351  all_pnames.insert ("graphicssmoothing");
1352  all_pnames.insert ("integerhandle");
1353  all_pnames.insert ("inverthardcopy");
1354  all_pnames.insert ("keypressfcn");
1355  all_pnames.insert ("keyreleasefcn");
1356  all_pnames.insert ("menubar");
1357  all_pnames.insert ("name");
1358  all_pnames.insert ("nextplot");
1359  all_pnames.insert ("numbertitle");
1360  all_pnames.insert ("outerposition");
1361  all_pnames.insert ("paperorientation");
1362  all_pnames.insert ("paperposition");
1363  all_pnames.insert ("paperpositionmode");
1364  all_pnames.insert ("papersize");
1365  all_pnames.insert ("papertype");
1366  all_pnames.insert ("paperunits");
1367  all_pnames.insert ("pointer");
1368  all_pnames.insert ("pointershapecdata");
1369  all_pnames.insert ("pointershapehotspot");
1370  all_pnames.insert ("position");
1371  all_pnames.insert ("renderer");
1372  all_pnames.insert ("renderermode");
1373  all_pnames.insert ("resize");
1374  all_pnames.insert ("resizefcn");
1375  all_pnames.insert ("selectiontype");
1376  all_pnames.insert ("sizechangedfcn");
1377  all_pnames.insert ("toolbar");
1378  all_pnames.insert ("units");
1379  all_pnames.insert ("windowbuttondownfcn");
1380  all_pnames.insert ("windowbuttonmotionfcn");
1381  all_pnames.insert ("windowbuttonupfcn");
1382  all_pnames.insert ("windowkeypressfcn");
1383  all_pnames.insert ("windowkeyreleasefcn");
1384  all_pnames.insert ("windowscrollwheelfcn");
1385  all_pnames.insert ("windowstyle");
1386  all_pnames.insert ("__gl_extensions__");
1387  all_pnames.insert ("__gl_renderer__");
1388  all_pnames.insert ("__gl_vendor__");
1389  all_pnames.insert ("__gl_version__");
1390  all_pnames.insert ("__graphics_toolkit__");
1391  all_pnames.insert ("__guidata__");
1392  all_pnames.insert ("__mouse_mode__");
1393  all_pnames.insert ("__pan_mode__");
1394  all_pnames.insert ("__plot_stream__");
1395  all_pnames.insert ("__rotate_mode__");
1396  all_pnames.insert ("__zoom_mode__");
1397  all_pnames.insert ("doublebuffer");
1398  all_pnames.insert ("mincolormap");
1399  all_pnames.insert ("wvisual");
1400  all_pnames.insert ("wvisualmode");
1401  all_pnames.insert ("xdisplay");
1402  all_pnames.insert ("xvisual");
1403  all_pnames.insert ("xvisualmode");
1404 
1405  std::set<std::string> base_pnames = base_properties::core_property_names ();
1406  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
1407 
1408  initialized = true;
1409  }
1410 
1411  return all_pnames;
1412 }
1413 
1414 bool
1416 {
1417  std::set<std::string> pnames = core_property_names ();
1418 
1419  return pnames.find (pname) != pnames.end ();
1420 }
1421 
1422 std::set<std::string>
1424 {
1425  static std::set<std::string> all_pnames;
1426 
1427  static bool initialized = false;
1428 
1429  if (! initialized)
1430  {
1431  all_pnames.insert ("currentcharacter");
1432  all_pnames.insert ("currentobject");
1433  all_pnames.insert ("currentpoint");
1434  all_pnames.insert ("__gl_extensions__");
1435  all_pnames.insert ("__gl_renderer__");
1436  all_pnames.insert ("__gl_vendor__");
1437  all_pnames.insert ("__gl_version__");
1438 
1439  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
1440  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
1441 
1442  initialized = true;
1443  }
1444 
1445  return all_pnames;
1446 }
1447 
1448 bool
1450 {
1451  std::set<std::string> pnames = readonly_property_names ();
1452 
1453  return pnames.find (pname) != pnames.end ();
1454 }
1455 
1456 std::set<std::string>
1458 {
1459  static std::set<std::string> all_pnames = core_property_names ();
1460 
1461  std::set<std::string> retval = all_pnames;
1462  std::set<std::string> base_props = base_properties::all_property_names ();
1463  retval.insert (base_props.begin (), base_props.end ());
1464 
1465  return retval;
1466 }
1467 
1468 bool
1470 {
1471  std::set<std::string> pnames = all_property_names ();
1472 
1473  return pnames.find (pname) != pnames.end ();
1474 }
1475 
1476 // ******** axes ********
1477 
1479  : base_properties (go_name, mh, p),
1480  activepositionproperty ("activepositionproperty", mh, "{outerposition}|position"),
1481  alim ("alim", mh, default_lim ()),
1482  alimmode ("alimmode", mh, "{auto}|manual"),
1483  ambientlightcolor ("ambientlightcolor", mh, color_values (1, 1, 1)),
1484  box ("box", mh, "off"),
1485  boxstyle ("boxstyle", mh, "{back}|full"),
1486  cameraposition ("cameraposition", mh, Matrix (1, 3, 0.0)),
1487  camerapositionmode ("camerapositionmode", mh, "{auto}|manual"),
1488  cameratarget ("cameratarget", mh, Matrix (1, 3, 0.0)),
1489  cameratargetmode ("cameratargetmode", mh, "{auto}|manual"),
1490  cameraupvector ("cameraupvector", mh, Matrix (1, 3, 0.0)),
1491  cameraupvectormode ("cameraupvectormode", mh, "{auto}|manual"),
1492  cameraviewangle ("cameraviewangle", mh, 6.6086),
1493  cameraviewanglemode ("cameraviewanglemode", mh, "{auto}|manual"),
1494  clim ("clim", mh, default_lim ()),
1495  climmode ("climmode", mh, "{auto}|manual"),
1496  clippingstyle ("clippingstyle", mh, "{3dbox}|rectangle"),
1497  color ("color", mh, color_property (color_values (1, 1, 1), radio_values ("none"))),
1498  colororder ("colororder", mh, default_colororder ()),
1499  colororderindex ("colororderindex", mh, 1.0),
1500  currentpoint ("currentpoint", mh, Matrix (2, 3, 0.0)),
1501  dataaspectratio ("dataaspectratio", mh, Matrix (1, 3, 1.0)),
1502  dataaspectratiomode ("dataaspectratiomode", mh, "{auto}|manual"),
1503  drawmode ("drawmode", mh, "{normal}|fast"),
1504  fontangle ("fontangle", mh, "{normal}|italic"),
1505  fontname ("fontname", mh, OCTAVE_DEFAULT_FONTNAME),
1506  fontsize ("fontsize", mh, 10),
1507  fontunits ("fontunits", mh, "{points}|inches|centimeters|normalized|pixels"),
1508  fontsmoothing ("fontsmoothing", mh, "on"),
1509  fontweight ("fontweight", mh, "{normal}|bold"),
1510  gridalpha ("gridalpha", mh, 0.15),
1511  gridalphamode ("gridalphamode", mh, "{auto}|manual"),
1512  gridcolor ("gridcolor", mh, color_property (color_values (0.15, 0.15, 0.15), radio_values ("none"))),
1513  gridcolormode ("gridcolormode", mh, "{auto}|manual"),
1514  gridlinestyle ("gridlinestyle", mh, "{-}|--|:|-.|none"),
1515  labelfontsizemultiplier ("labelfontsizemultiplier", mh, 1.1),
1516  layer ("layer", mh, "{bottom}|top"),
1517  linestyleorder ("linestyleorder", mh, "-"),
1518  linestyleorderindex ("linestyleorderindex", mh, 1.0),
1519  linewidth ("linewidth", mh, 0.5),
1520  minorgridalpha ("minorgridalpha", mh, 0.25),
1521  minorgridalphamode ("minorgridalphamode", mh, "{auto}|manual"),
1522  minorgridcolor ("minorgridcolor", mh, color_property (color_values (0.1, 0.1, 0.1), radio_values ("none"))),
1523  minorgridcolormode ("minorgridcolormode", mh, "{auto}|manual"),
1524  minorgridlinestyle ("minorgridlinestyle", mh, "{:}|-|--|-.|none"),
1525  nextplot ("nextplot", mh, "{replace}|add|replacechildren"),
1526  outerposition ("outerposition", mh, default_axes_outerposition ()),
1527  plotboxaspectratio ("plotboxaspectratio", mh, Matrix (1, 3, 1.0)),
1528  plotboxaspectratiomode ("plotboxaspectratiomode", mh, "{auto}|manual"),
1529  pickableparts ("pickableparts", mh, "{visible}|all|none"),
1530  position ("position", mh, default_axes_position ()),
1531  projection ("projection", mh, "{orthographic}|perspective"),
1532  sortmethod ("sortmethod", mh, "{depth}|childorder"),
1533  tickdir ("tickdir", mh, "{in}|out"),
1534  tickdirmode ("tickdirmode", mh, "{auto}|manual"),
1535  ticklabelinterpreter ("ticklabelinterpreter", mh, "{tex}|latex|none"),
1536  ticklength ("ticklength", mh, default_axes_ticklength ()),
1537  tightinset ("tightinset", mh, Matrix (1, 4, 0.0)),
1538  title ("title", mh, gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false)),
1539  titlefontsizemultiplier ("titlefontsizemultiplier", mh, 1.1),
1540  titlefontweight ("titlefontweight", mh, "{bold}|normal"),
1541  units ("units", mh, "{normalized}|inches|centimeters|points|pixels|characters"),
1542  view ("view", mh, default_axes_view ()),
1543  xaxislocation ("xaxislocation", mh, "{bottom}|top|origin|zero"),
1544  xcolor ("xcolor", mh, color_values (0.15, 0.15, 0.15)),
1545  xcolormode ("xcolormode", mh, "{auto}|manual"),
1546  xdir ("xdir", mh, "{normal}|reverse"),
1547  xgrid ("xgrid", mh, "off"),
1548  xlabel ("xlabel", mh, gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false)),
1549  xlim ("xlim", mh, default_lim ()),
1550  xlimmode ("xlimmode", mh, "{auto}|manual"),
1551  xminorgrid ("xminorgrid", mh, "off"),
1552  xminortick ("xminortick", mh, "off"),
1553  xscale ("xscale", mh, "{linear}|log"),
1554  xtick ("xtick", mh, default_axes_tick ()),
1555  xticklabel ("xticklabel", mh, ""),
1556  xticklabelmode ("xticklabelmode", mh, "{auto}|manual"),
1557  xticklabelrotation ("xticklabelrotation", mh, 0.0),
1558  xtickmode ("xtickmode", mh, "{auto}|manual"),
1559  yaxislocation ("yaxislocation", mh, "{left}|right|origin|zero"),
1560  ycolor ("ycolor", mh, color_values (0.15, 0.15, 0.15)),
1561  ycolormode ("ycolormode", mh, "{auto}|manual"),
1562  ydir ("ydir", mh, "{normal}|reverse"),
1563  ygrid ("ygrid", mh, "off"),
1564  ylabel ("ylabel", mh, gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false)),
1565  ylim ("ylim", mh, default_lim ()),
1566  ylimmode ("ylimmode", mh, "{auto}|manual"),
1567  yminorgrid ("yminorgrid", mh, "off"),
1568  yminortick ("yminortick", mh, "off"),
1569  yscale ("yscale", mh, "{linear}|log"),
1570  ytick ("ytick", mh, default_axes_tick ()),
1571  yticklabel ("yticklabel", mh, ""),
1572  yticklabelmode ("yticklabelmode", mh, "{auto}|manual"),
1573  yticklabelrotation ("yticklabelrotation", mh, 0.0),
1574  ytickmode ("ytickmode", mh, "{auto}|manual"),
1575  zcolor ("zcolor", mh, color_values (0.15, 0.15, 0.15)),
1576  zcolormode ("zcolormode", mh, "{auto}|manual"),
1577  zdir ("zdir", mh, "{normal}|reverse"),
1578  zgrid ("zgrid", mh, "off"),
1579  zlabel ("zlabel", mh, gh_manager::make_graphics_handle ("text", __myhandle__, false, false, false)),
1580  zlim ("zlim", mh, default_lim ()),
1581  zlimmode ("zlimmode", mh, "{auto}|manual"),
1582  zminorgrid ("zminorgrid", mh, "off"),
1583  zminortick ("zminortick", mh, "off"),
1584  zscale ("zscale", mh, "{linear}|log"),
1585  ztick ("ztick", mh, default_axes_tick ()),
1586  zticklabel ("zticklabel", mh, ""),
1587  zticklabelmode ("zticklabelmode", mh, "{auto}|manual"),
1588  zticklabelrotation ("zticklabelrotation", mh, 0.0),
1589  ztickmode ("ztickmode", mh, "{auto}|manual"),
1590  mousewheelzoom ("mousewheelzoom", mh, 0.5),
1591  autopos_tag ("autopos_tag", mh, "{none}|subplot"),
1592  looseinset ("looseinset", mh, Matrix (1, 4, 0.0)),
1593  x_viewtransform ("x_viewtransform", mh, Matrix (4, 4, 0.0)),
1594  x_projectiontransform ("x_projectiontransform", mh, Matrix (4, 4, 0.0)),
1595  x_viewporttransform ("x_viewporttransform", mh, Matrix (4, 4, 0.0)),
1596  x_normrendertransform ("x_normrendertransform", mh, Matrix (4, 4, 0.0)),
1597  x_rendertransform ("x_rendertransform", mh, Matrix (4, 4, 0.0)),
1598  xmtick ("xmtick", mh, Matrix ()),
1599  ymtick ("ymtick", mh, Matrix ()),
1600  zmtick ("zmtick", mh, Matrix ()),
1601  fontsize_points ("fontsize_points", mh, 0)
1602 {
1604  alim.set_id (ID_ALIM);
1607  box.set_id (ID_BOX);
1617  clim.set_id (ID_CLIM);
1620  color.set_id (ID_COLOR);
1639  layer.set_id (ID_LAYER);
1661  title.set_id (ID_TITLE);
1664  units.set_id (ID_UNITS);
1665  view.set_id (ID_VIEW);
1669  xdir.set_id (ID_XDIR);
1670  xgrid.set_id (ID_XGRID);
1672  xlim.set_id (ID_XLIM);
1677  xtick.set_id (ID_XTICK);
1685  ydir.set_id (ID_YDIR);
1686  ygrid.set_id (ID_YGRID);
1688  ylim.set_id (ID_YLIM);
1693  ytick.set_id (ID_YTICK);
1700  zdir.set_id (ID_ZDIR);
1701  zgrid.set_id (ID_ZGRID);
1703  zlim.set_id (ID_ZLIM);
1708  ztick.set_id (ID_ZTICK);
1715  autopos_tag.set_hidden (true);
1717  looseinset.set_hidden (true);
1719  x_viewtransform.set_hidden (true);
1729  xmtick.set_hidden (true);
1731  ymtick.set_hidden (true);
1733  zmtick.set_hidden (true);
1735  fontsize_points.set_hidden (true);
1736  init ();
1737 }
1738 
1739 void
1741 {
1742  const std::set<std::string>& pnames = all_property_names ();
1743 
1744  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
1745 
1746  if (has_readonly_property (pname))
1747  {
1748  error ("set: \"%s\" is read-only", pname.c_str ());
1749  return;
1750  }
1751 
1752  if (pname.compare ("activepositionproperty"))
1753  set_activepositionproperty (val);
1754  else if (pname.compare ("alim"))
1755  set_alim (val);
1756  else if (pname.compare ("alimmode"))
1757  set_alimmode (val);
1758  else if (pname.compare ("ambientlightcolor"))
1759  set_ambientlightcolor (val);
1760  else if (pname.compare ("box"))
1761  set_box (val);
1762  else if (pname.compare ("boxstyle"))
1763  set_boxstyle (val);
1764  else if (pname.compare ("cameraposition"))
1765  set_cameraposition (val);
1766  else if (pname.compare ("camerapositionmode"))
1767  set_camerapositionmode (val);
1768  else if (pname.compare ("cameratarget"))
1769  set_cameratarget (val);
1770  else if (pname.compare ("cameratargetmode"))
1771  set_cameratargetmode (val);
1772  else if (pname.compare ("cameraupvector"))
1773  set_cameraupvector (val);
1774  else if (pname.compare ("cameraupvectormode"))
1775  set_cameraupvectormode (val);
1776  else if (pname.compare ("cameraviewangle"))
1777  set_cameraviewangle (val);
1778  else if (pname.compare ("cameraviewanglemode"))
1779  set_cameraviewanglemode (val);
1780  else if (pname.compare ("clim"))
1781  set_clim (val);
1782  else if (pname.compare ("climmode"))
1783  set_climmode (val);
1784  else if (pname.compare ("clippingstyle"))
1785  set_clippingstyle (val);
1786  else if (pname.compare ("color"))
1787  set_color (val);
1788  else if (pname.compare ("colororder"))
1789  set_colororder (val);
1790  else if (pname.compare ("colororderindex"))
1791  set_colororderindex (val);
1792  else if (pname.compare ("currentpoint"))
1793  set_currentpoint (val);
1794  else if (pname.compare ("dataaspectratio"))
1795  set_dataaspectratio (val);
1796  else if (pname.compare ("dataaspectratiomode"))
1797  set_dataaspectratiomode (val);
1798  else if (pname.compare ("drawmode"))
1799  set_drawmode (val);
1800  else if (pname.compare ("fontangle"))
1801  set_fontangle (val);
1802  else if (pname.compare ("fontname"))
1803  set_fontname (val);
1804  else if (pname.compare ("fontsize"))
1805  set_fontsize (val);
1806  else if (pname.compare ("fontunits"))
1807  set_fontunits (val);
1808  else if (pname.compare ("fontsmoothing"))
1809  set_fontsmoothing (val);
1810  else if (pname.compare ("fontweight"))
1811  set_fontweight (val);
1812  else if (pname.compare ("gridalpha"))
1813  set_gridalpha (val);
1814  else if (pname.compare ("gridalphamode"))
1815  set_gridalphamode (val);
1816  else if (pname.compare ("gridcolor"))
1817  set_gridcolor (val);
1818  else if (pname.compare ("gridcolormode"))
1819  set_gridcolormode (val);
1820  else if (pname.compare ("gridlinestyle"))
1821  set_gridlinestyle (val);
1822  else if (pname.compare ("labelfontsizemultiplier"))
1823  set_labelfontsizemultiplier (val);
1824  else if (pname.compare ("layer"))
1825  set_layer (val);
1826  else if (pname.compare ("linestyleorder"))
1827  set_linestyleorder (val);
1828  else if (pname.compare ("linestyleorderindex"))
1829  set_linestyleorderindex (val);
1830  else if (pname.compare ("linewidth"))
1831  set_linewidth (val);
1832  else if (pname.compare ("minorgridalpha"))
1833  set_minorgridalpha (val);
1834  else if (pname.compare ("minorgridalphamode"))
1835  set_minorgridalphamode (val);
1836  else if (pname.compare ("minorgridcolor"))
1837  set_minorgridcolor (val);
1838  else if (pname.compare ("minorgridcolormode"))
1839  set_minorgridcolormode (val);
1840  else if (pname.compare ("minorgridlinestyle"))
1841  set_minorgridlinestyle (val);
1842  else if (pname.compare ("nextplot"))
1843  set_nextplot (val);
1844  else if (pname.compare ("outerposition"))
1845  set_outerposition (val);
1846  else if (pname.compare ("plotboxaspectratio"))
1847  set_plotboxaspectratio (val);
1848  else if (pname.compare ("plotboxaspectratiomode"))
1849  set_plotboxaspectratiomode (val);
1850  else if (pname.compare ("pickableparts"))
1851  set_pickableparts (val);
1852  else if (pname.compare ("position"))
1853  set_position (val);
1854  else if (pname.compare ("projection"))
1855  set_projection (val);
1856  else if (pname.compare ("sortmethod"))
1857  set_sortmethod (val);
1858  else if (pname.compare ("tickdir"))
1859  set_tickdir (val);
1860  else if (pname.compare ("tickdirmode"))
1861  set_tickdirmode (val);
1862  else if (pname.compare ("ticklabelinterpreter"))
1863  set_ticklabelinterpreter (val);
1864  else if (pname.compare ("ticklength"))
1865  set_ticklength (val);
1866  else if (pname.compare ("title"))
1867  set_title (val);
1868  else if (pname.compare ("titlefontsizemultiplier"))
1869  set_titlefontsizemultiplier (val);
1870  else if (pname.compare ("titlefontweight"))
1871  set_titlefontweight (val);
1872  else if (pname.compare ("units"))
1873  set_units (val);
1874  else if (pname.compare ("view"))
1875  set_view (val);
1876  else if (pname.compare ("xaxislocation"))
1877  set_xaxislocation (val);
1878  else if (pname.compare ("xcolor"))
1879  set_xcolor (val);
1880  else if (pname.compare ("xcolormode"))
1881  set_xcolormode (val);
1882  else if (pname.compare ("xdir"))
1883  set_xdir (val);
1884  else if (pname.compare ("xgrid"))
1885  set_xgrid (val);
1886  else if (pname.compare ("xlabel"))
1887  set_xlabel (val);
1888  else if (pname.compare ("xlim"))
1889  set_xlim (val);
1890  else if (pname.compare ("xlimmode"))
1891  set_xlimmode (val);
1892  else if (pname.compare ("xminorgrid"))
1893  set_xminorgrid (val);
1894  else if (pname.compare ("xminortick"))
1895  set_xminortick (val);
1896  else if (pname.compare ("xscale"))
1897  set_xscale (val);
1898  else if (pname.compare ("xtick"))
1899  set_xtick (val);
1900  else if (pname.compare ("xticklabel"))
1901  set_xticklabel (val);
1902  else if (pname.compare ("xticklabelmode"))
1903  set_xticklabelmode (val);
1904  else if (pname.compare ("xticklabelrotation"))
1905  set_xticklabelrotation (val);
1906  else if (pname.compare ("xtickmode"))
1907  set_xtickmode (val);
1908  else if (pname.compare ("yaxislocation"))
1909  set_yaxislocation (val);
1910  else if (pname.compare ("ycolor"))
1911  set_ycolor (val);
1912  else if (pname.compare ("ycolormode"))
1913  set_ycolormode (val);
1914  else if (pname.compare ("ydir"))
1915  set_ydir (val);
1916  else if (pname.compare ("ygrid"))
1917  set_ygrid (val);
1918  else if (pname.compare ("ylabel"))
1919  set_ylabel (val);
1920  else if (pname.compare ("ylim"))
1921  set_ylim (val);
1922  else if (pname.compare ("ylimmode"))
1923  set_ylimmode (val);
1924  else if (pname.compare ("yminorgrid"))
1925  set_yminorgrid (val);
1926  else if (pname.compare ("yminortick"))
1927  set_yminortick (val);
1928  else if (pname.compare ("yscale"))
1929  set_yscale (val);
1930  else if (pname.compare ("ytick"))
1931  set_ytick (val);
1932  else if (pname.compare ("yticklabel"))
1933  set_yticklabel (val);
1934  else if (pname.compare ("yticklabelmode"))
1935  set_yticklabelmode (val);
1936  else if (pname.compare ("yticklabelrotation"))
1937  set_yticklabelrotation (val);
1938  else if (pname.compare ("ytickmode"))
1939  set_ytickmode (val);
1940  else if (pname.compare ("zcolor"))
1941  set_zcolor (val);
1942  else if (pname.compare ("zcolormode"))
1943  set_zcolormode (val);
1944  else if (pname.compare ("zdir"))
1945  set_zdir (val);
1946  else if (pname.compare ("zgrid"))
1947  set_zgrid (val);
1948  else if (pname.compare ("zlabel"))
1949  set_zlabel (val);
1950  else if (pname.compare ("zlim"))
1951  set_zlim (val);
1952  else if (pname.compare ("zlimmode"))
1953  set_zlimmode (val);
1954  else if (pname.compare ("zminorgrid"))
1955  set_zminorgrid (val);
1956  else if (pname.compare ("zminortick"))
1957  set_zminortick (val);
1958  else if (pname.compare ("zscale"))
1959  set_zscale (val);
1960  else if (pname.compare ("ztick"))
1961  set_ztick (val);
1962  else if (pname.compare ("zticklabel"))
1963  set_zticklabel (val);
1964  else if (pname.compare ("zticklabelmode"))
1965  set_zticklabelmode (val);
1966  else if (pname.compare ("zticklabelrotation"))
1967  set_zticklabelrotation (val);
1968  else if (pname.compare ("ztickmode"))
1969  set_ztickmode (val);
1970  else if (pname.compare ("mousewheelzoom"))
1971  set_mousewheelzoom (val);
1972  else if (pname.compare ("autopos_tag"))
1973  set_autopos_tag (val);
1974  else if (pname.compare ("looseinset"))
1975  set_looseinset (val);
1976  else if (pname.compare ("x_viewtransform"))
1977  set_x_viewtransform (val);
1978  else if (pname.compare ("x_projectiontransform"))
1979  set_x_projectiontransform (val);
1980  else if (pname.compare ("x_viewporttransform"))
1981  set_x_viewporttransform (val);
1982  else if (pname.compare ("x_normrendertransform"))
1983  set_x_normrendertransform (val);
1984  else if (pname.compare ("x_rendertransform"))
1985  set_x_rendertransform (val);
1986  else if (pname.compare ("xmtick"))
1987  set_xmtick (val);
1988  else if (pname.compare ("ymtick"))
1989  set_ymtick (val);
1990  else if (pname.compare ("zmtick"))
1991  set_zmtick (val);
1992  else
1993  base_properties::set (pname, val);
1994 }
1995 
1997 axes::properties::get (bool all) const
1998 {
2000 
2001  m.assign ("activepositionproperty", octave_value (get_activepositionproperty ()));
2002  m.assign ("alim", octave_value (get_alim ()));
2003  m.assign ("alimmode", octave_value (get_alimmode ()));
2004  m.assign ("ambientlightcolor", octave_value (get_ambientlightcolor ()));
2005  m.assign ("box", octave_value (get_box ()));
2006  m.assign ("boxstyle", octave_value (get_boxstyle ()));
2007  m.assign ("cameraposition", octave_value (get_cameraposition ()));
2008  m.assign ("camerapositionmode", octave_value (get_camerapositionmode ()));
2009  m.assign ("cameratarget", octave_value (get_cameratarget ()));
2010  m.assign ("cameratargetmode", octave_value (get_cameratargetmode ()));
2011  m.assign ("cameraupvector", octave_value (get_cameraupvector ()));
2012  m.assign ("cameraupvectormode", octave_value (get_cameraupvectormode ()));
2013  m.assign ("cameraviewangle", octave_value (get_cameraviewangle ()));
2014  m.assign ("cameraviewanglemode", octave_value (get_cameraviewanglemode ()));
2015  m.assign ("clim", octave_value (get_clim ()));
2016  m.assign ("climmode", octave_value (get_climmode ()));
2017  m.assign ("clippingstyle", octave_value (get_clippingstyle ()));
2018  m.assign ("color", octave_value (get_color ()));
2019  m.assign ("colororder", octave_value (get_colororder ()));
2020  m.assign ("colororderindex", octave_value (get_colororderindex ()));
2021  m.assign ("currentpoint", octave_value (get_currentpoint ()));
2022  m.assign ("dataaspectratio", octave_value (get_dataaspectratio ()));
2023  m.assign ("dataaspectratiomode", octave_value (get_dataaspectratiomode ()));
2024  m.assign ("drawmode", octave_value (get_drawmode ()));
2025  m.assign ("fontangle", octave_value (get_fontangle ()));
2026  m.assign ("fontname", octave_value (get_fontname ()));
2027  m.assign ("fontsize", octave_value (get_fontsize ()));
2028  m.assign ("fontunits", octave_value (get_fontunits ()));
2029  m.assign ("fontsmoothing", octave_value (get_fontsmoothing ()));
2030  m.assign ("fontweight", octave_value (get_fontweight ()));
2031  m.assign ("gridalpha", octave_value (get_gridalpha ()));
2032  m.assign ("gridalphamode", octave_value (get_gridalphamode ()));
2033  m.assign ("gridcolor", octave_value (get_gridcolor ()));
2034  m.assign ("gridcolormode", octave_value (get_gridcolormode ()));
2035  m.assign ("gridlinestyle", octave_value (get_gridlinestyle ()));
2036  m.assign ("labelfontsizemultiplier", octave_value (get_labelfontsizemultiplier ()));
2037  m.assign ("layer", octave_value (get_layer ()));
2038  m.assign ("linestyleorder", octave_value (get_linestyleorder ()));
2039  m.assign ("linestyleorderindex", octave_value (get_linestyleorderindex ()));
2040  m.assign ("linewidth", octave_value (get_linewidth ()));
2041  m.assign ("minorgridalpha", octave_value (get_minorgridalpha ()));
2042  m.assign ("minorgridalphamode", octave_value (get_minorgridalphamode ()));
2043  m.assign ("minorgridcolor", octave_value (get_minorgridcolor ()));
2044  m.assign ("minorgridcolormode", octave_value (get_minorgridcolormode ()));
2045  m.assign ("minorgridlinestyle", octave_value (get_minorgridlinestyle ()));
2046  m.assign ("nextplot", octave_value (get_nextplot ()));
2047  m.assign ("outerposition", octave_value (get_outerposition ()));
2048  m.assign ("plotboxaspectratio", octave_value (get_plotboxaspectratio ()));
2049  m.assign ("plotboxaspectratiomode", octave_value (get_plotboxaspectratiomode ()));
2050  m.assign ("pickableparts", octave_value (get_pickableparts ()));
2051  m.assign ("position", octave_value (get_position ()));
2052  m.assign ("projection", octave_value (get_projection ()));
2053  m.assign ("sortmethod", octave_value (get_sortmethod ()));
2054  m.assign ("tickdir", octave_value (get_tickdir ()));
2055  m.assign ("tickdirmode", octave_value (get_tickdirmode ()));
2056  m.assign ("ticklabelinterpreter", octave_value (get_ticklabelinterpreter ()));
2057  m.assign ("ticklength", octave_value (get_ticklength ()));
2058  m.assign ("tightinset", octave_value (get_tightinset ()));
2059  m.assign ("title", octave_value (get_title ().as_octave_value ()));
2060  m.assign ("titlefontsizemultiplier", octave_value (get_titlefontsizemultiplier ()));
2061  m.assign ("titlefontweight", octave_value (get_titlefontweight ()));
2062  m.assign ("units", octave_value (get_units ()));
2063  m.assign ("view", octave_value (get_view ()));
2064  m.assign ("xaxislocation", octave_value (get_xaxislocation ()));
2065  m.assign ("xcolor", octave_value (get_xcolor ()));
2066  m.assign ("xcolormode", octave_value (get_xcolormode ()));
2067  m.assign ("xdir", octave_value (get_xdir ()));
2068  m.assign ("xgrid", octave_value (get_xgrid ()));
2069  m.assign ("xlabel", octave_value (get_xlabel ().as_octave_value ()));
2070  m.assign ("xlim", octave_value (get_xlim ()));
2071  m.assign ("xlimmode", octave_value (get_xlimmode ()));
2072  m.assign ("xminorgrid", octave_value (get_xminorgrid ()));
2073  m.assign ("xminortick", octave_value (get_xminortick ()));
2074  m.assign ("xscale", octave_value (get_xscale ()));
2075  m.assign ("xtick", octave_value (get_xtick ()));
2076  m.assign ("xticklabel", octave_value (get_xticklabel ()));
2077  m.assign ("xticklabelmode", octave_value (get_xticklabelmode ()));
2078  m.assign ("xticklabelrotation", octave_value (get_xticklabelrotation ()));
2079  m.assign ("xtickmode", octave_value (get_xtickmode ()));
2080  m.assign ("yaxislocation", octave_value (get_yaxislocation ()));
2081  m.assign ("ycolor", octave_value (get_ycolor ()));
2082  m.assign ("ycolormode", octave_value (get_ycolormode ()));
2083  m.assign ("ydir", octave_value (get_ydir ()));
2084  m.assign ("ygrid", octave_value (get_ygrid ()));
2085  m.assign ("ylabel", octave_value (get_ylabel ().as_octave_value ()));
2086  m.assign ("ylim", octave_value (get_ylim ()));
2087  m.assign ("ylimmode", octave_value (get_ylimmode ()));
2088  m.assign ("yminorgrid", octave_value (get_yminorgrid ()));
2089  m.assign ("yminortick", octave_value (get_yminortick ()));
2090  m.assign ("yscale", octave_value (get_yscale ()));
2091  m.assign ("ytick", octave_value (get_ytick ()));
2092  m.assign ("yticklabel", octave_value (get_yticklabel ()));
2093  m.assign ("yticklabelmode", octave_value (get_yticklabelmode ()));
2094  m.assign ("yticklabelrotation", octave_value (get_yticklabelrotation ()));
2095  m.assign ("ytickmode", octave_value (get_ytickmode ()));
2096  m.assign ("zcolor", octave_value (get_zcolor ()));
2097  m.assign ("zcolormode", octave_value (get_zcolormode ()));
2098  m.assign ("zdir", octave_value (get_zdir ()));
2099  m.assign ("zgrid", octave_value (get_zgrid ()));
2100  m.assign ("zlabel", octave_value (get_zlabel ().as_octave_value ()));
2101  m.assign ("zlim", octave_value (get_zlim ()));
2102  m.assign ("zlimmode", octave_value (get_zlimmode ()));
2103  m.assign ("zminorgrid", octave_value (get_zminorgrid ()));
2104  m.assign ("zminortick", octave_value (get_zminortick ()));
2105  m.assign ("zscale", octave_value (get_zscale ()));
2106  m.assign ("ztick", octave_value (get_ztick ()));
2107  m.assign ("zticklabel", octave_value (get_zticklabel ()));
2108  m.assign ("zticklabelmode", octave_value (get_zticklabelmode ()));
2109  m.assign ("zticklabelrotation", octave_value (get_zticklabelrotation ()));
2110  m.assign ("ztickmode", octave_value (get_ztickmode ()));
2111  m.assign ("mousewheelzoom", octave_value (get_mousewheelzoom ()));
2112  if (all)
2113  m.assign ("autopos_tag", octave_value (get_autopos_tag ()));
2114  if (all)
2115  m.assign ("looseinset", octave_value (get_looseinset ()));
2116  if (all)
2117  m.assign ("x_viewtransform", octave_value (get_x_viewtransform ()));
2118  if (all)
2119  m.assign ("x_projectiontransform", octave_value (get_x_projectiontransform ()));
2120  if (all)
2121  m.assign ("x_viewporttransform", octave_value (get_x_viewporttransform ()));
2122  if (all)
2123  m.assign ("x_normrendertransform", octave_value (get_x_normrendertransform ()));
2124  if (all)
2125  m.assign ("x_rendertransform", octave_value (get_x_rendertransform ()));
2126  if (all)
2127  m.assign ("xmtick", octave_value (get_xmtick ()));
2128  if (all)
2129  m.assign ("ymtick", octave_value (get_ymtick ()));
2130  if (all)
2131  m.assign ("zmtick", octave_value (get_zmtick ()));
2132  if (all)
2133  m.assign ("fontsize_points", octave_value (get_fontsize_points ()));
2134 
2135  return m;
2136 }
2137 
2139 axes::properties::get (const caseless_str& pname_arg) const
2140 {
2142 
2143  const std::set<std::string>& pnames = all_property_names ();
2144 
2145  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
2146 
2147  if (pname.compare ("activepositionproperty"))
2148  retval = get_activepositionproperty ();
2149  else if (pname.compare ("alim"))
2150  retval = get_alim ();
2151  else if (pname.compare ("alimmode"))
2152  retval = get_alimmode ();
2153  else if (pname.compare ("ambientlightcolor"))
2154  retval = get_ambientlightcolor ();
2155  else if (pname.compare ("box"))
2156  retval = get_box ();
2157  else if (pname.compare ("boxstyle"))
2158  retval = get_boxstyle ();
2159  else if (pname.compare ("cameraposition"))
2160  retval = get_cameraposition ();
2161  else if (pname.compare ("camerapositionmode"))
2162  retval = get_camerapositionmode ();
2163  else if (pname.compare ("cameratarget"))
2164  retval = get_cameratarget ();
2165  else if (pname.compare ("cameratargetmode"))
2166  retval = get_cameratargetmode ();
2167  else if (pname.compare ("cameraupvector"))
2168  retval = get_cameraupvector ();
2169  else if (pname.compare ("cameraupvectormode"))
2170  retval = get_cameraupvectormode ();
2171  else if (pname.compare ("cameraviewangle"))
2172  retval = get_cameraviewangle ();
2173  else if (pname.compare ("cameraviewanglemode"))
2174  retval = get_cameraviewanglemode ();
2175  else if (pname.compare ("clim"))
2176  retval = get_clim ();
2177  else if (pname.compare ("climmode"))
2178  retval = get_climmode ();
2179  else if (pname.compare ("clippingstyle"))
2180  retval = get_clippingstyle ();
2181  else if (pname.compare ("color"))
2182  retval = get_color ();
2183  else if (pname.compare ("colororder"))
2184  retval = get_colororder ();
2185  else if (pname.compare ("colororderindex"))
2186  retval = get_colororderindex ();
2187  else if (pname.compare ("currentpoint"))
2188  retval = get_currentpoint ();
2189  else if (pname.compare ("dataaspectratio"))
2190  retval = get_dataaspectratio ();
2191  else if (pname.compare ("dataaspectratiomode"))
2192  retval = get_dataaspectratiomode ();
2193  else if (pname.compare ("drawmode"))
2194  retval = get_drawmode ();
2195  else if (pname.compare ("fontangle"))
2196  retval = get_fontangle ();
2197  else if (pname.compare ("fontname"))
2198  retval = get_fontname ();
2199  else if (pname.compare ("fontsize"))
2200  retval = get_fontsize ();
2201  else if (pname.compare ("fontunits"))
2202  retval = get_fontunits ();
2203  else if (pname.compare ("fontsmoothing"))
2204  retval = get_fontsmoothing ();
2205  else if (pname.compare ("fontweight"))
2206  retval = get_fontweight ();
2207  else if (pname.compare ("gridalpha"))
2208  retval = get_gridalpha ();
2209  else if (pname.compare ("gridalphamode"))
2210  retval = get_gridalphamode ();
2211  else if (pname.compare ("gridcolor"))
2212  retval = get_gridcolor ();
2213  else if (pname.compare ("gridcolormode"))
2214  retval = get_gridcolormode ();
2215  else if (pname.compare ("gridlinestyle"))
2216  retval = get_gridlinestyle ();
2217  else if (pname.compare ("labelfontsizemultiplier"))
2218  retval = get_labelfontsizemultiplier ();
2219  else if (pname.compare ("layer"))
2220  retval = get_layer ();
2221  else if (pname.compare ("linestyleorder"))
2222  retval = get_linestyleorder ();
2223  else if (pname.compare ("linestyleorderindex"))
2224  retval = get_linestyleorderindex ();
2225  else if (pname.compare ("linewidth"))
2226  retval = get_linewidth ();
2227  else if (pname.compare ("minorgridalpha"))
2228  retval = get_minorgridalpha ();
2229  else if (pname.compare ("minorgridalphamode"))
2230  retval = get_minorgridalphamode ();
2231  else if (pname.compare ("minorgridcolor"))
2232  retval = get_minorgridcolor ();
2233  else if (pname.compare ("minorgridcolormode"))
2234  retval = get_minorgridcolormode ();
2235  else if (pname.compare ("minorgridlinestyle"))
2236  retval = get_minorgridlinestyle ();
2237  else if (pname.compare ("nextplot"))
2238  retval = get_nextplot ();
2239  else if (pname.compare ("outerposition"))
2240  retval = get_outerposition ();
2241  else if (pname.compare ("plotboxaspectratio"))
2242  retval = get_plotboxaspectratio ();
2243  else if (pname.compare ("plotboxaspectratiomode"))
2244  retval = get_plotboxaspectratiomode ();
2245  else if (pname.compare ("pickableparts"))
2246  retval = get_pickableparts ();
2247  else if (pname.compare ("position"))
2248  retval = get_position ();
2249  else if (pname.compare ("projection"))
2250  retval = get_projection ();
2251  else if (pname.compare ("sortmethod"))
2252  retval = get_sortmethod ();
2253  else if (pname.compare ("tickdir"))
2254  retval = get_tickdir ();
2255  else if (pname.compare ("tickdirmode"))
2256  retval = get_tickdirmode ();
2257  else if (pname.compare ("ticklabelinterpreter"))
2258  retval = get_ticklabelinterpreter ();
2259  else if (pname.compare ("ticklength"))
2260  retval = get_ticklength ();
2261  else if (pname.compare ("tightinset"))
2262  retval = get_tightinset ();
2263  else if (pname.compare ("title"))
2264  retval = get_title ().as_octave_value ();
2265  else if (pname.compare ("titlefontsizemultiplier"))
2266  retval = get_titlefontsizemultiplier ();
2267  else if (pname.compare ("titlefontweight"))
2268  retval = get_titlefontweight ();
2269  else if (pname.compare ("units"))
2270  retval = get_units ();
2271  else if (pname.compare ("view"))
2272  retval = get_view ();
2273  else if (pname.compare ("xaxislocation"))
2274  retval = get_xaxislocation ();
2275  else if (pname.compare ("xcolor"))
2276  retval = get_xcolor ();
2277  else if (pname.compare ("xcolormode"))
2278  retval = get_xcolormode ();
2279  else if (pname.compare ("xdir"))
2280  retval = get_xdir ();
2281  else if (pname.compare ("xgrid"))
2282  retval = get_xgrid ();
2283  else if (pname.compare ("xlabel"))
2284  retval = get_xlabel ().as_octave_value ();
2285  else if (pname.compare ("xlim"))
2286  retval = get_xlim ();
2287  else if (pname.compare ("xlimmode"))
2288  retval = get_xlimmode ();
2289  else if (pname.compare ("xminorgrid"))
2290  retval = get_xminorgrid ();
2291  else if (pname.compare ("xminortick"))
2292  retval = get_xminortick ();
2293  else if (pname.compare ("xscale"))
2294  retval = get_xscale ();
2295  else if (pname.compare ("xtick"))
2296  retval = get_xtick ();
2297  else if (pname.compare ("xticklabel"))
2298  retval = get_xticklabel ();
2299  else if (pname.compare ("xticklabelmode"))
2300  retval = get_xticklabelmode ();
2301  else if (pname.compare ("xticklabelrotation"))
2302  retval = get_xticklabelrotation ();
2303  else if (pname.compare ("xtickmode"))
2304  retval = get_xtickmode ();
2305  else if (pname.compare ("yaxislocation"))
2306  retval = get_yaxislocation ();
2307  else if (pname.compare ("ycolor"))
2308  retval = get_ycolor ();
2309  else if (pname.compare ("ycolormode"))
2310  retval = get_ycolormode ();
2311  else if (pname.compare ("ydir"))
2312  retval = get_ydir ();
2313  else if (pname.compare ("ygrid"))
2314  retval = get_ygrid ();
2315  else if (pname.compare ("ylabel"))
2316  retval = get_ylabel ().as_octave_value ();
2317  else if (pname.compare ("ylim"))
2318  retval = get_ylim ();
2319  else if (pname.compare ("ylimmode"))
2320  retval = get_ylimmode ();
2321  else if (pname.compare ("yminorgrid"))
2322  retval = get_yminorgrid ();
2323  else if (pname.compare ("yminortick"))
2324  retval = get_yminortick ();
2325  else if (pname.compare ("yscale"))
2326  retval = get_yscale ();
2327  else if (pname.compare ("ytick"))
2328  retval = get_ytick ();
2329  else if (pname.compare ("yticklabel"))
2330  retval = get_yticklabel ();
2331  else if (pname.compare ("yticklabelmode"))
2332  retval = get_yticklabelmode ();
2333  else if (pname.compare ("yticklabelrotation"))
2334  retval = get_yticklabelrotation ();
2335  else if (pname.compare ("ytickmode"))
2336  retval = get_ytickmode ();
2337  else if (pname.compare ("zcolor"))
2338  retval = get_zcolor ();
2339  else if (pname.compare ("zcolormode"))
2340  retval = get_zcolormode ();
2341  else if (pname.compare ("zdir"))
2342  retval = get_zdir ();
2343  else if (pname.compare ("zgrid"))
2344  retval = get_zgrid ();
2345  else if (pname.compare ("zlabel"))
2346  retval = get_zlabel ().as_octave_value ();
2347  else if (pname.compare ("zlim"))
2348  retval = get_zlim ();
2349  else if (pname.compare ("zlimmode"))
2350  retval = get_zlimmode ();
2351  else if (pname.compare ("zminorgrid"))
2352  retval = get_zminorgrid ();
2353  else if (pname.compare ("zminortick"))
2354  retval = get_zminortick ();
2355  else if (pname.compare ("zscale"))
2356  retval = get_zscale ();
2357  else if (pname.compare ("ztick"))
2358  retval = get_ztick ();
2359  else if (pname.compare ("zticklabel"))
2360  retval = get_zticklabel ();
2361  else if (pname.compare ("zticklabelmode"))
2362  retval = get_zticklabelmode ();
2363  else if (pname.compare ("zticklabelrotation"))
2364  retval = get_zticklabelrotation ();
2365  else if (pname.compare ("ztickmode"))
2366  retval = get_ztickmode ();
2367  else if (pname.compare ("mousewheelzoom"))
2368  retval = get_mousewheelzoom ();
2369  else if (pname.compare ("autopos_tag"))
2370  retval = get_autopos_tag ();
2371  else if (pname.compare ("looseinset"))
2372  retval = get_looseinset ();
2373  else if (pname.compare ("x_viewtransform"))
2374  retval = get_x_viewtransform ();
2375  else if (pname.compare ("x_projectiontransform"))
2376  retval = get_x_projectiontransform ();
2377  else if (pname.compare ("x_viewporttransform"))
2378  retval = get_x_viewporttransform ();
2379  else if (pname.compare ("x_normrendertransform"))
2380  retval = get_x_normrendertransform ();
2381  else if (pname.compare ("x_rendertransform"))
2382  retval = get_x_rendertransform ();
2383  else if (pname.compare ("xmtick"))
2384  retval = get_xmtick ();
2385  else if (pname.compare ("ymtick"))
2386  retval = get_ymtick ();
2387  else if (pname.compare ("zmtick"))
2388  retval = get_zmtick ();
2389  else if (pname.compare ("fontsize_points"))
2390  retval = get_fontsize_points ();
2391  else
2392  retval = base_properties::get (pname);
2393 
2394  return retval;
2395 }
2396 
2397 property
2399 {
2400  const std::set<std::string>& pnames = all_property_names ();
2401 
2402  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
2403 
2404  if (pname.compare ("activepositionproperty"))
2405  return property (&activepositionproperty, true);
2406  else if (pname.compare ("alim"))
2407  return property (&alim, true);
2408  else if (pname.compare ("alimmode"))
2409  return property (&alimmode, true);
2410  else if (pname.compare ("ambientlightcolor"))
2411  return property (&ambientlightcolor, true);
2412  else if (pname.compare ("box"))
2413  return property (&box, true);
2414  else if (pname.compare ("boxstyle"))
2415  return property (&boxstyle, true);
2416  else if (pname.compare ("cameraposition"))
2417  return property (&cameraposition, true);
2418  else if (pname.compare ("camerapositionmode"))
2419  return property (&camerapositionmode, true);
2420  else if (pname.compare ("cameratarget"))
2421  return property (&cameratarget, true);
2422  else if (pname.compare ("cameratargetmode"))
2423  return property (&cameratargetmode, true);
2424  else if (pname.compare ("cameraupvector"))
2425  return property (&cameraupvector, true);
2426  else if (pname.compare ("cameraupvectormode"))
2427  return property (&cameraupvectormode, true);
2428  else if (pname.compare ("cameraviewangle"))
2429  return property (&cameraviewangle, true);
2430  else if (pname.compare ("cameraviewanglemode"))
2431  return property (&cameraviewanglemode, true);
2432  else if (pname.compare ("clim"))
2433  return property (&clim, true);
2434  else if (pname.compare ("climmode"))
2435  return property (&climmode, true);
2436  else if (pname.compare ("clippingstyle"))
2437  return property (&clippingstyle, true);
2438  else if (pname.compare ("color"))
2439  return property (&color, true);
2440  else if (pname.compare ("colororder"))
2441  return property (&colororder, true);
2442  else if (pname.compare ("colororderindex"))
2443  return property (&colororderindex, true);
2444  else if (pname.compare ("currentpoint"))
2445  return property (&currentpoint, true);
2446  else if (pname.compare ("dataaspectratio"))
2447  return property (&dataaspectratio, true);
2448  else if (pname.compare ("dataaspectratiomode"))
2449  return property (&dataaspectratiomode, true);
2450  else if (pname.compare ("drawmode"))
2451  return property (&drawmode, true);
2452  else if (pname.compare ("fontangle"))
2453  return property (&fontangle, true);
2454  else if (pname.compare ("fontname"))
2455  return property (&fontname, true);
2456  else if (pname.compare ("fontsize"))
2457  return property (&fontsize, true);
2458  else if (pname.compare ("fontunits"))
2459  return property (&fontunits, true);
2460  else if (pname.compare ("fontsmoothing"))
2461  return property (&fontsmoothing, true);
2462  else if (pname.compare ("fontweight"))
2463  return property (&fontweight, true);
2464  else if (pname.compare ("gridalpha"))
2465  return property (&gridalpha, true);
2466  else if (pname.compare ("gridalphamode"))
2467  return property (&gridalphamode, true);
2468  else if (pname.compare ("gridcolor"))
2469  return property (&gridcolor, true);
2470  else if (pname.compare ("gridcolormode"))
2471  return property (&gridcolormode, true);
2472  else if (pname.compare ("gridlinestyle"))
2473  return property (&gridlinestyle, true);
2474  else if (pname.compare ("labelfontsizemultiplier"))
2475  return property (&labelfontsizemultiplier, true);
2476  else if (pname.compare ("layer"))
2477  return property (&layer, true);
2478  else if (pname.compare ("linestyleorder"))
2479  return property (&linestyleorder, true);
2480  else if (pname.compare ("linestyleorderindex"))
2481  return property (&linestyleorderindex, true);
2482  else if (pname.compare ("linewidth"))
2483  return property (&linewidth, true);
2484  else if (pname.compare ("minorgridalpha"))
2485  return property (&minorgridalpha, true);
2486  else if (pname.compare ("minorgridalphamode"))
2487  return property (&minorgridalphamode, true);
2488  else if (pname.compare ("minorgridcolor"))
2489  return property (&minorgridcolor, true);
2490  else if (pname.compare ("minorgridcolormode"))
2491  return property (&minorgridcolormode, true);
2492  else if (pname.compare ("minorgridlinestyle"))
2493  return property (&minorgridlinestyle, true);
2494  else if (pname.compare ("nextplot"))
2495  return property (&nextplot, true);
2496  else if (pname.compare ("outerposition"))
2497  return property (&outerposition, true);
2498  else if (pname.compare ("plotboxaspectratio"))
2499  return property (&plotboxaspectratio, true);
2500  else if (pname.compare ("plotboxaspectratiomode"))
2501  return property (&plotboxaspectratiomode, true);
2502  else if (pname.compare ("pickableparts"))
2503  return property (&pickableparts, true);
2504  else if (pname.compare ("position"))
2505  return property (&position, true);
2506  else if (pname.compare ("projection"))
2507  return property (&projection, true);
2508  else if (pname.compare ("sortmethod"))
2509  return property (&sortmethod, true);
2510  else if (pname.compare ("tickdir"))
2511  return property (&tickdir, true);
2512  else if (pname.compare ("tickdirmode"))
2513  return property (&tickdirmode, true);
2514  else if (pname.compare ("ticklabelinterpreter"))
2515  return property (&ticklabelinterpreter, true);
2516  else if (pname.compare ("ticklength"))
2517  return property (&ticklength, true);
2518  else if (pname.compare ("tightinset"))
2519  return property (&tightinset, true);
2520  else if (pname.compare ("title"))
2521  return property (&title, true);
2522  else if (pname.compare ("titlefontsizemultiplier"))
2523  return property (&titlefontsizemultiplier, true);
2524  else if (pname.compare ("titlefontweight"))
2525  return property (&titlefontweight, true);
2526  else if (pname.compare ("units"))
2527  return property (&units, true);
2528  else if (pname.compare ("view"))
2529  return property (&view, true);
2530  else if (pname.compare ("xaxislocation"))
2531  return property (&xaxislocation, true);
2532  else if (pname.compare ("xcolor"))
2533  return property (&xcolor, true);
2534  else if (pname.compare ("xcolormode"))
2535  return property (&xcolormode, true);
2536  else if (pname.compare ("xdir"))
2537  return property (&xdir, true);
2538  else if (pname.compare ("xgrid"))
2539  return property (&xgrid, true);
2540  else if (pname.compare ("xlabel"))
2541  return property (&xlabel, true);
2542  else if (pname.compare ("xlim"))
2543  return property (&xlim, true);
2544  else if (pname.compare ("xlimmode"))
2545  return property (&xlimmode, true);
2546  else if (pname.compare ("xminorgrid"))
2547  return property (&xminorgrid, true);
2548  else if (pname.compare ("xminortick"))
2549  return property (&xminortick, true);
2550  else if (pname.compare ("xscale"))
2551  return property (&xscale, true);
2552  else if (pname.compare ("xtick"))
2553  return property (&xtick, true);
2554  else if (pname.compare ("xticklabel"))
2555  return property (&xticklabel, true);
2556  else if (pname.compare ("xticklabelmode"))
2557  return property (&xticklabelmode, true);
2558  else if (pname.compare ("xticklabelrotation"))
2559  return property (&xticklabelrotation, true);
2560  else if (pname.compare ("xtickmode"))
2561  return property (&xtickmode, true);
2562  else if (pname.compare ("yaxislocation"))
2563  return property (&yaxislocation, true);
2564  else if (pname.compare ("ycolor"))
2565  return property (&ycolor, true);
2566  else if (pname.compare ("ycolormode"))
2567  return property (&ycolormode, true);
2568  else if (pname.compare ("ydir"))
2569  return property (&ydir, true);
2570  else if (pname.compare ("ygrid"))
2571  return property (&ygrid, true);
2572  else if (pname.compare ("ylabel"))
2573  return property (&ylabel, true);
2574  else if (pname.compare ("ylim"))
2575  return property (&ylim, true);
2576  else if (pname.compare ("ylimmode"))
2577  return property (&ylimmode, true);
2578  else if (pname.compare ("yminorgrid"))
2579  return property (&yminorgrid, true);
2580  else if (pname.compare ("yminortick"))
2581  return property (&yminortick, true);
2582  else if (pname.compare ("yscale"))
2583  return property (&yscale, true);
2584  else if (pname.compare ("ytick"))
2585  return property (&ytick, true);
2586  else if (pname.compare ("yticklabel"))
2587  return property (&yticklabel, true);
2588  else if (pname.compare ("yticklabelmode"))
2589  return property (&yticklabelmode, true);
2590  else if (pname.compare ("yticklabelrotation"))
2591  return property (&yticklabelrotation, true);
2592  else if (pname.compare ("ytickmode"))
2593  return property (&ytickmode, true);
2594  else if (pname.compare ("zcolor"))
2595  return property (&zcolor, true);
2596  else if (pname.compare ("zcolormode"))
2597  return property (&zcolormode, true);
2598  else if (pname.compare ("zdir"))
2599  return property (&zdir, true);
2600  else if (pname.compare ("zgrid"))
2601  return property (&zgrid, true);
2602  else if (pname.compare ("zlabel"))
2603  return property (&zlabel, true);
2604  else if (pname.compare ("zlim"))
2605  return property (&zlim, true);
2606  else if (pname.compare ("zlimmode"))
2607  return property (&zlimmode, true);
2608  else if (pname.compare ("zminorgrid"))
2609  return property (&zminorgrid, true);
2610  else if (pname.compare ("zminortick"))
2611  return property (&zminortick, true);
2612  else if (pname.compare ("zscale"))
2613  return property (&zscale, true);
2614  else if (pname.compare ("ztick"))
2615  return property (&ztick, true);
2616  else if (pname.compare ("zticklabel"))
2617  return property (&zticklabel, true);
2618  else if (pname.compare ("zticklabelmode"))
2619  return property (&zticklabelmode, true);
2620  else if (pname.compare ("zticklabelrotation"))
2621  return property (&zticklabelrotation, true);
2622  else if (pname.compare ("ztickmode"))
2623  return property (&ztickmode, true);
2624  else if (pname.compare ("mousewheelzoom"))
2625  return property (&mousewheelzoom, true);
2626  else if (pname.compare ("autopos_tag"))
2627  return property (&autopos_tag, true);
2628  else if (pname.compare ("looseinset"))
2629  return property (&looseinset, true);
2630  else if (pname.compare ("x_viewtransform"))
2631  return property (&x_viewtransform, true);
2632  else if (pname.compare ("x_projectiontransform"))
2633  return property (&x_projectiontransform, true);
2634  else if (pname.compare ("x_viewporttransform"))
2635  return property (&x_viewporttransform, true);
2636  else if (pname.compare ("x_normrendertransform"))
2637  return property (&x_normrendertransform, true);
2638  else if (pname.compare ("x_rendertransform"))
2639  return property (&x_rendertransform, true);
2640  else if (pname.compare ("xmtick"))
2641  return property (&xmtick, true);
2642  else if (pname.compare ("ymtick"))
2643  return property (&ymtick, true);
2644  else if (pname.compare ("zmtick"))
2645  return property (&zmtick, true);
2646  else if (pname.compare ("fontsize_points"))
2647  return property (&fontsize_points, true);
2648  else
2649  return base_properties::get_property (pname);
2650 }
2651 
2654 {
2656 
2657  m["activepositionproperty"] = "outerposition";
2658  m["alim"] = default_lim ();
2659  m["alimmode"] = "auto";
2660  m["ambientlightcolor"] = color_values (1, 1, 1);
2661  m["box"] = "off";
2662  m["boxstyle"] = "back";
2663  m["cameraposition"] = Matrix (1, 3, 0.0);
2664  m["camerapositionmode"] = "auto";
2665  m["cameratarget"] = Matrix (1, 3, 0.0);
2666  m["cameratargetmode"] = "auto";
2667  m["cameraupvector"] = Matrix (1, 3, 0.0);
2668  m["cameraupvectormode"] = "auto";
2669  m["cameraviewangle"] = 6.6086;
2670  m["cameraviewanglemode"] = "auto";
2671  m["clim"] = default_lim ();
2672  m["climmode"] = "auto";
2673  m["clippingstyle"] = "3dbox";
2674  m["color"] = color_property (color_values (1, 1, 1), radio_values ("none"));
2675  m["colororder"] = default_colororder ();
2676  m["colororderindex"] = 1.0;
2677  m["currentpoint"] = Matrix (2, 3, 0.0);
2678  m["dataaspectratio"] = Matrix (1, 3, 1.0);
2679  m["dataaspectratiomode"] = "auto";
2680  m["drawmode"] = "normal";
2681  m["fontangle"] = "normal";
2682  m["fontname"] = OCTAVE_DEFAULT_FONTNAME;
2683  m["fontsize"] = 10;
2684  m["fontunits"] = "points";
2685  m["fontsmoothing"] = "on";
2686  m["fontweight"] = "normal";
2687  m["gridalpha"] = 0.15;
2688  m["gridalphamode"] = "auto";
2689  m["gridcolor"] = color_property (color_values (0.15, 0.15, 0.15), radio_values ("none"));
2690  m["gridcolormode"] = "auto";
2691  m["gridlinestyle"] = "-";
2692  m["labelfontsizemultiplier"] = 1.1;
2693  m["layer"] = "bottom";
2694  m["linestyleorder"] = "-";
2695  m["linestyleorderindex"] = 1.0;
2696  m["linewidth"] = 0.5;
2697  m["minorgridalpha"] = 0.25;
2698  m["minorgridalphamode"] = "auto";
2699  m["minorgridcolor"] = color_property (color_values (0.1, 0.1, 0.1), radio_values ("none"));
2700  m["minorgridcolormode"] = "auto";
2701  m["minorgridlinestyle"] = ":";
2702  m["nextplot"] = "replace";
2703  m["outerposition"] = default_axes_outerposition ();
2704  m["plotboxaspectratio"] = Matrix (1, 3, 1.0);
2705  m["plotboxaspectratiomode"] = "auto";
2706  m["pickableparts"] = "visible";
2707  m["position"] = default_axes_position ();
2708  m["projection"] = "orthographic";
2709  m["sortmethod"] = "depth";
2710  m["tickdir"] = "in";
2711  m["tickdirmode"] = "auto";
2712  m["ticklabelinterpreter"] = "tex";
2713  m["ticklength"] = default_axes_ticklength ();
2714  m["tightinset"] = Matrix (1, 4, 0.0);
2715  m["titlefontsizemultiplier"] = 1.1;
2716  m["titlefontweight"] = "bold";
2717  m["units"] = "normalized";
2718  m["view"] = default_axes_view ();
2719  m["xaxislocation"] = "bottom";
2720  m["xcolor"] = color_values (0.15, 0.15, 0.15);
2721  m["xcolormode"] = "auto";
2722  m["xdir"] = "normal";
2723  m["xgrid"] = "off";
2724  m["xlim"] = default_lim ();
2725  m["xlimmode"] = "auto";
2726  m["xminorgrid"] = "off";
2727  m["xminortick"] = "off";
2728  m["xscale"] = "linear";
2729  m["xtick"] = default_axes_tick ();
2730  m["xticklabel"] = "";
2731  m["xticklabelmode"] = "auto";
2732  m["xticklabelrotation"] = 0.0;
2733  m["xtickmode"] = "auto";
2734  m["yaxislocation"] = "left";
2735  m["ycolor"] = color_values (0.15, 0.15, 0.15);
2736  m["ycolormode"] = "auto";
2737  m["ydir"] = "normal";
2738  m["ygrid"] = "off";
2739  m["ylim"] = default_lim ();
2740  m["ylimmode"] = "auto";
2741  m["yminorgrid"] = "off";
2742  m["yminortick"] = "off";
2743  m["yscale"] = "linear";
2744  m["ytick"] = default_axes_tick ();
2745  m["yticklabel"] = "";
2746  m["yticklabelmode"] = "auto";
2747  m["yticklabelrotation"] = 0.0;
2748  m["ytickmode"] = "auto";
2749  m["zcolor"] = color_values (0.15, 0.15, 0.15);
2750  m["zcolormode"] = "auto";
2751  m["zdir"] = "normal";
2752  m["zgrid"] = "off";
2753  m["zlim"] = default_lim ();
2754  m["zlimmode"] = "auto";
2755  m["zminorgrid"] = "off";
2756  m["zminortick"] = "off";
2757  m["zscale"] = "linear";
2758  m["ztick"] = default_axes_tick ();
2759  m["zticklabel"] = "";
2760  m["zticklabelmode"] = "auto";
2761  m["zticklabelrotation"] = 0.0;
2762  m["ztickmode"] = "auto";
2763  m["mousewheelzoom"] = 0.5;
2764  m["autopos_tag"] = "none";
2765  m["looseinset"] = Matrix (1, 4, 0.0);
2766  m["x_viewtransform"] = Matrix (4, 4, 0.0);
2767  m["x_projectiontransform"] = Matrix (4, 4, 0.0);
2768  m["x_viewporttransform"] = Matrix (4, 4, 0.0);
2769  m["x_normrendertransform"] = Matrix (4, 4, 0.0);
2770  m["x_rendertransform"] = Matrix (4, 4, 0.0);
2771  m["xmtick"] = Matrix ();
2772  m["ymtick"] = Matrix ();
2773  m["zmtick"] = Matrix ();
2774  m["fontsize_points"] = 0;
2775 
2776  return m;
2777 }
2778 
2780 
2781 std::set<std::string>
2783 {
2784  static std::set<std::string> all_pnames;
2785 
2786  static bool initialized = false;
2787 
2788  if (! initialized)
2789  {
2790  all_pnames.insert ("activepositionproperty");
2791  all_pnames.insert ("alim");
2792  all_pnames.insert ("alimmode");
2793  all_pnames.insert ("ambientlightcolor");
2794  all_pnames.insert ("box");
2795  all_pnames.insert ("boxstyle");
2796  all_pnames.insert ("cameraposition");
2797  all_pnames.insert ("camerapositionmode");
2798  all_pnames.insert ("cameratarget");
2799  all_pnames.insert ("cameratargetmode");
2800  all_pnames.insert ("cameraupvector");
2801  all_pnames.insert ("cameraupvectormode");
2802  all_pnames.insert ("cameraviewangle");
2803  all_pnames.insert ("cameraviewanglemode");
2804  all_pnames.insert ("clim");
2805  all_pnames.insert ("climmode");
2806  all_pnames.insert ("clippingstyle");
2807  all_pnames.insert ("color");
2808  all_pnames.insert ("colororder");
2809  all_pnames.insert ("colororderindex");
2810  all_pnames.insert ("currentpoint");
2811  all_pnames.insert ("dataaspectratio");
2812  all_pnames.insert ("dataaspectratiomode");
2813  all_pnames.insert ("drawmode");
2814  all_pnames.insert ("fontangle");
2815  all_pnames.insert ("fontname");
2816  all_pnames.insert ("fontsize");
2817  all_pnames.insert ("fontunits");
2818  all_pnames.insert ("fontsmoothing");
2819  all_pnames.insert ("fontweight");
2820  all_pnames.insert ("gridalpha");
2821  all_pnames.insert ("gridalphamode");
2822  all_pnames.insert ("gridcolor");
2823  all_pnames.insert ("gridcolormode");
2824  all_pnames.insert ("gridlinestyle");
2825  all_pnames.insert ("labelfontsizemultiplier");
2826  all_pnames.insert ("layer");
2827  all_pnames.insert ("linestyleorder");
2828  all_pnames.insert ("linestyleorderindex");
2829  all_pnames.insert ("linewidth");
2830  all_pnames.insert ("minorgridalpha");
2831  all_pnames.insert ("minorgridalphamode");
2832  all_pnames.insert ("minorgridcolor");
2833  all_pnames.insert ("minorgridcolormode");
2834  all_pnames.insert ("minorgridlinestyle");
2835  all_pnames.insert ("nextplot");
2836  all_pnames.insert ("outerposition");
2837  all_pnames.insert ("plotboxaspectratio");
2838  all_pnames.insert ("plotboxaspectratiomode");
2839  all_pnames.insert ("pickableparts");
2840  all_pnames.insert ("position");
2841  all_pnames.insert ("projection");
2842  all_pnames.insert ("sortmethod");
2843  all_pnames.insert ("tickdir");
2844  all_pnames.insert ("tickdirmode");
2845  all_pnames.insert ("ticklabelinterpreter");
2846  all_pnames.insert ("ticklength");
2847  all_pnames.insert ("tightinset");
2848  all_pnames.insert ("title");
2849  all_pnames.insert ("titlefontsizemultiplier");
2850  all_pnames.insert ("titlefontweight");
2851  all_pnames.insert ("units");
2852  all_pnames.insert ("view");
2853  all_pnames.insert ("xaxislocation");
2854  all_pnames.insert ("xcolor");
2855  all_pnames.insert ("xcolormode");
2856  all_pnames.insert ("xdir");
2857  all_pnames.insert ("xgrid");
2858  all_pnames.insert ("xlabel");
2859  all_pnames.insert ("xlim");
2860  all_pnames.insert ("xlimmode");
2861  all_pnames.insert ("xminorgrid");
2862  all_pnames.insert ("xminortick");
2863  all_pnames.insert ("xscale");
2864  all_pnames.insert ("xtick");
2865  all_pnames.insert ("xticklabel");
2866  all_pnames.insert ("xticklabelmode");
2867  all_pnames.insert ("xticklabelrotation");
2868  all_pnames.insert ("xtickmode");
2869  all_pnames.insert ("yaxislocation");
2870  all_pnames.insert ("ycolor");
2871  all_pnames.insert ("ycolormode");
2872  all_pnames.insert ("ydir");
2873  all_pnames.insert ("ygrid");
2874  all_pnames.insert ("ylabel");
2875  all_pnames.insert ("ylim");
2876  all_pnames.insert ("ylimmode");
2877  all_pnames.insert ("yminorgrid");
2878  all_pnames.insert ("yminortick");
2879  all_pnames.insert ("yscale");
2880  all_pnames.insert ("ytick");
2881  all_pnames.insert ("yticklabel");
2882  all_pnames.insert ("yticklabelmode");
2883  all_pnames.insert ("yticklabelrotation");
2884  all_pnames.insert ("ytickmode");
2885  all_pnames.insert ("zcolor");
2886  all_pnames.insert ("zcolormode");
2887  all_pnames.insert ("zdir");
2888  all_pnames.insert ("zgrid");
2889  all_pnames.insert ("zlabel");
2890  all_pnames.insert ("zlim");
2891  all_pnames.insert ("zlimmode");
2892  all_pnames.insert ("zminorgrid");
2893  all_pnames.insert ("zminortick");
2894  all_pnames.insert ("zscale");
2895  all_pnames.insert ("ztick");
2896  all_pnames.insert ("zticklabel");
2897  all_pnames.insert ("zticklabelmode");
2898  all_pnames.insert ("zticklabelrotation");
2899  all_pnames.insert ("ztickmode");
2900  all_pnames.insert ("mousewheelzoom");
2901  all_pnames.insert ("autopos_tag");
2902  all_pnames.insert ("looseinset");
2903  all_pnames.insert ("x_viewtransform");
2904  all_pnames.insert ("x_projectiontransform");
2905  all_pnames.insert ("x_viewporttransform");
2906  all_pnames.insert ("x_normrendertransform");
2907  all_pnames.insert ("x_rendertransform");
2908  all_pnames.insert ("xmtick");
2909  all_pnames.insert ("ymtick");
2910  all_pnames.insert ("zmtick");
2911  all_pnames.insert ("fontsize_points");
2912 
2913  std::set<std::string> base_pnames = base_properties::core_property_names ();
2914  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
2915 
2916  initialized = true;
2917  }
2918 
2919  return all_pnames;
2920 }
2921 
2922 bool
2924 {
2925  std::set<std::string> pnames = core_property_names ();
2926 
2927  return pnames.find (pname) != pnames.end ();
2928 }
2929 
2930 std::set<std::string>
2932 {
2933  static std::set<std::string> all_pnames;
2934 
2935  static bool initialized = false;
2936 
2937  if (! initialized)
2938  {
2939  all_pnames.insert ("tightinset");
2940  all_pnames.insert ("fontsize_points");
2941 
2942  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
2943  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
2944 
2945  initialized = true;
2946  }
2947 
2948  return all_pnames;
2949 }
2950 
2951 bool
2953 {
2954  std::set<std::string> pnames = readonly_property_names ();
2955 
2956  return pnames.find (pname) != pnames.end ();
2957 }
2958 
2959 std::set<std::string>
2961 {
2962  static std::set<std::string> all_pnames = core_property_names ();
2963 
2964  std::set<std::string> retval = all_pnames;
2965  std::set<std::string> base_props = base_properties::all_property_names ();
2966  retval.insert (base_props.begin (), base_props.end ());
2967 
2968  return retval;
2969 }
2970 
2971 bool
2973 {
2974  std::set<std::string> pnames = all_property_names ();
2975 
2976  return pnames.find (pname) != pnames.end ();
2977 }
2978 
2979 // ******** line ********
2980 
2982  : base_properties (go_name, mh, p),
2983  color ("color", mh, color_property (color_values (0, 0, 0), radio_values ("none"))),
2984  displayname ("displayname", mh, ""),
2985  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
2986  interpreter ("interpreter", mh, "{tex}|none|latex"),
2987  linestyle ("linestyle", mh, "{-}|--|:|-.|none"),
2988  linewidth ("linewidth", mh, 0.5),
2989  marker ("marker", mh, "{none}|+|o|*|.|x|s|square|d|diamond|^|v|>|<|p|pentagram|h|hexagram"),
2990  markeredgecolor ("markeredgecolor", mh, color_property (radio_values ("{auto}|none"), color_values (0, 0, 0))),
2991  markerfacecolor ("markerfacecolor", mh, color_property (radio_values ("auto|{none}"), color_values (0, 0, 0))),
2992  markersize ("markersize", mh, 6),
2993  xdata ("xdata", mh, default_data ()),
2994  xdatasource ("xdatasource", mh, ""),
2995  ydata ("ydata", mh, default_data ()),
2996  ydatasource ("ydatasource", mh, ""),
2997  zdata ("zdata", mh, Matrix ()),
2998  zdatasource ("zdatasource", mh, ""),
2999  xlim ("xlim", mh, Matrix ()),
3000  ylim ("ylim", mh, Matrix ()),
3001  zlim ("zlim", mh, Matrix ()),
3002  xliminclude ("xliminclude", mh, "on"),
3003  yliminclude ("yliminclude", mh, "on"),
3004  zliminclude ("zliminclude", mh, "off")
3005 {
3006  color.set_id (ID_COLOR);
3009  erasemode.set_hidden (true);
3013  marker.set_id (ID_MARKER);
3017  xdata.set_id (ID_XDATA);
3019  ydata.set_id (ID_YDATA);
3021  zdata.set_id (ID_ZDATA);
3023  xlim.set_id (ID_XLIM);
3024  xlim.set_hidden (true);
3025  ylim.set_id (ID_YLIM);
3026  ylim.set_hidden (true);
3027  zlim.set_id (ID_ZLIM);
3028  zlim.set_hidden (true);
3030  xliminclude.set_hidden (true);
3032  yliminclude.set_hidden (true);
3034  zliminclude.set_hidden (true);
3035  init ();
3036 }
3037 
3038 void
3040 {
3041  const std::set<std::string>& pnames = all_property_names ();
3042 
3043  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
3044 
3045  if (has_readonly_property (pname))
3046  {
3047  error ("set: \"%s\" is read-only", pname.c_str ());
3048  return;
3049  }
3050 
3051  if (pname.compare ("color"))
3052  set_color (val);
3053  else if (pname.compare ("displayname"))
3054  set_displayname (val);
3055  else if (pname.compare ("erasemode"))
3056  set_erasemode (val);
3057  else if (pname.compare ("interpreter"))
3058  set_interpreter (val);
3059  else if (pname.compare ("linestyle"))
3060  set_linestyle (val);
3061  else if (pname.compare ("linewidth"))
3062  set_linewidth (val);
3063  else if (pname.compare ("marker"))
3064  set_marker (val);
3065  else if (pname.compare ("markeredgecolor"))
3066  set_markeredgecolor (val);
3067  else if (pname.compare ("markerfacecolor"))
3068  set_markerfacecolor (val);
3069  else if (pname.compare ("markersize"))
3070  set_markersize (val);
3071  else if (pname.compare ("xdata"))
3072  set_xdata (val);
3073  else if (pname.compare ("xdatasource"))
3074  set_xdatasource (val);
3075  else if (pname.compare ("ydata"))
3076  set_ydata (val);
3077  else if (pname.compare ("ydatasource"))
3078  set_ydatasource (val);
3079  else if (pname.compare ("zdata"))
3080  set_zdata (val);
3081  else if (pname.compare ("zdatasource"))
3082  set_zdatasource (val);
3083  else if (pname.compare ("xliminclude"))
3084  set_xliminclude (val);
3085  else if (pname.compare ("yliminclude"))
3086  set_yliminclude (val);
3087  else if (pname.compare ("zliminclude"))
3088  set_zliminclude (val);
3089  else
3090  base_properties::set (pname, val);
3091 }
3092 
3094 line::properties::get (bool all) const
3095 {
3097 
3098  m.assign ("color", octave_value (get_color ()));
3099  m.assign ("displayname", octave_value (get_displayname ()));
3100  if (all)
3101  m.assign ("erasemode", octave_value (get_erasemode ()));
3102  m.assign ("interpreter", octave_value (get_interpreter ()));
3103  m.assign ("linestyle", octave_value (get_linestyle ()));
3104  m.assign ("linewidth", octave_value (get_linewidth ()));
3105  m.assign ("marker", octave_value (get_marker ()));
3106  m.assign ("markeredgecolor", octave_value (get_markeredgecolor ()));
3107  m.assign ("markerfacecolor", octave_value (get_markerfacecolor ()));
3108  m.assign ("markersize", octave_value (get_markersize ()));
3109  m.assign ("xdata", octave_value (get_xdata ()));
3110  m.assign ("xdatasource", octave_value (get_xdatasource ()));
3111  m.assign ("ydata", octave_value (get_ydata ()));
3112  m.assign ("ydatasource", octave_value (get_ydatasource ()));
3113  m.assign ("zdata", octave_value (get_zdata ()));
3114  m.assign ("zdatasource", octave_value (get_zdatasource ()));
3115  if (all)
3116  m.assign ("xlim", octave_value (get_xlim ()));
3117  if (all)
3118  m.assign ("ylim", octave_value (get_ylim ()));
3119  if (all)
3120  m.assign ("zlim", octave_value (get_zlim ()));
3121  if (all)
3122  m.assign ("xliminclude", octave_value (get_xliminclude ()));
3123  if (all)
3124  m.assign ("yliminclude", octave_value (get_yliminclude ()));
3125  if (all)
3126  m.assign ("zliminclude", octave_value (get_zliminclude ()));
3127 
3128  return m;
3129 }
3130 
3132 line::properties::get (const caseless_str& pname_arg) const
3133 {
3135 
3136  const std::set<std::string>& pnames = all_property_names ();
3137 
3138  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
3139 
3140  if (pname.compare ("color"))
3141  retval = get_color ();
3142  else if (pname.compare ("displayname"))
3143  retval = get_displayname ();
3144  else if (pname.compare ("erasemode"))
3145  retval = get_erasemode ();
3146  else if (pname.compare ("interpreter"))
3147  retval = get_interpreter ();
3148  else if (pname.compare ("linestyle"))
3149  retval = get_linestyle ();
3150  else if (pname.compare ("linewidth"))
3151  retval = get_linewidth ();
3152  else if (pname.compare ("marker"))
3153  retval = get_marker ();
3154  else if (pname.compare ("markeredgecolor"))
3155  retval = get_markeredgecolor ();
3156  else if (pname.compare ("markerfacecolor"))
3157  retval = get_markerfacecolor ();
3158  else if (pname.compare ("markersize"))
3159  retval = get_markersize ();
3160  else if (pname.compare ("xdata"))
3161  retval = get_xdata ();
3162  else if (pname.compare ("xdatasource"))
3163  retval = get_xdatasource ();
3164  else if (pname.compare ("ydata"))
3165  retval = get_ydata ();
3166  else if (pname.compare ("ydatasource"))
3167  retval = get_ydatasource ();
3168  else if (pname.compare ("zdata"))
3169  retval = get_zdata ();
3170  else if (pname.compare ("zdatasource"))
3171  retval = get_zdatasource ();
3172  else if (pname.compare ("xlim"))
3173  retval = get_xlim ();
3174  else if (pname.compare ("ylim"))
3175  retval = get_ylim ();
3176  else if (pname.compare ("zlim"))
3177  retval = get_zlim ();
3178  else if (pname.compare ("xliminclude"))
3179  retval = get_xliminclude ();
3180  else if (pname.compare ("yliminclude"))
3181  retval = get_yliminclude ();
3182  else if (pname.compare ("zliminclude"))
3183  retval = get_zliminclude ();
3184  else
3185  retval = base_properties::get (pname);
3186 
3187  return retval;
3188 }
3189 
3190 property
3192 {
3193  const std::set<std::string>& pnames = all_property_names ();
3194 
3195  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
3196 
3197  if (pname.compare ("color"))
3198  return property (&color, true);
3199  else if (pname.compare ("displayname"))
3200  return property (&displayname, true);
3201  else if (pname.compare ("erasemode"))
3202  return property (&erasemode, true);
3203  else if (pname.compare ("interpreter"))
3204  return property (&interpreter, true);
3205  else if (pname.compare ("linestyle"))
3206  return property (&linestyle, true);
3207  else if (pname.compare ("linewidth"))
3208  return property (&linewidth, true);
3209  else if (pname.compare ("marker"))
3210  return property (&marker, true);
3211  else if (pname.compare ("markeredgecolor"))
3212  return property (&markeredgecolor, true);
3213  else if (pname.compare ("markerfacecolor"))
3214  return property (&markerfacecolor, true);
3215  else if (pname.compare ("markersize"))
3216  return property (&markersize, true);
3217  else if (pname.compare ("xdata"))
3218  return property (&xdata, true);
3219  else if (pname.compare ("xdatasource"))
3220  return property (&xdatasource, true);
3221  else if (pname.compare ("ydata"))
3222  return property (&ydata, true);
3223  else if (pname.compare ("ydatasource"))
3224  return property (&ydatasource, true);
3225  else if (pname.compare ("zdata"))
3226  return property (&zdata, true);
3227  else if (pname.compare ("zdatasource"))
3228  return property (&zdatasource, true);
3229  else if (pname.compare ("xlim"))
3230  return property (&xlim, true);
3231  else if (pname.compare ("ylim"))
3232  return property (&ylim, true);
3233  else if (pname.compare ("zlim"))
3234  return property (&zlim, true);
3235  else if (pname.compare ("xliminclude"))
3236  return property (&xliminclude, true);
3237  else if (pname.compare ("yliminclude"))
3238  return property (&yliminclude, true);
3239  else if (pname.compare ("zliminclude"))
3240  return property (&zliminclude, true);
3241  else
3242  return base_properties::get_property (pname);
3243 }
3244 
3247 {
3249 
3250  m["color"] = color_property (color_values (0, 0, 0), radio_values ("none"));
3251  m["displayname"] = "";
3252  m["erasemode"] = "normal";
3253  m["interpreter"] = "tex";
3254  m["linestyle"] = "-";
3255  m["linewidth"] = 0.5;
3256  m["marker"] = "none";
3257  m["markeredgecolor"] = color_property (radio_values ("{auto}|none"), color_values (0, 0, 0));
3258  m["markerfacecolor"] = color_property (radio_values ("auto|{none}"), color_values (0, 0, 0));
3259  m["markersize"] = 6;
3260  m["xdata"] = default_data ();
3261  m["xdatasource"] = "";
3262  m["ydata"] = default_data ();
3263  m["ydatasource"] = "";
3264  m["zdata"] = Matrix ();
3265  m["zdatasource"] = "";
3266  m["xlim"] = Matrix ();
3267  m["ylim"] = Matrix ();
3268  m["zlim"] = Matrix ();
3269  m["xliminclude"] = "on";
3270  m["yliminclude"] = "on";
3271  m["zliminclude"] = "off";
3272 
3273  return m;
3274 }
3275 
3277 
3278 std::set<std::string>
3280 {
3281  static std::set<std::string> all_pnames;
3282 
3283  static bool initialized = false;
3284 
3285  if (! initialized)
3286  {
3287  all_pnames.insert ("color");
3288  all_pnames.insert ("displayname");
3289  all_pnames.insert ("erasemode");
3290  all_pnames.insert ("interpreter");
3291  all_pnames.insert ("linestyle");
3292  all_pnames.insert ("linewidth");
3293  all_pnames.insert ("marker");
3294  all_pnames.insert ("markeredgecolor");
3295  all_pnames.insert ("markerfacecolor");
3296  all_pnames.insert ("markersize");
3297  all_pnames.insert ("xdata");
3298  all_pnames.insert ("xdatasource");
3299  all_pnames.insert ("ydata");
3300  all_pnames.insert ("ydatasource");
3301  all_pnames.insert ("zdata");
3302  all_pnames.insert ("zdatasource");
3303  all_pnames.insert ("xlim");
3304  all_pnames.insert ("ylim");
3305  all_pnames.insert ("zlim");
3306  all_pnames.insert ("xliminclude");
3307  all_pnames.insert ("yliminclude");
3308  all_pnames.insert ("zliminclude");
3309 
3310  std::set<std::string> base_pnames = base_properties::core_property_names ();
3311  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
3312 
3313  initialized = true;
3314  }
3315 
3316  return all_pnames;
3317 }
3318 
3319 bool
3321 {
3322  std::set<std::string> pnames = core_property_names ();
3323 
3324  return pnames.find (pname) != pnames.end ();
3325 }
3326 
3327 std::set<std::string>
3329 {
3330  static std::set<std::string> all_pnames;
3331 
3332  static bool initialized = false;
3333 
3334  if (! initialized)
3335  {
3336  all_pnames.insert ("xlim");
3337  all_pnames.insert ("ylim");
3338  all_pnames.insert ("zlim");
3339 
3340  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
3341  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
3342 
3343  initialized = true;
3344  }
3345 
3346  return all_pnames;
3347 }
3348 
3349 bool
3351 {
3352  std::set<std::string> pnames = readonly_property_names ();
3353 
3354  return pnames.find (pname) != pnames.end ();
3355 }
3356 
3357 std::set<std::string>
3359 {
3360  static std::set<std::string> all_pnames = core_property_names ();
3361 
3362  std::set<std::string> retval = all_pnames;
3363  std::set<std::string> base_props = base_properties::all_property_names ();
3364  retval.insert (base_props.begin (), base_props.end ());
3365 
3366  return retval;
3367 }
3368 
3369 bool
3371 {
3372  std::set<std::string> pnames = all_property_names ();
3373 
3374  return pnames.find (pname) != pnames.end ();
3375 }
3376 
3377 // ******** text ********
3378 
3380  : base_properties (go_name, mh, p),
3381  backgroundcolor ("backgroundcolor", mh, color_property (radio_values ("{none}"), color_values (1, 1, 1))),
3382  color ("color", mh, color_values (0, 0, 0)),
3383  displayname ("displayname", mh, ""),
3384  edgecolor ("edgecolor", mh, color_property (radio_values ("{none}"), color_values (0, 0, 0))),
3385  editing ("editing", mh, "off"),
3386  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
3387  extent ("extent", mh, Matrix (1, 4, 0.0)),
3388  fontangle ("fontangle", mh, "{normal}|italic|oblique"),
3389  fontname ("fontname", mh, OCTAVE_DEFAULT_FONTNAME),
3390  fontsize ("fontsize", mh, 10),
3391  fontunits ("fontunits", mh, "inches|centimeters|normalized|{points}|pixels"),
3392  fontweight ("fontweight", mh, "light|{normal}|demi|bold"),
3393  horizontalalignment ("horizontalalignment", mh, "{left}|center|right"),
3394  interpreter ("interpreter", mh, "{tex}|none|latex"),
3395  linestyle ("linestyle", mh, "{-}|--|:|-.|none"),
3396  linewidth ("linewidth", mh, 0.5),
3397  margin ("margin", mh, 2),
3398  position ("position", mh, Matrix (1, 3, 0.0)),
3399  rotation ("rotation", mh, 0),
3400  string ("string", mh, ""),
3401  units ("units", mh, "{data}|pixels|normalized|inches|centimeters|points"),
3402  verticalalignment ("verticalalignment", mh, "top|cap|{middle}|baseline|bottom"),
3403  xlim ("xlim", mh, Matrix ()),
3404  ylim ("ylim", mh, Matrix ()),
3405  zlim ("zlim", mh, Matrix ()),
3406  xliminclude ("xliminclude", mh, "off"),
3407  yliminclude ("yliminclude", mh, "off"),
3408  zliminclude ("zliminclude", mh, "off"),
3409  positionmode ("positionmode", mh, "{auto}|manual"),
3410  rotationmode ("rotationmode", mh, "{auto}|manual"),
3411  horizontalalignmentmode ("horizontalalignmentmode", mh, "{auto}|manual"),
3412  verticalalignmentmode ("verticalalignmentmode", mh, "{auto}|manual"),
3413  autopos_tag ("autopos_tag", mh, "{none}|xlabel|ylabel|zlabel|title"),
3414  fontsize_points ("fontsize_points", mh, 0)
3415 {
3417  color.set_id (ID_COLOR);
3422  erasemode.set_hidden (true);
3436  string.set_id (ID_STRING);
3437  units.set_id (ID_UNITS);
3439  xlim.set_id (ID_XLIM);
3440  xlim.set_hidden (true);
3441  ylim.set_id (ID_YLIM);
3442  ylim.set_hidden (true);
3443  zlim.set_id (ID_ZLIM);
3444  zlim.set_hidden (true);
3446  xliminclude.set_hidden (true);
3448  yliminclude.set_hidden (true);
3450  zliminclude.set_hidden (true);
3452  positionmode.set_hidden (true);
3454  rotationmode.set_hidden (true);
3460  autopos_tag.set_hidden (true);
3462  fontsize_points.set_hidden (true);
3463  init ();
3464 }
3465 
3466 void
3468 {
3469  const std::set<std::string>& pnames = all_property_names ();
3470 
3471  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
3472 
3473  if (has_readonly_property (pname))
3474  {
3475  error ("set: \"%s\" is read-only", pname.c_str ());
3476  return;
3477  }
3478 
3479  if (pname.compare ("backgroundcolor"))
3480  set_backgroundcolor (val);
3481  else if (pname.compare ("color"))
3482  set_color (val);
3483  else if (pname.compare ("displayname"))
3484  set_displayname (val);
3485  else if (pname.compare ("edgecolor"))
3486  set_edgecolor (val);
3487  else if (pname.compare ("editing"))
3488  set_editing (val);
3489  else if (pname.compare ("erasemode"))
3490  set_erasemode (val);
3491  else if (pname.compare ("fontangle"))
3492  set_fontangle (val);
3493  else if (pname.compare ("fontname"))
3494  set_fontname (val);
3495  else if (pname.compare ("fontsize"))
3496  set_fontsize (val);
3497  else if (pname.compare ("fontunits"))
3498  set_fontunits (val);
3499  else if (pname.compare ("fontweight"))
3500  set_fontweight (val);
3501  else if (pname.compare ("horizontalalignment"))
3502  set_horizontalalignment (val);
3503  else if (pname.compare ("interpreter"))
3504  set_interpreter (val);
3505  else if (pname.compare ("linestyle"))
3506  set_linestyle (val);
3507  else if (pname.compare ("linewidth"))
3508  set_linewidth (val);
3509  else if (pname.compare ("margin"))
3510  set_margin (val);
3511  else if (pname.compare ("position"))
3512  set_position (val);
3513  else if (pname.compare ("rotation"))
3514  set_rotation (val);
3515  else if (pname.compare ("string"))
3516  set_string (val);
3517  else if (pname.compare ("units"))
3518  set_units (val);
3519  else if (pname.compare ("verticalalignment"))
3520  set_verticalalignment (val);
3521  else if (pname.compare ("xliminclude"))
3522  set_xliminclude (val);
3523  else if (pname.compare ("yliminclude"))
3524  set_yliminclude (val);
3525  else if (pname.compare ("zliminclude"))
3526  set_zliminclude (val);
3527  else if (pname.compare ("positionmode"))
3528  set_positionmode (val);
3529  else if (pname.compare ("rotationmode"))
3530  set_rotationmode (val);
3531  else if (pname.compare ("horizontalalignmentmode"))
3532  set_horizontalalignmentmode (val);
3533  else if (pname.compare ("verticalalignmentmode"))
3534  set_verticalalignmentmode (val);
3535  else if (pname.compare ("autopos_tag"))
3536  set_autopos_tag (val);
3537  else
3538  base_properties::set (pname, val);
3539 }
3540 
3542 text::properties::get (bool all) const
3543 {
3545 
3546  m.assign ("backgroundcolor", octave_value (get_backgroundcolor ()));
3547  m.assign ("color", octave_value (get_color ()));
3548  m.assign ("displayname", octave_value (get_displayname ()));
3549  m.assign ("edgecolor", octave_value (get_edgecolor ()));
3550  m.assign ("editing", octave_value (get_editing ()));
3551  if (all)
3552  m.assign ("erasemode", octave_value (get_erasemode ()));
3553  m.assign ("extent", octave_value (get_extent ()));
3554  m.assign ("fontangle", octave_value (get_fontangle ()));
3555  m.assign ("fontname", octave_value (get_fontname ()));
3556  m.assign ("fontsize", octave_value (get_fontsize ()));
3557  m.assign ("fontunits", octave_value (get_fontunits ()));
3558  m.assign ("fontweight", octave_value (get_fontweight ()));
3559  m.assign ("horizontalalignment", octave_value (get_horizontalalignment ()));
3560  m.assign ("interpreter", octave_value (get_interpreter ()));
3561  m.assign ("linestyle", octave_value (get_linestyle ()));
3562  m.assign ("linewidth", octave_value (get_linewidth ()));
3563  m.assign ("margin", octave_value (get_margin ()));
3564  m.assign ("position", octave_value (get_position ()));
3565  m.assign ("rotation", octave_value (get_rotation ()));
3566  m.assign ("string", octave_value (get_string ()));
3567  m.assign ("units", octave_value (get_units ()));
3568  m.assign ("verticalalignment", octave_value (get_verticalalignment ()));
3569  if (all)
3570  m.assign ("xlim", octave_value (get_xlim ()));
3571  if (all)
3572  m.assign ("ylim", octave_value (get_ylim ()));
3573  if (all)
3574  m.assign ("zlim", octave_value (get_zlim ()));
3575  if (all)
3576  m.assign ("xliminclude", octave_value (get_xliminclude ()));
3577  if (all)
3578  m.assign ("yliminclude", octave_value (get_yliminclude ()));
3579  if (all)
3580  m.assign ("zliminclude", octave_value (get_zliminclude ()));
3581  if (all)
3582  m.assign ("positionmode", octave_value (get_positionmode ()));
3583  if (all)
3584  m.assign ("rotationmode", octave_value (get_rotationmode ()));
3585  if (all)
3586  m.assign ("horizontalalignmentmode", octave_value (get_horizontalalignmentmode ()));
3587  if (all)
3588  m.assign ("verticalalignmentmode", octave_value (get_verticalalignmentmode ()));
3589  if (all)
3590  m.assign ("autopos_tag", octave_value (get_autopos_tag ()));
3591  if (all)
3592  m.assign ("fontsize_points", octave_value (get_fontsize_points ()));
3593 
3594  return m;
3595 }
3596 
3598 text::properties::get (const caseless_str& pname_arg) const
3599 {
3601 
3602  const std::set<std::string>& pnames = all_property_names ();
3603 
3604  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
3605 
3606  if (pname.compare ("backgroundcolor"))
3607  retval = get_backgroundcolor ();
3608  else if (pname.compare ("color"))
3609  retval = get_color ();
3610  else if (pname.compare ("displayname"))
3611  retval = get_displayname ();
3612  else if (pname.compare ("edgecolor"))
3613  retval = get_edgecolor ();
3614  else if (pname.compare ("editing"))
3615  retval = get_editing ();
3616  else if (pname.compare ("erasemode"))
3617  retval = get_erasemode ();
3618  else if (pname.compare ("extent"))
3619  retval = get_extent ();
3620  else if (pname.compare ("fontangle"))
3621  retval = get_fontangle ();
3622  else if (pname.compare ("fontname"))
3623  retval = get_fontname ();
3624  else if (pname.compare ("fontsize"))
3625  retval = get_fontsize ();
3626  else if (pname.compare ("fontunits"))
3627  retval = get_fontunits ();
3628  else if (pname.compare ("fontweight"))
3629  retval = get_fontweight ();
3630  else if (pname.compare ("horizontalalignment"))
3631  retval = get_horizontalalignment ();
3632  else if (pname.compare ("interpreter"))
3633  retval = get_interpreter ();
3634  else if (pname.compare ("linestyle"))
3635  retval = get_linestyle ();
3636  else if (pname.compare ("linewidth"))
3637  retval = get_linewidth ();
3638  else if (pname.compare ("margin"))
3639  retval = get_margin ();
3640  else if (pname.compare ("position"))
3641  retval = get_position ();
3642  else if (pname.compare ("rotation"))
3643  retval = get_rotation ();
3644  else if (pname.compare ("string"))
3645  retval = get_string ();
3646  else if (pname.compare ("units"))
3647  retval = get_units ();
3648  else if (pname.compare ("verticalalignment"))
3649  retval = get_verticalalignment ();
3650  else if (pname.compare ("xlim"))
3651  retval = get_xlim ();
3652  else if (pname.compare ("ylim"))
3653  retval = get_ylim ();
3654  else if (pname.compare ("zlim"))
3655  retval = get_zlim ();
3656  else if (pname.compare ("xliminclude"))
3657  retval = get_xliminclude ();
3658  else if (pname.compare ("yliminclude"))
3659  retval = get_yliminclude ();
3660  else if (pname.compare ("zliminclude"))
3661  retval = get_zliminclude ();
3662  else if (pname.compare ("positionmode"))
3663  retval = get_positionmode ();
3664  else if (pname.compare ("rotationmode"))
3665  retval = get_rotationmode ();
3666  else if (pname.compare ("horizontalalignmentmode"))
3667  retval = get_horizontalalignmentmode ();
3668  else if (pname.compare ("verticalalignmentmode"))
3669  retval = get_verticalalignmentmode ();
3670  else if (pname.compare ("autopos_tag"))
3671  retval = get_autopos_tag ();
3672  else if (pname.compare ("fontsize_points"))
3673  retval = get_fontsize_points ();
3674  else
3675  retval = base_properties::get (pname);
3676 
3677  return retval;
3678 }
3679 
3680 property
3682 {
3683  const std::set<std::string>& pnames = all_property_names ();
3684 
3685  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
3686 
3687  if (pname.compare ("backgroundcolor"))
3688  return property (&backgroundcolor, true);
3689  else if (pname.compare ("color"))
3690  return property (&color, true);
3691  else if (pname.compare ("displayname"))
3692  return property (&displayname, true);
3693  else if (pname.compare ("edgecolor"))
3694  return property (&edgecolor, true);
3695  else if (pname.compare ("editing"))
3696  return property (&editing, true);
3697  else if (pname.compare ("erasemode"))
3698  return property (&erasemode, true);
3699  else if (pname.compare ("extent"))
3700  return property (&extent, true);
3701  else if (pname.compare ("fontangle"))
3702  return property (&fontangle, true);
3703  else if (pname.compare ("fontname"))
3704  return property (&fontname, true);
3705  else if (pname.compare ("fontsize"))
3706  return property (&fontsize, true);
3707  else if (pname.compare ("fontunits"))
3708  return property (&fontunits, true);
3709  else if (pname.compare ("fontweight"))
3710  return property (&fontweight, true);
3711  else if (pname.compare ("horizontalalignment"))
3712  return property (&horizontalalignment, true);
3713  else if (pname.compare ("interpreter"))
3714  return property (&interpreter, true);
3715  else if (pname.compare ("linestyle"))
3716  return property (&linestyle, true);
3717  else if (pname.compare ("linewidth"))
3718  return property (&linewidth, true);
3719  else if (pname.compare ("margin"))
3720  return property (&margin, true);
3721  else if (pname.compare ("position"))
3722  return property (&position, true);
3723  else if (pname.compare ("rotation"))
3724  return property (&rotation, true);
3725  else if (pname.compare ("string"))
3726  return property (&string, true);
3727  else if (pname.compare ("units"))
3728  return property (&units, true);
3729  else if (pname.compare ("verticalalignment"))
3730  return property (&verticalalignment, true);
3731  else if (pname.compare ("xlim"))
3732  return property (&xlim, true);
3733  else if (pname.compare ("ylim"))
3734  return property (&ylim, true);
3735  else if (pname.compare ("zlim"))
3736  return property (&zlim, true);
3737  else if (pname.compare ("xliminclude"))
3738  return property (&xliminclude, true);
3739  else if (pname.compare ("yliminclude"))
3740  return property (&yliminclude, true);
3741  else if (pname.compare ("zliminclude"))
3742  return property (&zliminclude, true);
3743  else if (pname.compare ("positionmode"))
3744  return property (&positionmode, true);
3745  else if (pname.compare ("rotationmode"))
3746  return property (&rotationmode, true);
3747  else if (pname.compare ("horizontalalignmentmode"))
3748  return property (&horizontalalignmentmode, true);
3749  else if (pname.compare ("verticalalignmentmode"))
3750  return property (&verticalalignmentmode, true);
3751  else if (pname.compare ("autopos_tag"))
3752  return property (&autopos_tag, true);
3753  else if (pname.compare ("fontsize_points"))
3754  return property (&fontsize_points, true);
3755  else
3756  return base_properties::get_property (pname);
3757 }
3758 
3761 {
3763 
3764  m["backgroundcolor"] = color_property (radio_values ("{none}"), color_values (1, 1, 1));
3765  m["color"] = color_values (0, 0, 0);
3766  m["displayname"] = "";
3767  m["edgecolor"] = color_property (radio_values ("{none}"), color_values (0, 0, 0));
3768  m["editing"] = "off";
3769  m["erasemode"] = "normal";
3770  m["extent"] = Matrix (1, 4, 0.0);
3771  m["fontangle"] = "normal";
3772  m["fontname"] = OCTAVE_DEFAULT_FONTNAME;
3773  m["fontsize"] = 10;
3774  m["fontunits"] = "points";
3775  m["fontweight"] = "normal";
3776  m["horizontalalignment"] = "left";
3777  m["interpreter"] = "tex";
3778  m["linestyle"] = "-";
3779  m["linewidth"] = 0.5;
3780  m["margin"] = 2;
3781  m["position"] = Matrix (1, 3, 0.0);
3782  m["rotation"] = 0;
3783  m["string"] = "";
3784  m["units"] = "data";
3785  m["verticalalignment"] = "middle";
3786  m["xlim"] = Matrix ();
3787  m["ylim"] = Matrix ();
3788  m["zlim"] = Matrix ();
3789  m["xliminclude"] = "off";
3790  m["yliminclude"] = "off";
3791  m["zliminclude"] = "off";
3792  m["positionmode"] = "auto";
3793  m["rotationmode"] = "auto";
3794  m["horizontalalignmentmode"] = "auto";
3795  m["verticalalignmentmode"] = "auto";
3796  m["autopos_tag"] = "none";
3797  m["fontsize_points"] = 0;
3798 
3799  return m;
3800 }
3801 
3803 
3804 std::set<std::string>
3806 {
3807  static std::set<std::string> all_pnames;
3808 
3809  static bool initialized = false;
3810 
3811  if (! initialized)
3812  {
3813  all_pnames.insert ("backgroundcolor");
3814  all_pnames.insert ("color");
3815  all_pnames.insert ("displayname");
3816  all_pnames.insert ("edgecolor");
3817  all_pnames.insert ("editing");
3818  all_pnames.insert ("erasemode");
3819  all_pnames.insert ("extent");
3820  all_pnames.insert ("fontangle");
3821  all_pnames.insert ("fontname");
3822  all_pnames.insert ("fontsize");
3823  all_pnames.insert ("fontunits");
3824  all_pnames.insert ("fontweight");
3825  all_pnames.insert ("horizontalalignment");
3826  all_pnames.insert ("interpreter");
3827  all_pnames.insert ("linestyle");
3828  all_pnames.insert ("linewidth");
3829  all_pnames.insert ("margin");
3830  all_pnames.insert ("position");
3831  all_pnames.insert ("rotation");
3832  all_pnames.insert ("string");
3833  all_pnames.insert ("units");
3834  all_pnames.insert ("verticalalignment");
3835  all_pnames.insert ("xlim");
3836  all_pnames.insert ("ylim");
3837  all_pnames.insert ("zlim");
3838  all_pnames.insert ("xliminclude");
3839  all_pnames.insert ("yliminclude");
3840  all_pnames.insert ("zliminclude");
3841  all_pnames.insert ("positionmode");
3842  all_pnames.insert ("rotationmode");
3843  all_pnames.insert ("horizontalalignmentmode");
3844  all_pnames.insert ("verticalalignmentmode");
3845  all_pnames.insert ("autopos_tag");
3846  all_pnames.insert ("fontsize_points");
3847 
3848  std::set<std::string> base_pnames = base_properties::core_property_names ();
3849  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
3850 
3851  initialized = true;
3852  }
3853 
3854  return all_pnames;
3855 }
3856 
3857 bool
3859 {
3860  std::set<std::string> pnames = core_property_names ();
3861 
3862  return pnames.find (pname) != pnames.end ();
3863 }
3864 
3865 std::set<std::string>
3867 {
3868  static std::set<std::string> all_pnames;
3869 
3870  static bool initialized = false;
3871 
3872  if (! initialized)
3873  {
3874  all_pnames.insert ("extent");
3875  all_pnames.insert ("xlim");
3876  all_pnames.insert ("ylim");
3877  all_pnames.insert ("zlim");
3878  all_pnames.insert ("fontsize_points");
3879 
3880  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
3881  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
3882 
3883  initialized = true;
3884  }
3885 
3886  return all_pnames;
3887 }
3888 
3889 bool
3891 {
3892  std::set<std::string> pnames = readonly_property_names ();
3893 
3894  return pnames.find (pname) != pnames.end ();
3895 }
3896 
3897 std::set<std::string>
3899 {
3900  static std::set<std::string> all_pnames = core_property_names ();
3901 
3902  std::set<std::string> retval = all_pnames;
3903  std::set<std::string> base_props = base_properties::all_property_names ();
3904  retval.insert (base_props.begin (), base_props.end ());
3905 
3906  return retval;
3907 }
3908 
3909 bool
3911 {
3912  std::set<std::string> pnames = all_property_names ();
3913 
3914  return pnames.find (pname) != pnames.end ();
3915 }
3916 
3917 // ******** image ********
3918 
3920  : base_properties (go_name, mh, p),
3921  alphadata ("alphadata", mh, Matrix (1, 1, 1.0)),
3922  alphadatamapping ("alphadatamapping", mh, "{none}|direct|scaled"),
3923  cdata ("cdata", mh, default_image_cdata ()),
3924  cdatamapping ("cdatamapping", mh, "scaled|{direct}"),
3925  displayname ("displayname", mh, ""),
3926  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
3927  xdata ("xdata", mh, Matrix ()),
3928  ydata ("ydata", mh, Matrix ()),
3929  alim ("alim", mh, Matrix ()),
3930  clim ("clim", mh, Matrix ()),
3931  xlim ("xlim", mh, Matrix ()),
3932  ylim ("ylim", mh, Matrix ()),
3933  aliminclude ("aliminclude", mh, "on"),
3934  climinclude ("climinclude", mh, "on"),
3935  xliminclude ("xliminclude", mh, "on"),
3936  yliminclude ("yliminclude", mh, "on"),
3937  xdatamode ("xdatamode", mh, "{auto}|manual"),
3938  ydatamode ("ydatamode", mh, "{auto}|manual")
3939 {
3942  cdata.set_id (ID_CDATA);
3946  erasemode.set_hidden (true);
3947  xdata.set_id (ID_XDATA);
3948  ydata.set_id (ID_YDATA);
3949  alim.set_id (ID_ALIM);
3950  alim.set_hidden (true);
3951  clim.set_id (ID_CLIM);
3952  clim.set_hidden (true);
3953  xlim.set_id (ID_XLIM);
3954  xlim.set_hidden (true);
3955  ylim.set_id (ID_YLIM);
3956  ylim.set_hidden (true);
3958  aliminclude.set_hidden (true);
3960  climinclude.set_hidden (true);
3962  xliminclude.set_hidden (true);
3964  yliminclude.set_hidden (true);
3966  xdatamode.set_hidden (true);
3968  ydatamode.set_hidden (true);
3969  init ();
3970 }
3971 
3972 void
3974 {
3975  const std::set<std::string>& pnames = all_property_names ();
3976 
3977  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
3978 
3979  if (has_readonly_property (pname))
3980  {
3981  error ("set: \"%s\" is read-only", pname.c_str ());
3982  return;
3983  }
3984 
3985  if (pname.compare ("alphadata"))
3986  set_alphadata (val);
3987  else if (pname.compare ("alphadatamapping"))
3988  set_alphadatamapping (val);
3989  else if (pname.compare ("cdata"))
3990  set_cdata (val);
3991  else if (pname.compare ("cdatamapping"))
3992  set_cdatamapping (val);
3993  else if (pname.compare ("displayname"))
3994  set_displayname (val);
3995  else if (pname.compare ("erasemode"))
3996  set_erasemode (val);
3997  else if (pname.compare ("xdata"))
3998  set_xdata (val);
3999  else if (pname.compare ("ydata"))
4000  set_ydata (val);
4001  else if (pname.compare ("aliminclude"))
4002  set_aliminclude (val);
4003  else if (pname.compare ("climinclude"))
4004  set_climinclude (val);
4005  else if (pname.compare ("xliminclude"))
4006  set_xliminclude (val);
4007  else if (pname.compare ("yliminclude"))
4008  set_yliminclude (val);
4009  else if (pname.compare ("xdatamode"))
4010  set_xdatamode (val);
4011  else if (pname.compare ("ydatamode"))
4012  set_ydatamode (val);
4013  else
4014  base_properties::set (pname, val);
4015 }
4016 
4018 image::properties::get (bool all) const
4019 {
4021 
4022  m.assign ("alphadata", octave_value (get_alphadata ()));
4023  m.assign ("alphadatamapping", octave_value (get_alphadatamapping ()));
4024  m.assign ("cdata", octave_value (get_cdata ()));
4025  m.assign ("cdatamapping", octave_value (get_cdatamapping ()));
4026  m.assign ("displayname", octave_value (get_displayname ()));
4027  if (all)
4028  m.assign ("erasemode", octave_value (get_erasemode ()));
4029  m.assign ("xdata", octave_value (get_xdata ()));
4030  m.assign ("ydata", octave_value (get_ydata ()));
4031  if (all)
4032  m.assign ("alim", octave_value (get_alim ()));
4033  if (all)
4034  m.assign ("clim", octave_value (get_clim ()));
4035  if (all)
4036  m.assign ("xlim", octave_value (get_xlim ()));
4037  if (all)
4038  m.assign ("ylim", octave_value (get_ylim ()));
4039  if (all)
4040  m.assign ("aliminclude", octave_value (get_aliminclude ()));
4041  if (all)
4042  m.assign ("climinclude", octave_value (get_climinclude ()));
4043  if (all)
4044  m.assign ("xliminclude", octave_value (get_xliminclude ()));
4045  if (all)
4046  m.assign ("yliminclude", octave_value (get_yliminclude ()));
4047  if (all)
4048  m.assign ("xdatamode", octave_value (get_xdatamode ()));
4049  if (all)
4050  m.assign ("ydatamode", octave_value (get_ydatamode ()));
4051 
4052  return m;
4053 }
4054 
4056 image::properties::get (const caseless_str& pname_arg) const
4057 {
4059 
4060  const std::set<std::string>& pnames = all_property_names ();
4061 
4062  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4063 
4064  if (pname.compare ("alphadata"))
4065  retval = get_alphadata ();
4066  else if (pname.compare ("alphadatamapping"))
4067  retval = get_alphadatamapping ();
4068  else if (pname.compare ("cdata"))
4069  retval = get_cdata ();
4070  else if (pname.compare ("cdatamapping"))
4071  retval = get_cdatamapping ();
4072  else if (pname.compare ("displayname"))
4073  retval = get_displayname ();
4074  else if (pname.compare ("erasemode"))
4075  retval = get_erasemode ();
4076  else if (pname.compare ("xdata"))
4077  retval = get_xdata ();
4078  else if (pname.compare ("ydata"))
4079  retval = get_ydata ();
4080  else if (pname.compare ("alim"))
4081  retval = get_alim ();
4082  else if (pname.compare ("clim"))
4083  retval = get_clim ();
4084  else if (pname.compare ("xlim"))
4085  retval = get_xlim ();
4086  else if (pname.compare ("ylim"))
4087  retval = get_ylim ();
4088  else if (pname.compare ("aliminclude"))
4089  retval = get_aliminclude ();
4090  else if (pname.compare ("climinclude"))
4091  retval = get_climinclude ();
4092  else if (pname.compare ("xliminclude"))
4093  retval = get_xliminclude ();
4094  else if (pname.compare ("yliminclude"))
4095  retval = get_yliminclude ();
4096  else if (pname.compare ("xdatamode"))
4097  retval = get_xdatamode ();
4098  else if (pname.compare ("ydatamode"))
4099  retval = get_ydatamode ();
4100  else
4101  retval = base_properties::get (pname);
4102 
4103  return retval;
4104 }
4105 
4106 property
4108 {
4109  const std::set<std::string>& pnames = all_property_names ();
4110 
4111  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4112 
4113  if (pname.compare ("alphadata"))
4114  return property (&alphadata, true);
4115  else if (pname.compare ("alphadatamapping"))
4116  return property (&alphadatamapping, true);
4117  else if (pname.compare ("cdata"))
4118  return property (&cdata, true);
4119  else if (pname.compare ("cdatamapping"))
4120  return property (&cdatamapping, true);
4121  else if (pname.compare ("displayname"))
4122  return property (&displayname, true);
4123  else if (pname.compare ("erasemode"))
4124  return property (&erasemode, true);
4125  else if (pname.compare ("xdata"))
4126  return property (&xdata, true);
4127  else if (pname.compare ("ydata"))
4128  return property (&ydata, true);
4129  else if (pname.compare ("alim"))
4130  return property (&alim, true);
4131  else if (pname.compare ("clim"))
4132  return property (&clim, true);
4133  else if (pname.compare ("xlim"))
4134  return property (&xlim, true);
4135  else if (pname.compare ("ylim"))
4136  return property (&ylim, true);
4137  else if (pname.compare ("aliminclude"))
4138  return property (&aliminclude, true);
4139  else if (pname.compare ("climinclude"))
4140  return property (&climinclude, true);
4141  else if (pname.compare ("xliminclude"))
4142  return property (&xliminclude, true);
4143  else if (pname.compare ("yliminclude"))
4144  return property (&yliminclude, true);
4145  else if (pname.compare ("xdatamode"))
4146  return property (&xdatamode, true);
4147  else if (pname.compare ("ydatamode"))
4148  return property (&ydatamode, true);
4149  else
4150  return base_properties::get_property (pname);
4151 }
4152 
4155 {
4157 
4158  m["alphadata"] = Matrix (1, 1, 1.0);
4159  m["alphadatamapping"] = "none";
4160  m["cdata"] = default_image_cdata ();
4161  m["cdatamapping"] = "direct";
4162  m["displayname"] = "";
4163  m["erasemode"] = "normal";
4164  m["xdata"] = Matrix ();
4165  m["ydata"] = Matrix ();
4166  m["alim"] = Matrix ();
4167  m["clim"] = Matrix ();
4168  m["xlim"] = Matrix ();
4169  m["ylim"] = Matrix ();
4170  m["aliminclude"] = "on";
4171  m["climinclude"] = "on";
4172  m["xliminclude"] = "on";
4173  m["yliminclude"] = "on";
4174  m["xdatamode"] = "auto";
4175  m["ydatamode"] = "auto";
4176 
4177  return m;
4178 }
4179 
4181 
4182 std::set<std::string>
4184 {
4185  static std::set<std::string> all_pnames;
4186 
4187  static bool initialized = false;
4188 
4189  if (! initialized)
4190  {
4191  all_pnames.insert ("alphadata");
4192  all_pnames.insert ("alphadatamapping");
4193  all_pnames.insert ("cdata");
4194  all_pnames.insert ("cdatamapping");
4195  all_pnames.insert ("displayname");
4196  all_pnames.insert ("erasemode");
4197  all_pnames.insert ("xdata");
4198  all_pnames.insert ("ydata");
4199  all_pnames.insert ("alim");
4200  all_pnames.insert ("clim");
4201  all_pnames.insert ("xlim");
4202  all_pnames.insert ("ylim");
4203  all_pnames.insert ("aliminclude");
4204  all_pnames.insert ("climinclude");
4205  all_pnames.insert ("xliminclude");
4206  all_pnames.insert ("yliminclude");
4207  all_pnames.insert ("xdatamode");
4208  all_pnames.insert ("ydatamode");
4209 
4210  std::set<std::string> base_pnames = base_properties::core_property_names ();
4211  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
4212 
4213  initialized = true;
4214  }
4215 
4216  return all_pnames;
4217 }
4218 
4219 bool
4221 {
4222  std::set<std::string> pnames = core_property_names ();
4223 
4224  return pnames.find (pname) != pnames.end ();
4225 }
4226 
4227 std::set<std::string>
4229 {
4230  static std::set<std::string> all_pnames;
4231 
4232  static bool initialized = false;
4233 
4234  if (! initialized)
4235  {
4236  all_pnames.insert ("alim");
4237  all_pnames.insert ("clim");
4238  all_pnames.insert ("xlim");
4239  all_pnames.insert ("ylim");
4240 
4241  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
4242  all_pnames.insert (base_pnames.begin (), base_pnames.end ());