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 ());
4243 
4244  initialized = true;
4245  }
4246 
4247  return all_pnames;
4248 }
4249 
4250 bool
4252 {
4253  std::set<std::string> pnames = readonly_property_names ();
4254 
4255  return pnames.find (pname) != pnames.end ();
4256 }
4257 
4258 std::set<std::string>
4260 {
4261  static std::set<std::string> all_pnames = core_property_names ();
4262 
4263  std::set<std::string> retval = all_pnames;
4264  std::set<std::string> base_props = base_properties::all_property_names ();
4265  retval.insert (base_props.begin (), base_props.end ());
4266 
4267  return retval;
4268 }
4269 
4270 bool
4272 {
4273  std::set<std::string> pnames = all_property_names ();
4274 
4275  return pnames.find (pname) != pnames.end ();
4276 }
4277 
4278 // ******** light ********
4279 
4281  : base_properties (go_name, mh, p),
4282  color ("color", mh, color_values (1, 1, 1)),
4283  position ("position", mh, default_light_position ()),
4284  style ("style", mh, "{infinite}|local")
4285 {
4286  color.set_id (ID_COLOR);
4288  style.set_id (ID_STYLE);
4289  init ();
4290 }
4291 
4292 void
4294 {
4295  const std::set<std::string>& pnames = all_property_names ();
4296 
4297  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
4298 
4299  if (has_readonly_property (pname))
4300  {
4301  error ("set: \"%s\" is read-only", pname.c_str ());
4302  return;
4303  }
4304 
4305  if (pname.compare ("color"))
4306  set_color (val);
4307  else if (pname.compare ("position"))
4308  set_position (val);
4309  else if (pname.compare ("style"))
4310  set_style (val);
4311  else
4312  base_properties::set (pname, val);
4313 }
4314 
4316 light::properties::get (bool all) const
4317 {
4319 
4320  m.assign ("color", octave_value (get_color ()));
4321  m.assign ("position", octave_value (get_position ()));
4322  m.assign ("style", octave_value (get_style ()));
4323 
4324  return m;
4325 }
4326 
4328 light::properties::get (const caseless_str& pname_arg) const
4329 {
4331 
4332  const std::set<std::string>& pnames = all_property_names ();
4333 
4334  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4335 
4336  if (pname.compare ("color"))
4337  retval = get_color ();
4338  else if (pname.compare ("position"))
4339  retval = get_position ();
4340  else if (pname.compare ("style"))
4341  retval = get_style ();
4342  else
4343  retval = base_properties::get (pname);
4344 
4345  return retval;
4346 }
4347 
4348 property
4350 {
4351  const std::set<std::string>& pnames = all_property_names ();
4352 
4353  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4354 
4355  if (pname.compare ("color"))
4356  return property (&color, true);
4357  else if (pname.compare ("position"))
4358  return property (&position, true);
4359  else if (pname.compare ("style"))
4360  return property (&style, true);
4361  else
4362  return base_properties::get_property (pname);
4363 }
4364 
4367 {
4369 
4370  m["color"] = color_values (1, 1, 1);
4371  m["position"] = default_light_position ();
4372  m["style"] = "infinite";
4373 
4374  return m;
4375 }
4376 
4378 
4379 std::set<std::string>
4381 {
4382  static std::set<std::string> all_pnames;
4383 
4384  static bool initialized = false;
4385 
4386  if (! initialized)
4387  {
4388  all_pnames.insert ("color");
4389  all_pnames.insert ("position");
4390  all_pnames.insert ("style");
4391 
4392  std::set<std::string> base_pnames = base_properties::core_property_names ();
4393  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
4394 
4395  initialized = true;
4396  }
4397 
4398  return all_pnames;
4399 }
4400 
4401 bool
4403 {
4404  std::set<std::string> pnames = core_property_names ();
4405 
4406  return pnames.find (pname) != pnames.end ();
4407 }
4408 
4409 std::set<std::string>
4411 {
4412  static std::set<std::string> all_pnames;
4413 
4414  static bool initialized = false;
4415 
4416  if (! initialized)
4417  {
4418 
4419  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
4420  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
4421 
4422  initialized = true;
4423  }
4424 
4425  return all_pnames;
4426 }
4427 
4428 bool
4430 {
4431  std::set<std::string> pnames = readonly_property_names ();
4432 
4433  return pnames.find (pname) != pnames.end ();
4434 }
4435 
4436 std::set<std::string>
4438 {
4439  static std::set<std::string> all_pnames = core_property_names ();
4440 
4441  std::set<std::string> retval = all_pnames;
4442  std::set<std::string> base_props = base_properties::all_property_names ();
4443  retval.insert (base_props.begin (), base_props.end ());
4444 
4445  return retval;
4446 }
4447 
4448 bool
4450 {
4451  std::set<std::string> pnames = all_property_names ();
4452 
4453  return pnames.find (pname) != pnames.end ();
4454 }
4455 
4456 // ******** patch ********
4457 
4459  : base_properties (go_name, mh, p),
4460  alphadatamapping ("alphadatamapping", mh, "none|{scaled}|direct"),
4461  ambientstrength ("ambientstrength", mh, 0.3),
4462  backfacelighting ("backfacelighting", mh, "unlit|lit|{reverselit}"),
4463  cdata ("cdata", mh, Matrix ()),
4464  cdatamapping ("cdatamapping", mh, "{scaled}|direct"),
4465  diffusestrength ("diffusestrength", mh, 0.6),
4466  displayname ("displayname", mh, ""),
4467  edgealpha ("edgealpha", mh, double_radio_property (1.0, radio_values ("flat|interp"))),
4468  edgecolor ("edgecolor", mh, color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"))),
4469  edgelighting ("edgelighting", mh, "{none}|flat|gouraud|phong"),
4470  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
4471  facealpha ("facealpha", mh, double_radio_property (1.0, radio_values ("flat|interp"))),
4472  facecolor ("facecolor", mh, color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"))),
4473  facelighting ("facelighting", mh, "none|{flat}|gouraud|phong"),
4474  facenormals ("facenormals", mh, Matrix ()),
4475  facenormalsmode ("facenormalsmode", mh, "{auto}|manual"),
4476  faces ("faces", mh, default_patch_faces ()),
4477  facevertexalphadata ("facevertexalphadata", mh, Matrix ()),
4478  facevertexcdata ("facevertexcdata", mh, Matrix ()),
4479  interpreter ("interpreter", mh, "{tex}|none|latex"),
4480  linestyle ("linestyle", mh, "{-}|--|:|-.|none"),
4481  linewidth ("linewidth", mh, 0.5),
4482  marker ("marker", mh, "{none}|+|o|*|.|x|s|square|d|diamond|^|v|>|<|p|pentagram|h|hexagram"),
4483  markeredgecolor ("markeredgecolor", mh, color_property (radio_values ("none|{auto}|flat"), color_values (0, 0, 0))),
4484  markerfacecolor ("markerfacecolor", mh, color_property (radio_values ("{none}|auto|flat"), color_values (0, 0, 0))),
4485  markersize ("markersize", mh, 6),
4486  normalmode ("normalmode", mh, "{auto}|manual"),
4487  specularcolorreflectance ("specularcolorreflectance", mh, 1.0),
4488  specularexponent ("specularexponent", mh, 10.0),
4489  specularstrength ("specularstrength", mh, 0.9),
4490  vertexnormals ("vertexnormals", mh, Matrix ()),
4491  vertexnormalsmode ("vertexnormalsmode", mh, "{auto}|manual"),
4492  vertices ("vertices", mh, default_patch_vertices ()),
4493  xdata ("xdata", mh, default_patch_xdata ()),
4494  ydata ("ydata", mh, default_patch_ydata ()),
4495  zdata ("zdata", mh, Matrix ()),
4496  alim ("alim", mh, Matrix ()),
4497  clim ("clim", mh, Matrix ()),
4498  xlim ("xlim", mh, Matrix ()),
4499  ylim ("ylim", mh, Matrix ()),
4500  zlim ("zlim", mh, Matrix ()),
4501  aliminclude ("aliminclude", mh, "on"),
4502  climinclude ("climinclude", mh, "on"),
4503  xliminclude ("xliminclude", mh, "on"),
4504  yliminclude ("yliminclude", mh, "on"),
4505  zliminclude ("zliminclude", mh, "on")
4506 {
4510  cdata.set_id (ID_CDATA);
4518  erasemode.set_hidden (true);
4524  faces.set_id (ID_FACES);
4530  marker.set_id (ID_MARKER);
4535  normalmode.set_hidden (true);
4542  xdata.set_id (ID_XDATA);
4543  ydata.set_id (ID_YDATA);
4544  zdata.set_id (ID_ZDATA);
4545  alim.set_id (ID_ALIM);
4546  alim.set_hidden (true);
4547  clim.set_id (ID_CLIM);
4548  clim.set_hidden (true);
4549  xlim.set_id (ID_XLIM);
4550  xlim.set_hidden (true);
4551  ylim.set_id (ID_YLIM);
4552  ylim.set_hidden (true);
4553  zlim.set_id (ID_ZLIM);
4554  zlim.set_hidden (true);
4556  aliminclude.set_hidden (true);
4558  climinclude.set_hidden (true);
4560  xliminclude.set_hidden (true);
4562  yliminclude.set_hidden (true);
4564  zliminclude.set_hidden (true);
4565  init ();
4566 }
4567 
4568 void
4570 {
4571  const std::set<std::string>& pnames = all_property_names ();
4572 
4573  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
4574 
4575  if (has_readonly_property (pname))
4576  {
4577  error ("set: \"%s\" is read-only", pname.c_str ());
4578  return;
4579  }
4580 
4581  if (pname.compare ("alphadatamapping"))
4582  set_alphadatamapping (val);
4583  else if (pname.compare ("ambientstrength"))
4584  set_ambientstrength (val);
4585  else if (pname.compare ("backfacelighting"))
4586  set_backfacelighting (val);
4587  else if (pname.compare ("cdata"))
4588  set_cdata (val);
4589  else if (pname.compare ("cdatamapping"))
4590  set_cdatamapping (val);
4591  else if (pname.compare ("diffusestrength"))
4592  set_diffusestrength (val);
4593  else if (pname.compare ("displayname"))
4594  set_displayname (val);
4595  else if (pname.compare ("edgealpha"))
4596  set_edgealpha (val);
4597  else if (pname.compare ("edgecolor"))
4598  set_edgecolor (val);
4599  else if (pname.compare ("edgelighting"))
4600  set_edgelighting (val);
4601  else if (pname.compare ("erasemode"))
4602  set_erasemode (val);
4603  else if (pname.compare ("facealpha"))
4604  set_facealpha (val);
4605  else if (pname.compare ("facecolor"))
4606  set_facecolor (val);
4607  else if (pname.compare ("facelighting"))
4608  set_facelighting (val);
4609  else if (pname.compare ("facenormals"))
4610  set_facenormals (val);
4611  else if (pname.compare ("facenormalsmode"))
4612  set_facenormalsmode (val);
4613  else if (pname.compare ("faces"))
4614  set_faces (val);
4615  else if (pname.compare ("facevertexalphadata"))
4616  set_facevertexalphadata (val);
4617  else if (pname.compare ("facevertexcdata"))
4618  set_facevertexcdata (val);
4619  else if (pname.compare ("interpreter"))
4620  set_interpreter (val);
4621  else if (pname.compare ("linestyle"))
4622  set_linestyle (val);
4623  else if (pname.compare ("linewidth"))
4624  set_linewidth (val);
4625  else if (pname.compare ("marker"))
4626  set_marker (val);
4627  else if (pname.compare ("markeredgecolor"))
4628  set_markeredgecolor (val);
4629  else if (pname.compare ("markerfacecolor"))
4630  set_markerfacecolor (val);
4631  else if (pname.compare ("markersize"))
4632  set_markersize (val);
4633  else if (pname.compare ("normalmode"))
4634  set_normalmode (val);
4635  else if (pname.compare ("specularcolorreflectance"))
4636  set_specularcolorreflectance (val);
4637  else if (pname.compare ("specularexponent"))
4638  set_specularexponent (val);
4639  else if (pname.compare ("specularstrength"))
4640  set_specularstrength (val);
4641  else if (pname.compare ("vertexnormals"))
4642  set_vertexnormals (val);
4643  else if (pname.compare ("vertexnormalsmode"))
4644  set_vertexnormalsmode (val);
4645  else if (pname.compare ("vertices"))
4646  set_vertices (val);
4647  else if (pname.compare ("xdata"))
4648  set_xdata (val);
4649  else if (pname.compare ("ydata"))
4650  set_ydata (val);
4651  else if (pname.compare ("zdata"))
4652  set_zdata (val);
4653  else if (pname.compare ("aliminclude"))
4654  set_aliminclude (val);
4655  else if (pname.compare ("climinclude"))
4656  set_climinclude (val);
4657  else if (pname.compare ("xliminclude"))
4658  set_xliminclude (val);
4659  else if (pname.compare ("yliminclude"))
4660  set_yliminclude (val);
4661  else if (pname.compare ("zliminclude"))
4662  set_zliminclude (val);
4663  else
4664  base_properties::set (pname, val);
4665 }
4666 
4668 patch::properties::get (bool all) const
4669 {
4671 
4672  m.assign ("alphadatamapping", octave_value (get_alphadatamapping ()));
4673  m.assign ("ambientstrength", octave_value (get_ambientstrength ()));
4674  m.assign ("backfacelighting", octave_value (get_backfacelighting ()));
4675  m.assign ("cdata", octave_value (get_cdata ()));
4676  m.assign ("cdatamapping", octave_value (get_cdatamapping ()));
4677  m.assign ("diffusestrength", octave_value (get_diffusestrength ()));
4678  m.assign ("displayname", octave_value (get_displayname ()));
4679  m.assign ("edgealpha", octave_value (get_edgealpha ()));
4680  m.assign ("edgecolor", octave_value (get_edgecolor ()));
4681  m.assign ("edgelighting", octave_value (get_edgelighting ()));
4682  if (all)
4683  m.assign ("erasemode", octave_value (get_erasemode ()));
4684  m.assign ("facealpha", octave_value (get_facealpha ()));
4685  m.assign ("facecolor", octave_value (get_facecolor ()));
4686  m.assign ("facelighting", octave_value (get_facelighting ()));
4687  m.assign ("facenormals", octave_value (get_facenormals ()));
4688  m.assign ("facenormalsmode", octave_value (get_facenormalsmode ()));
4689  m.assign ("faces", octave_value (get_faces ()));
4690  m.assign ("facevertexalphadata", octave_value (get_facevertexalphadata ()));
4691  m.assign ("facevertexcdata", octave_value (get_facevertexcdata ()));
4692  m.assign ("interpreter", octave_value (get_interpreter ()));
4693  m.assign ("linestyle", octave_value (get_linestyle ()));
4694  m.assign ("linewidth", octave_value (get_linewidth ()));
4695  m.assign ("marker", octave_value (get_marker ()));
4696  m.assign ("markeredgecolor", octave_value (get_markeredgecolor ()));
4697  m.assign ("markerfacecolor", octave_value (get_markerfacecolor ()));
4698  m.assign ("markersize", octave_value (get_markersize ()));
4699  if (all)
4700  m.assign ("normalmode", octave_value (get_normalmode ()));
4701  m.assign ("specularcolorreflectance", octave_value (get_specularcolorreflectance ()));
4702  m.assign ("specularexponent", octave_value (get_specularexponent ()));
4703  m.assign ("specularstrength", octave_value (get_specularstrength ()));
4704  m.assign ("vertexnormals", octave_value (get_vertexnormals ()));
4705  m.assign ("vertexnormalsmode", octave_value (get_vertexnormalsmode ()));
4706  m.assign ("vertices", octave_value (get_vertices ()));
4707  m.assign ("xdata", octave_value (get_xdata ()));
4708  m.assign ("ydata", octave_value (get_ydata ()));
4709  m.assign ("zdata", octave_value (get_zdata ()));
4710  if (all)
4711  m.assign ("alim", octave_value (get_alim ()));
4712  if (all)
4713  m.assign ("clim", octave_value (get_clim ()));
4714  if (all)
4715  m.assign ("xlim", octave_value (get_xlim ()));
4716  if (all)
4717  m.assign ("ylim", octave_value (get_ylim ()));
4718  if (all)
4719  m.assign ("zlim", octave_value (get_zlim ()));
4720  if (all)
4721  m.assign ("aliminclude", octave_value (get_aliminclude ()));
4722  if (all)
4723  m.assign ("climinclude", octave_value (get_climinclude ()));
4724  if (all)
4725  m.assign ("xliminclude", octave_value (get_xliminclude ()));
4726  if (all)
4727  m.assign ("yliminclude", octave_value (get_yliminclude ()));
4728  if (all)
4729  m.assign ("zliminclude", octave_value (get_zliminclude ()));
4730 
4731  return m;
4732 }
4733 
4735 patch::properties::get (const caseless_str& pname_arg) const
4736 {
4738 
4739  const std::set<std::string>& pnames = all_property_names ();
4740 
4741  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4742 
4743  if (pname.compare ("alphadatamapping"))
4744  retval = get_alphadatamapping ();
4745  else if (pname.compare ("ambientstrength"))
4746  retval = get_ambientstrength ();
4747  else if (pname.compare ("backfacelighting"))
4748  retval = get_backfacelighting ();
4749  else if (pname.compare ("cdata"))
4750  retval = get_cdata ();
4751  else if (pname.compare ("cdatamapping"))
4752  retval = get_cdatamapping ();
4753  else if (pname.compare ("diffusestrength"))
4754  retval = get_diffusestrength ();
4755  else if (pname.compare ("displayname"))
4756  retval = get_displayname ();
4757  else if (pname.compare ("edgealpha"))
4758  retval = get_edgealpha ();
4759  else if (pname.compare ("edgecolor"))
4760  retval = get_edgecolor ();
4761  else if (pname.compare ("edgelighting"))
4762  retval = get_edgelighting ();
4763  else if (pname.compare ("erasemode"))
4764  retval = get_erasemode ();
4765  else if (pname.compare ("facealpha"))
4766  retval = get_facealpha ();
4767  else if (pname.compare ("facecolor"))
4768  retval = get_facecolor ();
4769  else if (pname.compare ("facelighting"))
4770  retval = get_facelighting ();
4771  else if (pname.compare ("facenormals"))
4772  retval = get_facenormals ();
4773  else if (pname.compare ("facenormalsmode"))
4774  retval = get_facenormalsmode ();
4775  else if (pname.compare ("faces"))
4776  retval = get_faces ();
4777  else if (pname.compare ("facevertexalphadata"))
4778  retval = get_facevertexalphadata ();
4779  else if (pname.compare ("facevertexcdata"))
4780  retval = get_facevertexcdata ();
4781  else if (pname.compare ("interpreter"))
4782  retval = get_interpreter ();
4783  else if (pname.compare ("linestyle"))
4784  retval = get_linestyle ();
4785  else if (pname.compare ("linewidth"))
4786  retval = get_linewidth ();
4787  else if (pname.compare ("marker"))
4788  retval = get_marker ();
4789  else if (pname.compare ("markeredgecolor"))
4790  retval = get_markeredgecolor ();
4791  else if (pname.compare ("markerfacecolor"))
4792  retval = get_markerfacecolor ();
4793  else if (pname.compare ("markersize"))
4794  retval = get_markersize ();
4795  else if (pname.compare ("normalmode"))
4796  retval = get_normalmode ();
4797  else if (pname.compare ("specularcolorreflectance"))
4798  retval = get_specularcolorreflectance ();
4799  else if (pname.compare ("specularexponent"))
4800  retval = get_specularexponent ();
4801  else if (pname.compare ("specularstrength"))
4802  retval = get_specularstrength ();
4803  else if (pname.compare ("vertexnormals"))
4804  retval = get_vertexnormals ();
4805  else if (pname.compare ("vertexnormalsmode"))
4806  retval = get_vertexnormalsmode ();
4807  else if (pname.compare ("vertices"))
4808  retval = get_vertices ();
4809  else if (pname.compare ("xdata"))
4810  retval = get_xdata ();
4811  else if (pname.compare ("ydata"))
4812  retval = get_ydata ();
4813  else if (pname.compare ("zdata"))
4814  retval = get_zdata ();
4815  else if (pname.compare ("alim"))
4816  retval = get_alim ();
4817  else if (pname.compare ("clim"))
4818  retval = get_clim ();
4819  else if (pname.compare ("xlim"))
4820  retval = get_xlim ();
4821  else if (pname.compare ("ylim"))
4822  retval = get_ylim ();
4823  else if (pname.compare ("zlim"))
4824  retval = get_zlim ();
4825  else if (pname.compare ("aliminclude"))
4826  retval = get_aliminclude ();
4827  else if (pname.compare ("climinclude"))
4828  retval = get_climinclude ();
4829  else if (pname.compare ("xliminclude"))
4830  retval = get_xliminclude ();
4831  else if (pname.compare ("yliminclude"))
4832  retval = get_yliminclude ();
4833  else if (pname.compare ("zliminclude"))
4834  retval = get_zliminclude ();
4835  else
4836  retval = base_properties::get (pname);
4837 
4838  return retval;
4839 }
4840 
4841 property
4843 {
4844  const std::set<std::string>& pnames = all_property_names ();
4845 
4846  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
4847 
4848  if (pname.compare ("alphadatamapping"))
4849  return property (&alphadatamapping, true);
4850  else if (pname.compare ("ambientstrength"))
4851  return property (&ambientstrength, true);
4852  else if (pname.compare ("backfacelighting"))
4853  return property (&backfacelighting, true);
4854  else if (pname.compare ("cdata"))
4855  return property (&cdata, true);
4856  else if (pname.compare ("cdatamapping"))
4857  return property (&cdatamapping, true);
4858  else if (pname.compare ("diffusestrength"))
4859  return property (&diffusestrength, true);
4860  else if (pname.compare ("displayname"))
4861  return property (&displayname, true);
4862  else if (pname.compare ("edgealpha"))
4863  return property (&edgealpha, true);
4864  else if (pname.compare ("edgecolor"))
4865  return property (&edgecolor, true);
4866  else if (pname.compare ("edgelighting"))
4867  return property (&edgelighting, true);
4868  else if (pname.compare ("erasemode"))
4869  return property (&erasemode, true);
4870  else if (pname.compare ("facealpha"))
4871  return property (&facealpha, true);
4872  else if (pname.compare ("facecolor"))
4873  return property (&facecolor, true);
4874  else if (pname.compare ("facelighting"))
4875  return property (&facelighting, true);
4876  else if (pname.compare ("facenormals"))
4877  return property (&facenormals, true);
4878  else if (pname.compare ("facenormalsmode"))
4879  return property (&facenormalsmode, true);
4880  else if (pname.compare ("faces"))
4881  return property (&faces, true);
4882  else if (pname.compare ("facevertexalphadata"))
4883  return property (&facevertexalphadata, true);
4884  else if (pname.compare ("facevertexcdata"))
4885  return property (&facevertexcdata, true);
4886  else if (pname.compare ("interpreter"))
4887  return property (&interpreter, true);
4888  else if (pname.compare ("linestyle"))
4889  return property (&linestyle, true);
4890  else if (pname.compare ("linewidth"))
4891  return property (&linewidth, true);
4892  else if (pname.compare ("marker"))
4893  return property (&marker, true);
4894  else if (pname.compare ("markeredgecolor"))
4895  return property (&markeredgecolor, true);
4896  else if (pname.compare ("markerfacecolor"))
4897  return property (&markerfacecolor, true);
4898  else if (pname.compare ("markersize"))
4899  return property (&markersize, true);
4900  else if (pname.compare ("normalmode"))
4901  return property (&normalmode, true);
4902  else if (pname.compare ("specularcolorreflectance"))
4903  return property (&specularcolorreflectance, true);
4904  else if (pname.compare ("specularexponent"))
4905  return property (&specularexponent, true);
4906  else if (pname.compare ("specularstrength"))
4907  return property (&specularstrength, true);
4908  else if (pname.compare ("vertexnormals"))
4909  return property (&vertexnormals, true);
4910  else if (pname.compare ("vertexnormalsmode"))
4911  return property (&vertexnormalsmode, true);
4912  else if (pname.compare ("vertices"))
4913  return property (&vertices, true);
4914  else if (pname.compare ("xdata"))
4915  return property (&xdata, true);
4916  else if (pname.compare ("ydata"))
4917  return property (&ydata, true);
4918  else if (pname.compare ("zdata"))
4919  return property (&zdata, true);
4920  else if (pname.compare ("alim"))
4921  return property (&alim, true);
4922  else if (pname.compare ("clim"))
4923  return property (&clim, true);
4924  else if (pname.compare ("xlim"))
4925  return property (&xlim, true);
4926  else if (pname.compare ("ylim"))
4927  return property (&ylim, true);
4928  else if (pname.compare ("zlim"))
4929  return property (&zlim, true);
4930  else if (pname.compare ("aliminclude"))
4931  return property (&aliminclude, true);
4932  else if (pname.compare ("climinclude"))
4933  return property (&climinclude, true);
4934  else if (pname.compare ("xliminclude"))
4935  return property (&xliminclude, true);
4936  else if (pname.compare ("yliminclude"))
4937  return property (&yliminclude, true);
4938  else if (pname.compare ("zliminclude"))
4939  return property (&zliminclude, true);
4940  else
4941  return base_properties::get_property (pname);
4942 }
4943 
4946 {
4948 
4949  m["alphadatamapping"] = "scaled";
4950  m["ambientstrength"] = 0.3;
4951  m["backfacelighting"] = "reverselit";
4952  m["cdata"] = Matrix ();
4953  m["cdatamapping"] = "scaled";
4954  m["diffusestrength"] = 0.6;
4955  m["displayname"] = "";
4956  m["edgealpha"] = double_radio_property (1.0, radio_values ("flat|interp"));
4957  m["edgecolor"] = color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"));
4958  m["edgelighting"] = "none";
4959  m["erasemode"] = "normal";
4960  m["facealpha"] = double_radio_property (1.0, radio_values ("flat|interp"));
4961  m["facecolor"] = color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"));
4962  m["facelighting"] = "flat";
4963  m["facenormals"] = Matrix ();
4964  m["facenormalsmode"] = "auto";
4965  m["faces"] = default_patch_faces ();
4966  m["facevertexalphadata"] = Matrix ();
4967  m["facevertexcdata"] = Matrix ();
4968  m["interpreter"] = "tex";
4969  m["linestyle"] = "-";
4970  m["linewidth"] = 0.5;
4971  m["marker"] = "none";
4972  m["markeredgecolor"] = color_property (radio_values ("none|{auto}|flat"), color_values (0, 0, 0));
4973  m["markerfacecolor"] = color_property (radio_values ("{none}|auto|flat"), color_values (0, 0, 0));
4974  m["markersize"] = 6;
4975  m["normalmode"] = "auto";
4976  m["specularcolorreflectance"] = 1.0;
4977  m["specularexponent"] = 10.0;
4978  m["specularstrength"] = 0.9;
4979  m["vertexnormals"] = Matrix ();
4980  m["vertexnormalsmode"] = "auto";
4981  m["vertices"] = default_patch_vertices ();
4982  m["xdata"] = default_patch_xdata ();
4983  m["ydata"] = default_patch_ydata ();
4984  m["zdata"] = Matrix ();
4985  m["alim"] = Matrix ();
4986  m["clim"] = Matrix ();
4987  m["xlim"] = Matrix ();
4988  m["ylim"] = Matrix ();
4989  m["zlim"] = Matrix ();
4990  m["aliminclude"] = "on";
4991  m["climinclude"] = "on";
4992  m["xliminclude"] = "on";
4993  m["yliminclude"] = "on";
4994  m["zliminclude"] = "on";
4995 
4996  return m;
4997 }
4998 
5000 
5001 std::set<std::string>
5003 {
5004  static std::set<std::string> all_pnames;
5005 
5006  static bool initialized = false;
5007 
5008  if (! initialized)
5009  {
5010  all_pnames.insert ("alphadatamapping");
5011  all_pnames.insert ("ambientstrength");
5012  all_pnames.insert ("backfacelighting");
5013  all_pnames.insert ("cdata");
5014  all_pnames.insert ("cdatamapping");
5015  all_pnames.insert ("diffusestrength");
5016  all_pnames.insert ("displayname");
5017  all_pnames.insert ("edgealpha");
5018  all_pnames.insert ("edgecolor");
5019  all_pnames.insert ("edgelighting");
5020  all_pnames.insert ("erasemode");
5021  all_pnames.insert ("facealpha");
5022  all_pnames.insert ("facecolor");
5023  all_pnames.insert ("facelighting");
5024  all_pnames.insert ("facenormals");
5025  all_pnames.insert ("facenormalsmode");
5026  all_pnames.insert ("faces");
5027  all_pnames.insert ("facevertexalphadata");
5028  all_pnames.insert ("facevertexcdata");
5029  all_pnames.insert ("interpreter");
5030  all_pnames.insert ("linestyle");
5031  all_pnames.insert ("linewidth");
5032  all_pnames.insert ("marker");
5033  all_pnames.insert ("markeredgecolor");
5034  all_pnames.insert ("markerfacecolor");
5035  all_pnames.insert ("markersize");
5036  all_pnames.insert ("normalmode");
5037  all_pnames.insert ("specularcolorreflectance");
5038  all_pnames.insert ("specularexponent");
5039  all_pnames.insert ("specularstrength");
5040  all_pnames.insert ("vertexnormals");
5041  all_pnames.insert ("vertexnormalsmode");
5042  all_pnames.insert ("vertices");
5043  all_pnames.insert ("xdata");
5044  all_pnames.insert ("ydata");
5045  all_pnames.insert ("zdata");
5046  all_pnames.insert ("alim");
5047  all_pnames.insert ("clim");
5048  all_pnames.insert ("xlim");
5049  all_pnames.insert ("ylim");
5050  all_pnames.insert ("zlim");
5051  all_pnames.insert ("aliminclude");
5052  all_pnames.insert ("climinclude");
5053  all_pnames.insert ("xliminclude");
5054  all_pnames.insert ("yliminclude");
5055  all_pnames.insert ("zliminclude");
5056 
5057  std::set<std::string> base_pnames = base_properties::core_property_names ();
5058  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
5059 
5060  initialized = true;
5061  }
5062 
5063  return all_pnames;
5064 }
5065 
5066 bool
5068 {
5069  std::set<std::string> pnames = core_property_names ();
5070 
5071  return pnames.find (pname) != pnames.end ();
5072 }
5073 
5074 std::set<std::string>
5076 {
5077  static std::set<std::string> all_pnames;
5078 
5079  static bool initialized = false;
5080 
5081  if (! initialized)
5082  {
5083  all_pnames.insert ("alim");
5084  all_pnames.insert ("clim");
5085  all_pnames.insert ("xlim");
5086  all_pnames.insert ("ylim");
5087  all_pnames.insert ("zlim");
5088 
5089  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
5090  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
5091 
5092  initialized = true;
5093  }
5094 
5095  return all_pnames;
5096 }
5097 
5098 bool
5100 {
5101  std::set<std::string> pnames = readonly_property_names ();
5102 
5103  return pnames.find (pname) != pnames.end ();
5104 }
5105 
5106 std::set<std::string>
5108 {
5109  static std::set<std::string> all_pnames = core_property_names ();
5110 
5111  std::set<std::string> retval = all_pnames;
5112  std::set<std::string> base_props = base_properties::all_property_names ();
5113  retval.insert (base_props.begin (), base_props.end ());
5114 
5115  return retval;
5116 }
5117 
5118 bool
5120 {
5121  std::set<std::string> pnames = all_property_names ();
5122 
5123  return pnames.find (pname) != pnames.end ();
5124 }
5125 
5126 // ******** surface ********
5127 
5129  : base_properties (go_name, mh, p),
5130  alphadata ("alphadata", mh, Matrix (1, 1, 1.0)),
5131  alphadatamapping ("alphadatamapping", mh, "none|direct|{scaled}"),
5132  ambientstrength ("ambientstrength", mh, 0.3),
5133  backfacelighting ("backfacelighting", mh, "unlit|lit|{reverselit}"),
5134  cdata ("cdata", mh, default_surface_cdata ()),
5135  cdatamapping ("cdatamapping", mh, "{scaled}|direct"),
5136  cdatasource ("cdatasource", mh, ""),
5137  diffusestrength ("diffusestrength", mh, 0.6),
5138  displayname ("displayname", mh, ""),
5139  edgealpha ("edgealpha", mh, double_radio_property (1.0, radio_values ("flat|interp"))),
5140  edgecolor ("edgecolor", mh, color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"))),
5141  edgelighting ("edgelighting", mh, "{none}|flat|gouraud|phong"),
5142  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
5143  facealpha ("facealpha", mh, double_radio_property (1.0, radio_values ("flat|interp|texturemap"))),
5144  facecolor ("facecolor", mh, color_property (radio_values ("none|{flat}|interp|texturemap"), color_values (0, 0, 0))),
5145  facelighting ("facelighting", mh, "none|{flat}|gouraud|phong"),
5146  facenormals ("facenormals", mh, Matrix ()),
5147  facenormalsmode ("facenormalsmode", mh, "{auto}|manual"),
5148  interpreter ("interpreter", mh, "{tex}|none|latex"),
5149  linestyle ("linestyle", mh, "{-}|--|:|-.|none"),
5150  linewidth ("linewidth", mh, 0.5),
5151  marker ("marker", mh, "{none}|+|o|*|.|x|s|square|d|diamond|^|v|>|<|p|pentagram|h|hexagram"),
5152  markeredgecolor ("markeredgecolor", mh, color_property (radio_values ("none|{auto}|flat"), color_values (0, 0, 0))),
5153  markerfacecolor ("markerfacecolor", mh, color_property (radio_values ("{none}|auto|flat"), color_values (0, 0, 0))),
5154  markersize ("markersize", mh, 6),
5155  meshstyle ("meshstyle", mh, "{both}|row|column"),
5156  normalmode ("normalmode", mh, "{auto}|manual"),
5157  specularcolorreflectance ("specularcolorreflectance", mh, 1),
5158  specularexponent ("specularexponent", mh, 10),
5159  specularstrength ("specularstrength", mh, 0.9),
5160  vertexnormals ("vertexnormals", mh, Matrix ()),
5161  vertexnormalsmode ("vertexnormalsmode", mh, "{auto}|manual"),
5162  xdata ("xdata", mh, default_surface_xdata ()),
5163  xdatasource ("xdatasource", mh, ""),
5164  ydata ("ydata", mh, default_surface_ydata ()),
5165  ydatasource ("ydatasource", mh, ""),
5166  zdata ("zdata", mh, default_surface_zdata ()),
5167  zdatasource ("zdatasource", mh, ""),
5168  alim ("alim", mh, Matrix ()),
5169  clim ("clim", mh, Matrix ()),
5170  xlim ("xlim", mh, Matrix ()),
5171  ylim ("ylim", mh, Matrix ()),
5172  zlim ("zlim", mh, Matrix ()),
5173  aliminclude ("aliminclude", mh, "on"),
5174  climinclude ("climinclude", mh, "on"),
5175  xliminclude ("xliminclude", mh, "on"),
5176  yliminclude ("yliminclude", mh, "on"),
5177  zliminclude ("zliminclude", mh, "on")
5178 {
5183  cdata.set_id (ID_CDATA);
5192  erasemode.set_hidden (true);
5201  marker.set_id (ID_MARKER);
5207  normalmode.set_hidden (true);
5213  xdata.set_id (ID_XDATA);
5215  ydata.set_id (ID_YDATA);
5217  zdata.set_id (ID_ZDATA);
5219  alim.set_id (ID_ALIM);
5220  alim.set_hidden (true);
5221  clim.set_id (ID_CLIM);
5222  clim.set_hidden (true);
5223  xlim.set_id (ID_XLIM);
5224  xlim.set_hidden (true);
5225  ylim.set_id (ID_YLIM);
5226  ylim.set_hidden (true);
5227  zlim.set_id (ID_ZLIM);
5228  zlim.set_hidden (true);
5230  aliminclude.set_hidden (true);
5232  climinclude.set_hidden (true);
5234  xliminclude.set_hidden (true);
5236  yliminclude.set_hidden (true);
5238  zliminclude.set_hidden (true);
5239  init ();
5240 }
5241 
5242 void
5244 {
5245  const std::set<std::string>& pnames = all_property_names ();
5246 
5247  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
5248 
5249  if (has_readonly_property (pname))
5250  {
5251  error ("set: \"%s\" is read-only", pname.c_str ());
5252  return;
5253  }
5254 
5255  if (pname.compare ("alphadata"))
5256  set_alphadata (val);
5257  else if (pname.compare ("alphadatamapping"))
5258  set_alphadatamapping (val);
5259  else if (pname.compare ("ambientstrength"))
5260  set_ambientstrength (val);
5261  else if (pname.compare ("backfacelighting"))
5262  set_backfacelighting (val);
5263  else if (pname.compare ("cdata"))
5264  set_cdata (val);
5265  else if (pname.compare ("cdatamapping"))
5266  set_cdatamapping (val);
5267  else if (pname.compare ("cdatasource"))
5268  set_cdatasource (val);
5269  else if (pname.compare ("diffusestrength"))
5270  set_diffusestrength (val);
5271  else if (pname.compare ("displayname"))
5272  set_displayname (val);
5273  else if (pname.compare ("edgealpha"))
5274  set_edgealpha (val);
5275  else if (pname.compare ("edgecolor"))
5276  set_edgecolor (val);
5277  else if (pname.compare ("edgelighting"))
5278  set_edgelighting (val);
5279  else if (pname.compare ("erasemode"))
5280  set_erasemode (val);
5281  else if (pname.compare ("facealpha"))
5282  set_facealpha (val);
5283  else if (pname.compare ("facecolor"))
5284  set_facecolor (val);
5285  else if (pname.compare ("facelighting"))
5286  set_facelighting (val);
5287  else if (pname.compare ("facenormals"))
5288  set_facenormals (val);
5289  else if (pname.compare ("facenormalsmode"))
5290  set_facenormalsmode (val);
5291  else if (pname.compare ("interpreter"))
5292  set_interpreter (val);
5293  else if (pname.compare ("linestyle"))
5294  set_linestyle (val);
5295  else if (pname.compare ("linewidth"))
5296  set_linewidth (val);
5297  else if (pname.compare ("marker"))
5298  set_marker (val);
5299  else if (pname.compare ("markeredgecolor"))
5300  set_markeredgecolor (val);
5301  else if (pname.compare ("markerfacecolor"))
5302  set_markerfacecolor (val);
5303  else if (pname.compare ("markersize"))
5304  set_markersize (val);
5305  else if (pname.compare ("meshstyle"))
5306  set_meshstyle (val);
5307  else if (pname.compare ("normalmode"))
5308  set_normalmode (val);
5309  else if (pname.compare ("specularcolorreflectance"))
5310  set_specularcolorreflectance (val);
5311  else if (pname.compare ("specularexponent"))
5312  set_specularexponent (val);
5313  else if (pname.compare ("specularstrength"))
5314  set_specularstrength (val);
5315  else if (pname.compare ("vertexnormals"))
5316  set_vertexnormals (val);
5317  else if (pname.compare ("vertexnormalsmode"))
5318  set_vertexnormalsmode (val);
5319  else if (pname.compare ("xdata"))
5320  set_xdata (val);
5321  else if (pname.compare ("xdatasource"))
5322  set_xdatasource (val);
5323  else if (pname.compare ("ydata"))
5324  set_ydata (val);
5325  else if (pname.compare ("ydatasource"))
5326  set_ydatasource (val);
5327  else if (pname.compare ("zdata"))
5328  set_zdata (val);
5329  else if (pname.compare ("zdatasource"))
5330  set_zdatasource (val);
5331  else if (pname.compare ("aliminclude"))
5332  set_aliminclude (val);
5333  else if (pname.compare ("climinclude"))
5334  set_climinclude (val);
5335  else if (pname.compare ("xliminclude"))
5336  set_xliminclude (val);
5337  else if (pname.compare ("yliminclude"))
5338  set_yliminclude (val);
5339  else if (pname.compare ("zliminclude"))
5340  set_zliminclude (val);
5341  else
5342  base_properties::set (pname, val);
5343 }
5344 
5347 {
5349 
5350  m.assign ("alphadata", octave_value (get_alphadata ()));
5351  m.assign ("alphadatamapping", octave_value (get_alphadatamapping ()));
5352  m.assign ("ambientstrength", octave_value (get_ambientstrength ()));
5353  m.assign ("backfacelighting", octave_value (get_backfacelighting ()));
5354  m.assign ("cdata", octave_value (get_cdata ()));
5355  m.assign ("cdatamapping", octave_value (get_cdatamapping ()));
5356  m.assign ("cdatasource", octave_value (get_cdatasource ()));
5357  m.assign ("diffusestrength", octave_value (get_diffusestrength ()));
5358  m.assign ("displayname", octave_value (get_displayname ()));
5359  m.assign ("edgealpha", octave_value (get_edgealpha ()));
5360  m.assign ("edgecolor", octave_value (get_edgecolor ()));
5361  m.assign ("edgelighting", octave_value (get_edgelighting ()));
5362  if (all)
5363  m.assign ("erasemode", octave_value (get_erasemode ()));
5364  m.assign ("facealpha", octave_value (get_facealpha ()));
5365  m.assign ("facecolor", octave_value (get_facecolor ()));
5366  m.assign ("facelighting", octave_value (get_facelighting ()));
5367  m.assign ("facenormals", octave_value (get_facenormals ()));
5368  m.assign ("facenormalsmode", octave_value (get_facenormalsmode ()));
5369  m.assign ("interpreter", octave_value (get_interpreter ()));
5370  m.assign ("linestyle", octave_value (get_linestyle ()));
5371  m.assign ("linewidth", octave_value (get_linewidth ()));
5372  m.assign ("marker", octave_value (get_marker ()));
5373  m.assign ("markeredgecolor", octave_value (get_markeredgecolor ()));
5374  m.assign ("markerfacecolor", octave_value (get_markerfacecolor ()));
5375  m.assign ("markersize", octave_value (get_markersize ()));
5376  m.assign ("meshstyle", octave_value (get_meshstyle ()));
5377  if (all)
5378  m.assign ("normalmode", octave_value (get_normalmode ()));
5379  m.assign ("specularcolorreflectance", octave_value (get_specularcolorreflectance ()));
5380  m.assign ("specularexponent", octave_value (get_specularexponent ()));
5381  m.assign ("specularstrength", octave_value (get_specularstrength ()));
5382  m.assign ("vertexnormals", octave_value (get_vertexnormals ()));
5383  m.assign ("vertexnormalsmode", octave_value (get_vertexnormalsmode ()));
5384  m.assign ("xdata", octave_value (get_xdata ()));
5385  m.assign ("xdatasource", octave_value (get_xdatasource ()));
5386  m.assign ("ydata", octave_value (get_ydata ()));
5387  m.assign ("ydatasource", octave_value (get_ydatasource ()));
5388  m.assign ("zdata", octave_value (get_zdata ()));
5389  m.assign ("zdatasource", octave_value (get_zdatasource ()));
5390  if (all)
5391  m.assign ("alim", octave_value (get_alim ()));
5392  if (all)
5393  m.assign ("clim", octave_value (get_clim ()));
5394  if (all)
5395  m.assign ("xlim", octave_value (get_xlim ()));
5396  if (all)
5397  m.assign ("ylim", octave_value (get_ylim ()));
5398  if (all)
5399  m.assign ("zlim", octave_value (get_zlim ()));
5400  if (all)
5401  m.assign ("aliminclude", octave_value (get_aliminclude ()));
5402  if (all)
5403  m.assign ("climinclude", octave_value (get_climinclude ()));
5404  if (all)
5405  m.assign ("xliminclude", octave_value (get_xliminclude ()));
5406  if (all)
5407  m.assign ("yliminclude", octave_value (get_yliminclude ()));
5408  if (all)
5409  m.assign ("zliminclude", octave_value (get_zliminclude ()));
5410 
5411  return m;
5412 }
5413 
5415 surface::properties::get (const caseless_str& pname_arg) const
5416 {
5418 
5419  const std::set<std::string>& pnames = all_property_names ();
5420 
5421  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
5422 
5423  if (pname.compare ("alphadata"))
5424  retval = get_alphadata ();
5425  else if (pname.compare ("alphadatamapping"))
5426  retval = get_alphadatamapping ();
5427  else if (pname.compare ("ambientstrength"))
5428  retval = get_ambientstrength ();
5429  else if (pname.compare ("backfacelighting"))
5430  retval = get_backfacelighting ();
5431  else if (pname.compare ("cdata"))
5432  retval = get_cdata ();
5433  else if (pname.compare ("cdatamapping"))
5434  retval = get_cdatamapping ();
5435  else if (pname.compare ("cdatasource"))
5436  retval = get_cdatasource ();
5437  else if (pname.compare ("diffusestrength"))
5438  retval = get_diffusestrength ();
5439  else if (pname.compare ("displayname"))
5440  retval = get_displayname ();
5441  else if (pname.compare ("edgealpha"))
5442  retval = get_edgealpha ();
5443  else if (pname.compare ("edgecolor"))
5444  retval = get_edgecolor ();
5445  else if (pname.compare ("edgelighting"))
5446  retval = get_edgelighting ();
5447  else if (pname.compare ("erasemode"))
5448  retval = get_erasemode ();
5449  else if (pname.compare ("facealpha"))
5450  retval = get_facealpha ();
5451  else if (pname.compare ("facecolor"))
5452  retval = get_facecolor ();
5453  else if (pname.compare ("facelighting"))
5454  retval = get_facelighting ();
5455  else if (pname.compare ("facenormals"))
5456  retval = get_facenormals ();
5457  else if (pname.compare ("facenormalsmode"))
5458  retval = get_facenormalsmode ();
5459  else if (pname.compare ("interpreter"))
5460  retval = get_interpreter ();
5461  else if (pname.compare ("linestyle"))
5462  retval = get_linestyle ();
5463  else if (pname.compare ("linewidth"))
5464  retval = get_linewidth ();
5465  else if (pname.compare ("marker"))
5466  retval = get_marker ();
5467  else if (pname.compare ("markeredgecolor"))
5468  retval = get_markeredgecolor ();
5469  else if (pname.compare ("markerfacecolor"))
5470  retval = get_markerfacecolor ();
5471  else if (pname.compare ("markersize"))
5472  retval = get_markersize ();
5473  else if (pname.compare ("meshstyle"))
5474  retval = get_meshstyle ();
5475  else if (pname.compare ("normalmode"))
5476  retval = get_normalmode ();
5477  else if (pname.compare ("specularcolorreflectance"))
5478  retval = get_specularcolorreflectance ();
5479  else if (pname.compare ("specularexponent"))
5480  retval = get_specularexponent ();
5481  else if (pname.compare ("specularstrength"))
5482  retval = get_specularstrength ();
5483  else if (pname.compare ("vertexnormals"))
5484  retval = get_vertexnormals ();
5485  else if (pname.compare ("vertexnormalsmode"))
5486  retval = get_vertexnormalsmode ();
5487  else if (pname.compare ("xdata"))
5488  retval = get_xdata ();
5489  else if (pname.compare ("xdatasource"))
5490  retval = get_xdatasource ();
5491  else if (pname.compare ("ydata"))
5492  retval = get_ydata ();
5493  else if (pname.compare ("ydatasource"))
5494  retval = get_ydatasource ();
5495  else if (pname.compare ("zdata"))
5496  retval = get_zdata ();
5497  else if (pname.compare ("zdatasource"))
5498  retval = get_zdatasource ();
5499  else if (pname.compare ("alim"))
5500  retval = get_alim ();
5501  else if (pname.compare ("clim"))
5502  retval = get_clim ();
5503  else if (pname.compare ("xlim"))
5504  retval = get_xlim ();
5505  else if (pname.compare ("ylim"))
5506  retval = get_ylim ();
5507  else if (pname.compare ("zlim"))
5508  retval = get_zlim ();
5509  else if (pname.compare ("aliminclude"))
5510  retval = get_aliminclude ();
5511  else if (pname.compare ("climinclude"))
5512  retval = get_climinclude ();
5513  else if (pname.compare ("xliminclude"))
5514  retval = get_xliminclude ();
5515  else if (pname.compare ("yliminclude"))
5516  retval = get_yliminclude ();
5517  else if (pname.compare ("zliminclude"))
5518  retval = get_zliminclude ();
5519  else
5520  retval = base_properties::get (pname);
5521 
5522  return retval;
5523 }
5524 
5525 property
5527 {
5528  const std::set<std::string>& pnames = all_property_names ();
5529 
5530  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
5531 
5532  if (pname.compare ("alphadata"))
5533  return property (&alphadata, true);
5534  else if (pname.compare ("alphadatamapping"))
5535  return property (&alphadatamapping, true);
5536  else if (pname.compare ("ambientstrength"))
5537  return property (&ambientstrength, true);
5538  else if (pname.compare ("backfacelighting"))
5539  return property (&backfacelighting, true);
5540  else if (pname.compare ("cdata"))
5541  return property (&cdata, true);
5542  else if (pname.compare ("cdatamapping"))
5543  return property (&cdatamapping, true);
5544  else if (pname.compare ("cdatasource"))
5545  return property (&cdatasource, true);
5546  else if (pname.compare ("diffusestrength"))
5547  return property (&diffusestrength, true);
5548  else if (pname.compare ("displayname"))
5549  return property (&displayname, true);
5550  else if (pname.compare ("edgealpha"))
5551  return property (&edgealpha, true);
5552  else if (pname.compare ("edgecolor"))
5553  return property (&edgecolor, true);
5554  else if (pname.compare ("edgelighting"))
5555  return property (&edgelighting, true);
5556  else if (pname.compare ("erasemode"))
5557  return property (&erasemode, true);
5558  else if (pname.compare ("facealpha"))
5559  return property (&facealpha, true);
5560  else if (pname.compare ("facecolor"))
5561  return property (&facecolor, true);
5562  else if (pname.compare ("facelighting"))
5563  return property (&facelighting, true);
5564  else if (pname.compare ("facenormals"))
5565  return property (&facenormals, true);
5566  else if (pname.compare ("facenormalsmode"))
5567  return property (&facenormalsmode, true);
5568  else if (pname.compare ("interpreter"))
5569  return property (&interpreter, true);
5570  else if (pname.compare ("linestyle"))
5571  return property (&linestyle, true);
5572  else if (pname.compare ("linewidth"))
5573  return property (&linewidth, true);
5574  else if (pname.compare ("marker"))
5575  return property (&marker, true);
5576  else if (pname.compare ("markeredgecolor"))
5577  return property (&markeredgecolor, true);
5578  else if (pname.compare ("markerfacecolor"))
5579  return property (&markerfacecolor, true);
5580  else if (pname.compare ("markersize"))
5581  return property (&markersize, true);
5582  else if (pname.compare ("meshstyle"))
5583  return property (&meshstyle, true);
5584  else if (pname.compare ("normalmode"))
5585  return property (&normalmode, true);
5586  else if (pname.compare ("specularcolorreflectance"))
5587  return property (&specularcolorreflectance, true);
5588  else if (pname.compare ("specularexponent"))
5589  return property (&specularexponent, true);
5590  else if (pname.compare ("specularstrength"))
5591  return property (&specularstrength, true);
5592  else if (pname.compare ("vertexnormals"))
5593  return property (&vertexnormals, true);
5594  else if (pname.compare ("vertexnormalsmode"))
5595  return property (&vertexnormalsmode, true);
5596  else if (pname.compare ("xdata"))
5597  return property (&xdata, true);
5598  else if (pname.compare ("xdatasource"))
5599  return property (&xdatasource, true);
5600  else if (pname.compare ("ydata"))
5601  return property (&ydata, true);
5602  else if (pname.compare ("ydatasource"))
5603  return property (&ydatasource, true);
5604  else if (pname.compare ("zdata"))
5605  return property (&zdata, true);
5606  else if (pname.compare ("zdatasource"))
5607  return property (&zdatasource, true);
5608  else if (pname.compare ("alim"))
5609  return property (&alim, true);
5610  else if (pname.compare ("clim"))
5611  return property (&clim, true);
5612  else if (pname.compare ("xlim"))
5613  return property (&xlim, true);
5614  else if (pname.compare ("ylim"))
5615  return property (&ylim, true);
5616  else if (pname.compare ("zlim"))
5617  return property (&zlim, true);
5618  else if (pname.compare ("aliminclude"))
5619  return property (&aliminclude, true);
5620  else if (pname.compare ("climinclude"))
5621  return property (&climinclude, true);
5622  else if (pname.compare ("xliminclude"))
5623  return property (&xliminclude, true);
5624  else if (pname.compare ("yliminclude"))
5625  return property (&yliminclude, true);
5626  else if (pname.compare ("zliminclude"))
5627  return property (&zliminclude, true);
5628  else
5629  return base_properties::get_property (pname);
5630 }
5631 
5634 {
5636 
5637  m["alphadata"] = Matrix (1, 1, 1.0);
5638  m["alphadatamapping"] = "scaled";
5639  m["ambientstrength"] = 0.3;
5640  m["backfacelighting"] = "reverselit";
5641  m["cdata"] = default_surface_cdata ();
5642  m["cdatamapping"] = "scaled";
5643  m["cdatasource"] = "";
5644  m["diffusestrength"] = 0.6;
5645  m["displayname"] = "";
5646  m["edgealpha"] = double_radio_property (1.0, radio_values ("flat|interp"));
5647  m["edgecolor"] = color_property (color_values (0, 0, 0), radio_values ("none|flat|interp"));
5648  m["edgelighting"] = "none";
5649  m["erasemode"] = "normal";
5650  m["facealpha"] = double_radio_property (1.0, radio_values ("flat|interp|texturemap"));
5651  m["facecolor"] = color_property (radio_values ("none|{flat}|interp|texturemap"), color_values (0, 0, 0));
5652  m["facelighting"] = "flat";
5653  m["facenormals"] = Matrix ();
5654  m["facenormalsmode"] = "auto";
5655  m["interpreter"] = "tex";
5656  m["linestyle"] = "-";
5657  m["linewidth"] = 0.5;
5658  m["marker"] = "none";
5659  m["markeredgecolor"] = color_property (radio_values ("none|{auto}|flat"), color_values (0, 0, 0));
5660  m["markerfacecolor"] = color_property (radio_values ("{none}|auto|flat"), color_values (0, 0, 0));
5661  m["markersize"] = 6;
5662  m["meshstyle"] = "both";
5663  m["normalmode"] = "auto";
5664  m["specularcolorreflectance"] = 1;
5665  m["specularexponent"] = 10;
5666  m["specularstrength"] = 0.9;
5667  m["vertexnormals"] = Matrix ();
5668  m["vertexnormalsmode"] = "auto";
5669  m["xdata"] = default_surface_xdata ();
5670  m["xdatasource"] = "";
5671  m["ydata"] = default_surface_ydata ();
5672  m["ydatasource"] = "";
5673  m["zdata"] = default_surface_zdata ();
5674  m["zdatasource"] = "";
5675  m["alim"] = Matrix ();
5676  m["clim"] = Matrix ();
5677  m["xlim"] = Matrix ();
5678  m["ylim"] = Matrix ();
5679  m["zlim"] = Matrix ();
5680  m["aliminclude"] = "on";
5681  m["climinclude"] = "on";
5682  m["xliminclude"] = "on";
5683  m["yliminclude"] = "on";
5684  m["zliminclude"] = "on";
5685 
5686  return m;
5687 }
5688 
5690 
5691 std::set<std::string>
5693 {
5694  static std::set<std::string> all_pnames;
5695 
5696  static bool initialized = false;
5697 
5698  if (! initialized)
5699  {
5700  all_pnames.insert ("alphadata");
5701  all_pnames.insert ("alphadatamapping");
5702  all_pnames.insert ("ambientstrength");
5703  all_pnames.insert ("backfacelighting");
5704  all_pnames.insert ("cdata");
5705  all_pnames.insert ("cdatamapping");
5706  all_pnames.insert ("cdatasource");
5707  all_pnames.insert ("diffusestrength");
5708  all_pnames.insert ("displayname");
5709  all_pnames.insert ("edgealpha");
5710  all_pnames.insert ("edgecolor");
5711  all_pnames.insert ("edgelighting");
5712  all_pnames.insert ("erasemode");
5713  all_pnames.insert ("facealpha");
5714  all_pnames.insert ("facecolor");
5715  all_pnames.insert ("facelighting");
5716  all_pnames.insert ("facenormals");
5717  all_pnames.insert ("facenormalsmode");
5718  all_pnames.insert ("interpreter");
5719  all_pnames.insert ("linestyle");
5720  all_pnames.insert ("linewidth");
5721  all_pnames.insert ("marker");
5722  all_pnames.insert ("markeredgecolor");
5723  all_pnames.insert ("markerfacecolor");
5724  all_pnames.insert ("markersize");
5725  all_pnames.insert ("meshstyle");
5726  all_pnames.insert ("normalmode");
5727  all_pnames.insert ("specularcolorreflectance");
5728  all_pnames.insert ("specularexponent");
5729  all_pnames.insert ("specularstrength");
5730  all_pnames.insert ("vertexnormals");
5731  all_pnames.insert ("vertexnormalsmode");
5732  all_pnames.insert ("xdata");
5733  all_pnames.insert ("xdatasource");
5734  all_pnames.insert ("ydata");
5735  all_pnames.insert ("ydatasource");
5736  all_pnames.insert ("zdata");
5737  all_pnames.insert ("zdatasource");
5738  all_pnames.insert ("alim");
5739  all_pnames.insert ("clim");
5740  all_pnames.insert ("xlim");
5741  all_pnames.insert ("ylim");
5742  all_pnames.insert ("zlim");
5743  all_pnames.insert ("aliminclude");
5744  all_pnames.insert ("climinclude");
5745  all_pnames.insert ("xliminclude");
5746  all_pnames.insert ("yliminclude");
5747  all_pnames.insert ("zliminclude");
5748 
5749  std::set<std::string> base_pnames = base_properties::core_property_names ();
5750  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
5751 
5752  initialized = true;
5753  }
5754 
5755  return all_pnames;
5756 }
5757 
5758 bool
5760 {
5761  std::set<std::string> pnames = core_property_names ();
5762 
5763  return pnames.find (pname) != pnames.end ();
5764 }
5765 
5766 std::set<std::string>
5768 {
5769  static std::set<std::string> all_pnames;
5770 
5771  static bool initialized = false;
5772 
5773  if (! initialized)
5774  {
5775  all_pnames.insert ("alim");
5776  all_pnames.insert ("clim");
5777  all_pnames.insert ("xlim");
5778  all_pnames.insert ("ylim");
5779  all_pnames.insert ("zlim");
5780 
5781  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
5782  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
5783 
5784  initialized = true;
5785  }
5786 
5787  return all_pnames;
5788 }
5789 
5790 bool
5792 {
5793  std::set<std::string> pnames = readonly_property_names ();
5794 
5795  return pnames.find (pname) != pnames.end ();
5796 }
5797 
5798 std::set<std::string>
5800 {
5801  static std::set<std::string> all_pnames = core_property_names ();
5802 
5803  std::set<std::string> retval = all_pnames;
5804  std::set<std::string> base_props = base_properties::all_property_names ();
5805  retval.insert (base_props.begin (), base_props.end ());
5806 
5807  return retval;
5808 }
5809 
5810 bool
5812 {
5813  std::set<std::string> pnames = all_property_names ();
5814 
5815  return pnames.find (pname) != pnames.end ();
5816 }
5817 
5818 // ******** hggroup ********
5819 
5821  : base_properties (go_name, mh, p),
5822  displayname ("displayname", mh, ""),
5823  erasemode ("erasemode", mh, "{normal}|none|xor|background"),
5824  alim ("alim", mh, Matrix ()),
5825  clim ("clim", mh, Matrix ()),
5826  xlim ("xlim", mh, Matrix ()),
5827  ylim ("ylim", mh, Matrix ()),
5828  zlim ("zlim", mh, Matrix ()),
5829  aliminclude ("aliminclude", mh, "on"),
5830  climinclude ("climinclude", mh, "on"),
5831  xliminclude ("xliminclude", mh, "on"),
5832  yliminclude ("yliminclude", mh, "on"),
5833  zliminclude ("zliminclude", mh, "on")
5834 {
5837  erasemode.set_hidden (true);
5838  alim.set_id (ID_ALIM);
5839  alim.set_hidden (true);
5840  clim.set_id (ID_CLIM);
5841  clim.set_hidden (true);
5842  xlim.set_id (ID_XLIM);
5843  xlim.set_hidden (true);
5844  ylim.set_id (ID_YLIM);
5845  ylim.set_hidden (true);
5846  zlim.set_id (ID_ZLIM);
5847  zlim.set_hidden (true);
5849  aliminclude.set_hidden (true);
5851  climinclude.set_hidden (true);
5853  xliminclude.set_hidden (true);
5855  yliminclude.set_hidden (true);
5857  zliminclude.set_hidden (true);
5858  init ();
5859 }
5860 
5861 void
5863 {
5864  const std::set<std::string>& pnames = all_property_names ();
5865 
5866  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
5867 
5868  if (has_readonly_property (pname))
5869  {
5870  error ("set: \"%s\" is read-only", pname.c_str ());
5871  return;
5872  }
5873 
5874  if (pname.compare ("displayname"))
5875  set_displayname (val);
5876  else if (pname.compare ("erasemode"))
5877  set_erasemode (val);
5878  else if (pname.compare ("aliminclude"))
5879  set_aliminclude (val);
5880  else if (pname.compare ("climinclude"))
5881  set_climinclude (val);
5882  else if (pname.compare ("xliminclude"))
5883  set_xliminclude (val);
5884  else if (pname.compare ("yliminclude"))
5885  set_yliminclude (val);
5886  else if (pname.compare ("zliminclude"))
5887  set_zliminclude (val);
5888  else
5889  base_properties::set (pname, val);
5890 }
5891 
5894 {
5896 
5897  m.assign ("displayname", octave_value (get_displayname ()));
5898  if (all)
5899  m.assign ("erasemode", octave_value (get_erasemode ()));
5900  if (all)
5901  m.assign ("alim", octave_value (get_alim ()));
5902  if (all)
5903  m.assign ("clim", octave_value (get_clim ()));
5904  if (all)
5905  m.assign ("xlim", octave_value (get_xlim ()));
5906  if (all)
5907  m.assign ("ylim", octave_value (get_ylim ()));
5908  if (all)
5909  m.assign ("zlim", octave_value (get_zlim ()));
5910  if (all)
5911  m.assign ("aliminclude", octave_value (get_aliminclude ()));
5912  if (all)
5913  m.assign ("climinclude", octave_value (get_climinclude ()));
5914  if (all)
5915  m.assign ("xliminclude", octave_value (get_xliminclude ()));
5916  if (all)
5917  m.assign ("yliminclude", octave_value (get_yliminclude ()));
5918  if (all)
5919  m.assign ("zliminclude", octave_value (get_zliminclude ()));
5920 
5921  return m;
5922 }
5923 
5925 hggroup::properties::get (const caseless_str& pname_arg) const
5926 {
5928 
5929  const std::set<std::string>& pnames = all_property_names ();
5930 
5931  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
5932 
5933  if (pname.compare ("displayname"))
5934  retval = get_displayname ();
5935  else if (pname.compare ("erasemode"))
5936  retval = get_erasemode ();
5937  else if (pname.compare ("alim"))
5938  retval = get_alim ();
5939  else if (pname.compare ("clim"))
5940  retval = get_clim ();
5941  else if (pname.compare ("xlim"))
5942  retval = get_xlim ();
5943  else if (pname.compare ("ylim"))
5944  retval = get_ylim ();
5945  else if (pname.compare ("zlim"))
5946  retval = get_zlim ();
5947  else if (pname.compare ("aliminclude"))
5948  retval = get_aliminclude ();
5949  else if (pname.compare ("climinclude"))
5950  retval = get_climinclude ();
5951  else if (pname.compare ("xliminclude"))
5952  retval = get_xliminclude ();
5953  else if (pname.compare ("yliminclude"))
5954  retval = get_yliminclude ();
5955  else if (pname.compare ("zliminclude"))
5956  retval = get_zliminclude ();
5957  else
5958  retval = base_properties::get (pname);
5959 
5960  return retval;
5961 }
5962 
5963 property
5965 {
5966  const std::set<std::string>& pnames = all_property_names ();
5967 
5968  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
5969 
5970  if (pname.compare ("displayname"))
5971  return property (&displayname, true);
5972  else if (pname.compare ("erasemode"))
5973  return property (&erasemode, true);
5974  else if (pname.compare ("alim"))
5975  return property (&alim, true);
5976  else if (pname.compare ("clim"))
5977  return property (&clim, true);
5978  else if (pname.compare ("xlim"))
5979  return property (&xlim, true);
5980  else if (pname.compare ("ylim"))
5981  return property (&ylim, true);
5982  else if (pname.compare ("zlim"))
5983  return property (&zlim, true);
5984  else if (pname.compare ("aliminclude"))
5985  return property (&aliminclude, true);
5986  else if (pname.compare ("climinclude"))
5987  return property (&climinclude, true);
5988  else if (pname.compare ("xliminclude"))
5989  return property (&xliminclude, true);
5990  else if (pname.compare ("yliminclude"))
5991  return property (&yliminclude, true);
5992  else if (pname.compare ("zliminclude"))
5993  return property (&zliminclude, true);
5994  else
5995  return base_properties::get_property (pname);
5996 }
5997 
6000 {
6002 
6003  m["displayname"] = "";
6004  m["erasemode"] = "normal";
6005  m["alim"] = Matrix ();
6006  m["clim"] = Matrix ();
6007  m["xlim"] = Matrix ();
6008  m["ylim"] = Matrix ();
6009  m["zlim"] = Matrix ();
6010  m["aliminclude"] = "on";
6011  m["climinclude"] = "on";
6012  m["xliminclude"] = "on";
6013  m["yliminclude"] = "on";
6014  m["zliminclude"] = "on";
6015 
6016  return m;
6017 }
6018 
6020 
6021 std::set<std::string>
6023 {
6024  static std::set<std::string> all_pnames;
6025 
6026  static bool initialized = false;
6027 
6028  if (! initialized)
6029  {
6030  all_pnames.insert ("displayname");
6031  all_pnames.insert ("erasemode");
6032  all_pnames.insert ("alim");
6033  all_pnames.insert ("clim");
6034  all_pnames.insert ("xlim");
6035  all_pnames.insert ("ylim");
6036  all_pnames.insert ("zlim");
6037  all_pnames.insert ("aliminclude");
6038  all_pnames.insert ("climinclude");
6039  all_pnames.insert ("xliminclude");
6040  all_pnames.insert ("yliminclude");
6041  all_pnames.insert ("zliminclude");
6042 
6043  std::set<std::string> base_pnames = base_properties::core_property_names ();
6044  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6045 
6046  initialized = true;
6047  }
6048 
6049  return all_pnames;
6050 }
6051 
6052 bool
6054 {
6055  std::set<std::string> pnames = core_property_names ();
6056 
6057  return pnames.find (pname) != pnames.end ();
6058 }
6059 
6060 std::set<std::string>
6062 {
6063  static std::set<std::string> all_pnames;
6064 
6065  static bool initialized = false;
6066 
6067  if (! initialized)
6068  {
6069  all_pnames.insert ("alim");
6070  all_pnames.insert ("clim");
6071  all_pnames.insert ("xlim");
6072  all_pnames.insert ("ylim");
6073  all_pnames.insert ("zlim");
6074 
6075  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
6076  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6077 
6078  initialized = true;
6079  }
6080 
6081  return all_pnames;
6082 }
6083 
6084 bool
6086 {
6087  std::set<std::string> pnames = readonly_property_names ();
6088 
6089  return pnames.find (pname) != pnames.end ();
6090 }
6091 
6092 std::set<std::string>
6094 {
6095  static std::set<std::string> all_pnames = core_property_names ();
6096 
6097  std::set<std::string> retval = all_pnames;
6098  std::set<std::string> base_props = base_properties::all_property_names ();
6099  retval.insert (base_props.begin (), base_props.end ());
6100 
6101  return retval;
6102 }
6103 
6104 bool
6106 {
6107  std::set<std::string> pnames = all_property_names ();
6108 
6109  return pnames.find (pname) != pnames.end ();
6110 }
6111 
6112 // ******** uimenu ********
6113 
6115  : base_properties (go_name, mh, p),
6116  __object__ ("__object__", mh, Matrix ()),
6117  accelerator ("accelerator", mh, ""),
6118  callback ("callback", mh, Matrix ()),
6119  checked ("checked", mh, "off"),
6120  enable ("enable", mh, "on"),
6121  foregroundcolor ("foregroundcolor", mh, color_values (0, 0, 0)),
6122  label ("label", mh, ""),
6123  position ("position", mh, 0),
6124  separator ("separator", mh, "off"),
6125  fltk_label ("fltk_label", mh, "")
6126 {
6128  __object__.set_hidden (true);
6134  label.set_id (ID_LABEL);
6138  fltk_label.set_hidden (true);
6139  init ();
6140 }
6141 
6142 void
6144 {
6145  const std::set<std::string>& pnames = all_property_names ();
6146 
6147  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
6148 
6149  if (has_readonly_property (pname))
6150  {
6151  error ("set: \"%s\" is read-only", pname.c_str ());
6152  return;
6153  }
6154 
6155  if (pname.compare ("__object__"))
6156  set___object__ (val);
6157  else if (pname.compare ("accelerator"))
6158  set_accelerator (val);
6159  else if (pname.compare ("callback"))
6160  set_callback (val);
6161  else if (pname.compare ("checked"))
6162  set_checked (val);
6163  else if (pname.compare ("enable"))
6164  set_enable (val);
6165  else if (pname.compare ("foregroundcolor"))
6166  set_foregroundcolor (val);
6167  else if (pname.compare ("label"))
6168  set_label (val);
6169  else if (pname.compare ("position"))
6170  set_position (val);
6171  else if (pname.compare ("separator"))
6172  set_separator (val);
6173  else if (pname.compare ("fltk_label"))
6174  set_fltk_label (val);
6175  else
6176  base_properties::set (pname, val);
6177 }
6178 
6180 uimenu::properties::get (bool all) const
6181 {
6183 
6184  if (all)
6185  m.assign ("__object__", octave_value (get___object__ ()));
6186  m.assign ("accelerator", octave_value (get_accelerator ()));
6187  m.assign ("callback", octave_value (get_callback ()));
6188  m.assign ("checked", octave_value (get_checked ()));
6189  m.assign ("enable", octave_value (get_enable ()));
6190  m.assign ("foregroundcolor", octave_value (get_foregroundcolor ()));
6191  m.assign ("label", octave_value (get_label ()));
6192  m.assign ("position", octave_value (get_position ()));
6193  m.assign ("separator", octave_value (get_separator ()));
6194  if (all)
6195  m.assign ("fltk_label", octave_value (get_fltk_label ()));
6196 
6197  return m;
6198 }
6199 
6201 uimenu::properties::get (const caseless_str& pname_arg) const
6202 {
6204 
6205  const std::set<std::string>& pnames = all_property_names ();
6206 
6207  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6208 
6209  if (pname.compare ("__object__"))
6210  retval = get___object__ ();
6211  else if (pname.compare ("accelerator"))
6212  retval = get_accelerator ();
6213  else if (pname.compare ("callback"))
6214  retval = get_callback ();
6215  else if (pname.compare ("checked"))
6216  retval = get_checked ();
6217  else if (pname.compare ("enable"))
6218  retval = get_enable ();
6219  else if (pname.compare ("foregroundcolor"))
6220  retval = get_foregroundcolor ();
6221  else if (pname.compare ("label"))
6222  retval = get_label ();
6223  else if (pname.compare ("position"))
6224  retval = get_position ();
6225  else if (pname.compare ("separator"))
6226  retval = get_separator ();
6227  else if (pname.compare ("fltk_label"))
6228  retval = get_fltk_label ();
6229  else
6230  retval = base_properties::get (pname);
6231 
6232  return retval;
6233 }
6234 
6235 property
6237 {
6238  const std::set<std::string>& pnames = all_property_names ();
6239 
6240  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6241 
6242  if (pname.compare ("__object__"))
6243  return property (&__object__, true);
6244  else if (pname.compare ("accelerator"))
6245  return property (&accelerator, true);
6246  else if (pname.compare ("callback"))
6247  return property (&callback, true);
6248  else if (pname.compare ("checked"))
6249  return property (&checked, true);
6250  else if (pname.compare ("enable"))
6251  return property (&enable, true);
6252  else if (pname.compare ("foregroundcolor"))
6253  return property (&foregroundcolor, true);
6254  else if (pname.compare ("label"))
6255  return property (&label, true);
6256  else if (pname.compare ("position"))
6257  return property (&position, true);
6258  else if (pname.compare ("separator"))
6259  return property (&separator, true);
6260  else if (pname.compare ("fltk_label"))
6261  return property (&fltk_label, true);
6262  else
6263  return base_properties::get_property (pname);
6264 }
6265 
6268 {
6270 
6271  m["__object__"] = Matrix ();
6272  m["accelerator"] = "";
6273  m["callback"] = Matrix ();
6274  m["checked"] = "off";
6275  m["enable"] = "on";
6276  m["foregroundcolor"] = color_values (0, 0, 0);
6277  m["label"] = "";
6278  m["position"] = 0;
6279  m["separator"] = "off";
6280  m["fltk_label"] = "";
6281 
6282  return m;
6283 }
6284 
6286 
6287 std::set<std::string>
6289 {
6290  static std::set<std::string> all_pnames;
6291 
6292  static bool initialized = false;
6293 
6294  if (! initialized)
6295  {
6296  all_pnames.insert ("__object__");
6297  all_pnames.insert ("accelerator");
6298  all_pnames.insert ("callback");
6299  all_pnames.insert ("checked");
6300  all_pnames.insert ("enable");
6301  all_pnames.insert ("foregroundcolor");
6302  all_pnames.insert ("label");
6303  all_pnames.insert ("position");
6304  all_pnames.insert ("separator");
6305  all_pnames.insert ("fltk_label");
6306 
6307  std::set<std::string> base_pnames = base_properties::core_property_names ();
6308  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6309 
6310  initialized = true;
6311  }
6312 
6313  return all_pnames;
6314 }
6315 
6316 bool
6318 {
6319  std::set<std::string> pnames = core_property_names ();
6320 
6321  return pnames.find (pname) != pnames.end ();
6322 }
6323 
6324 std::set<std::string>
6326 {
6327  static std::set<std::string> all_pnames;
6328 
6329  static bool initialized = false;
6330 
6331  if (! initialized)
6332  {
6333 
6334  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
6335  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6336 
6337  initialized = true;
6338  }
6339 
6340  return all_pnames;
6341 }
6342 
6343 bool
6345 {
6346  std::set<std::string> pnames = readonly_property_names ();
6347 
6348  return pnames.find (pname) != pnames.end ();
6349 }
6350 
6351 std::set<std::string>
6353 {
6354  static std::set<std::string> all_pnames = core_property_names ();
6355 
6356  std::set<std::string> retval = all_pnames;
6357  std::set<std::string> base_props = base_properties::all_property_names ();
6358  retval.insert (base_props.begin (), base_props.end ());
6359 
6360  return retval;
6361 }
6362 
6363 bool
6365 {
6366  std::set<std::string> pnames = all_property_names ();
6367 
6368  return pnames.find (pname) != pnames.end ();
6369 }
6370 
6371 // ******** uicontextmenu ********
6372 
6374  : base_properties (go_name, mh, p),
6375  __object__ ("__object__", mh, Matrix ()),
6376  callback ("callback", mh, Matrix ()),
6377  position ("position", mh, Matrix (1, 2, 0.0))
6378 {
6380  __object__.set_hidden (true);
6383  init ();
6384 }
6385 
6386 void
6388 {
6389  const std::set<std::string>& pnames = all_property_names ();
6390 
6391  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
6392 
6393  if (has_readonly_property (pname))
6394  {
6395  error ("set: \"%s\" is read-only", pname.c_str ());
6396  return;
6397  }
6398 
6399  if (pname.compare ("__object__"))
6400  set___object__ (val);
6401  else if (pname.compare ("callback"))
6402  set_callback (val);
6403  else if (pname.compare ("position"))
6404  set_position (val);
6405  else
6406  base_properties::set (pname, val);
6407 }
6408 
6411 {
6413 
6414  if (all)
6415  m.assign ("__object__", octave_value (get___object__ ()));
6416  m.assign ("callback", octave_value (get_callback ()));
6417  m.assign ("position", octave_value (get_position ()));
6418 
6419  return m;
6420 }
6421 
6424 {
6426 
6427  const std::set<std::string>& pnames = all_property_names ();
6428 
6429  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6430 
6431  if (pname.compare ("__object__"))
6432  retval = get___object__ ();
6433  else if (pname.compare ("callback"))
6434  retval = get_callback ();
6435  else if (pname.compare ("position"))
6436  retval = get_position ();
6437  else
6438  retval = base_properties::get (pname);
6439 
6440  return retval;
6441 }
6442 
6443 property
6445 {
6446  const std::set<std::string>& pnames = all_property_names ();
6447 
6448  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6449 
6450  if (pname.compare ("__object__"))
6451  return property (&__object__, true);
6452  else if (pname.compare ("callback"))
6453  return property (&callback, true);
6454  else if (pname.compare ("position"))
6455  return property (&position, true);
6456  else
6457  return base_properties::get_property (pname);
6458 }
6459 
6462 {
6464 
6465  m["__object__"] = Matrix ();
6466  m["callback"] = Matrix ();
6467  m["position"] = Matrix (1, 2, 0.0);
6468 
6469  return m;
6470 }
6471 
6473 
6474 std::set<std::string>
6476 {
6477  static std::set<std::string> all_pnames;
6478 
6479  static bool initialized = false;
6480 
6481  if (! initialized)
6482  {
6483  all_pnames.insert ("__object__");
6484  all_pnames.insert ("callback");
6485  all_pnames.insert ("position");
6486 
6487  std::set<std::string> base_pnames = base_properties::core_property_names ();
6488  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6489 
6490  initialized = true;
6491  }
6492 
6493  return all_pnames;
6494 }
6495 
6496 bool
6498 {
6499  std::set<std::string> pnames = core_property_names ();
6500 
6501  return pnames.find (pname) != pnames.end ();
6502 }
6503 
6504 std::set<std::string>
6506 {
6507  static std::set<std::string> all_pnames;
6508 
6509  static bool initialized = false;
6510 
6511  if (! initialized)
6512  {
6513 
6514  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
6515  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6516 
6517  initialized = true;
6518  }
6519 
6520  return all_pnames;
6521 }
6522 
6523 bool
6525 {
6526  std::set<std::string> pnames = readonly_property_names ();
6527 
6528  return pnames.find (pname) != pnames.end ();
6529 }
6530 
6531 std::set<std::string>
6533 {
6534  static std::set<std::string> all_pnames = core_property_names ();
6535 
6536  std::set<std::string> retval = all_pnames;
6537  std::set<std::string> base_props = base_properties::all_property_names ();
6538  retval.insert (base_props.begin (), base_props.end ());
6539 
6540  return retval;
6541 }
6542 
6543 bool
6545 {
6546  std::set<std::string> pnames = all_property_names ();
6547 
6548  return pnames.find (pname) != pnames.end ();
6549 }
6550 
6551 // ******** uicontrol ********
6552 
6554  : base_properties (go_name, mh, p),
6555  __object__ ("__object__", mh, Matrix ()),
6556  backgroundcolor ("backgroundcolor", mh, color_values (1, 1, 1)),
6557  callback ("callback", mh, Matrix ()),
6558  cdata ("cdata", mh, Matrix ()),
6559  clipping ("clipping", mh, "on"),
6560  enable ("enable", mh, "{on}|inactive|off"),
6561  extent ("extent", mh, Matrix (1, 4, 0.0)),
6562  fontangle ("fontangle", mh, "{normal}|italic|oblique"),
6563  fontname ("fontname", mh, OCTAVE_DEFAULT_FONTNAME),
6564  fontsize ("fontsize", mh, 10),
6565  fontunits ("fontunits", mh, "inches|centimeters|normalized|{points}|pixels"),
6566  fontweight ("fontweight", mh, "light|{normal}|demi|bold"),
6567  foregroundcolor ("foregroundcolor", mh, color_values (0, 0, 0)),
6568  horizontalalignment ("horizontalalignment", mh, "left|{center}|right"),
6569  keypressfcn ("keypressfcn", mh, Matrix ()),
6570  listboxtop ("listboxtop", mh, 1),
6571  max ("max", mh, 1),
6572  min ("min", mh, 0),
6573  position ("position", mh, default_control_position ()),
6574  sliderstep ("sliderstep", mh, default_control_sliderstep ()),
6575  string ("string", mh, ""),
6576  style ("style", mh, "{pushbutton}|togglebutton|radiobutton|checkbox|edit|text|slider|frame|listbox|popupmenu"),
6577  tooltipstring ("tooltipstring", mh, ""),
6578  units ("units", mh, "normalized|inches|centimeters|points|{pixels}|characters"),
6579  value ("value", mh, Matrix (1, 1, 0.0)),
6580  verticalalignment ("verticalalignment", mh, "top|{middle}|bottom")
6581 {
6583  __object__.set_hidden (true);
6586  cdata.set_id (ID_CDATA);
6599  max.set_id (ID_MAX);
6600  min.set_id (ID_MIN);
6603  string.set_id (ID_STRING);
6604  style.set_id (ID_STYLE);
6606  units.set_id (ID_UNITS);
6607  value.set_id (ID_VALUE);
6609  init ();
6610 }
6611 
6612 void
6614 {
6615  const std::set<std::string>& pnames = all_property_names ();
6616 
6617  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
6618 
6619  if (has_readonly_property (pname))
6620  {
6621  error ("set: \"%s\" is read-only", pname.c_str ());
6622  return;
6623  }
6624 
6625  if (pname.compare ("__object__"))
6626  set___object__ (val);
6627  else if (pname.compare ("backgroundcolor"))
6628  set_backgroundcolor (val);
6629  else if (pname.compare ("callback"))
6630  set_callback (val);
6631  else if (pname.compare ("cdata"))
6632  set_cdata (val);
6633  else if (pname.compare ("clipping"))
6634  set_clipping (val);
6635  else if (pname.compare ("enable"))
6636  set_enable (val);
6637  else if (pname.compare ("fontangle"))
6638  set_fontangle (val);
6639  else if (pname.compare ("fontname"))
6640  set_fontname (val);
6641  else if (pname.compare ("fontsize"))
6642  set_fontsize (val);
6643  else if (pname.compare ("fontunits"))
6644  set_fontunits (val);
6645  else if (pname.compare ("fontweight"))
6646  set_fontweight (val);
6647  else if (pname.compare ("foregroundcolor"))
6648  set_foregroundcolor (val);
6649  else if (pname.compare ("horizontalalignment"))
6650  set_horizontalalignment (val);
6651  else if (pname.compare ("keypressfcn"))
6652  set_keypressfcn (val);
6653  else if (pname.compare ("listboxtop"))
6654  set_listboxtop (val);
6655  else if (pname.compare ("max"))
6656  set_max (val);
6657  else if (pname.compare ("min"))
6658  set_min (val);
6659  else if (pname.compare ("position"))
6660  set_position (val);
6661  else if (pname.compare ("sliderstep"))
6662  set_sliderstep (val);
6663  else if (pname.compare ("string"))
6664  set_string (val);
6665  else if (pname.compare ("style"))
6666  set_style (val);
6667  else if (pname.compare ("tooltipstring"))
6668  set_tooltipstring (val);
6669  else if (pname.compare ("units"))
6670  set_units (val);
6671  else if (pname.compare ("value"))
6672  set_value (val);
6673  else if (pname.compare ("verticalalignment"))
6674  set_verticalalignment (val);
6675  else
6676  base_properties::set (pname, val);
6677 }
6678 
6681 {
6683 
6684  if (all)
6685  m.assign ("__object__", octave_value (get___object__ ()));
6686  m.assign ("backgroundcolor", octave_value (get_backgroundcolor ()));
6687  m.assign ("callback", octave_value (get_callback ()));
6688  m.assign ("cdata", octave_value (get_cdata ()));
6689  m.assign ("clipping", octave_value (get_clipping ()));
6690  m.assign ("enable", octave_value (get_enable ()));
6691  m.assign ("extent", octave_value (get_extent ()));
6692  m.assign ("fontangle", octave_value (get_fontangle ()));
6693  m.assign ("fontname", octave_value (get_fontname ()));
6694  m.assign ("fontsize", octave_value (get_fontsize ()));
6695  m.assign ("fontunits", octave_value (get_fontunits ()));
6696  m.assign ("fontweight", octave_value (get_fontweight ()));
6697  m.assign ("foregroundcolor", octave_value (get_foregroundcolor ()));
6698  m.assign ("horizontalalignment", octave_value (get_horizontalalignment ()));
6699  m.assign ("keypressfcn", octave_value (get_keypressfcn ()));
6700  m.assign ("listboxtop", octave_value (get_listboxtop ()));
6701  m.assign ("max", octave_value (get_max ()));
6702  m.assign ("min", octave_value (get_min ()));
6703  m.assign ("position", octave_value (get_position ()));
6704  m.assign ("sliderstep", octave_value (get_sliderstep ()));
6705  m.assign ("string", octave_value (get_string ()));
6706  m.assign ("style", octave_value (get_style ()));
6707  m.assign ("tooltipstring", octave_value (get_tooltipstring ()));
6708  m.assign ("units", octave_value (get_units ()));
6709  m.assign ("value", octave_value (get_value ()));
6710  m.assign ("verticalalignment", octave_value (get_verticalalignment ()));
6711 
6712  return m;
6713 }
6714 
6717 {
6719 
6720  const std::set<std::string>& pnames = all_property_names ();
6721 
6722  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6723 
6724  if (pname.compare ("__object__"))
6725  retval = get___object__ ();
6726  else if (pname.compare ("backgroundcolor"))
6727  retval = get_backgroundcolor ();
6728  else if (pname.compare ("callback"))
6729  retval = get_callback ();
6730  else if (pname.compare ("cdata"))
6731  retval = get_cdata ();
6732  else if (pname.compare ("clipping"))
6733  retval = get_clipping ();
6734  else if (pname.compare ("enable"))
6735  retval = get_enable ();
6736  else if (pname.compare ("extent"))
6737  retval = get_extent ();
6738  else if (pname.compare ("fontangle"))
6739  retval = get_fontangle ();
6740  else if (pname.compare ("fontname"))
6741  retval = get_fontname ();
6742  else if (pname.compare ("fontsize"))
6743  retval = get_fontsize ();
6744  else if (pname.compare ("fontunits"))
6745  retval = get_fontunits ();
6746  else if (pname.compare ("fontweight"))
6747  retval = get_fontweight ();
6748  else if (pname.compare ("foregroundcolor"))
6749  retval = get_foregroundcolor ();
6750  else if (pname.compare ("horizontalalignment"))
6751  retval = get_horizontalalignment ();
6752  else if (pname.compare ("keypressfcn"))
6753  retval = get_keypressfcn ();
6754  else if (pname.compare ("listboxtop"))
6755  retval = get_listboxtop ();
6756  else if (pname.compare ("max"))
6757  retval = get_max ();
6758  else if (pname.compare ("min"))
6759  retval = get_min ();
6760  else if (pname.compare ("position"))
6761  retval = get_position ();
6762  else if (pname.compare ("sliderstep"))
6763  retval = get_sliderstep ();
6764  else if (pname.compare ("string"))
6765  retval = get_string ();
6766  else if (pname.compare ("style"))
6767  retval = get_style ();
6768  else if (pname.compare ("tooltipstring"))
6769  retval = get_tooltipstring ();
6770  else if (pname.compare ("units"))
6771  retval = get_units ();
6772  else if (pname.compare ("value"))
6773  retval = get_value ();
6774  else if (pname.compare ("verticalalignment"))
6775  retval = get_verticalalignment ();
6776  else
6777  retval = base_properties::get (pname);
6778 
6779  return retval;
6780 }
6781 
6782 property
6784 {
6785  const std::set<std::string>& pnames = all_property_names ();
6786 
6787  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
6788 
6789  if (pname.compare ("__object__"))
6790  return property (&__object__, true);
6791  else if (pname.compare ("backgroundcolor"))
6792  return property (&backgroundcolor, true);
6793  else if (pname.compare ("callback"))
6794  return property (&callback, true);
6795  else if (pname.compare ("cdata"))
6796  return property (&cdata, true);
6797  else if (pname.compare ("clipping"))
6798  return property (&clipping, true);
6799  else if (pname.compare ("enable"))
6800  return property (&enable, true);
6801  else if (pname.compare ("extent"))
6802  return property (&extent, true);
6803  else if (pname.compare ("fontangle"))
6804  return property (&fontangle, true);
6805  else if (pname.compare ("fontname"))
6806  return property (&fontname, true);
6807  else if (pname.compare ("fontsize"))
6808  return property (&fontsize, true);
6809  else if (pname.compare ("fontunits"))
6810  return property (&fontunits, true);
6811  else if (pname.compare ("fontweight"))
6812  return property (&fontweight, true);
6813  else if (pname.compare ("foregroundcolor"))
6814  return property (&foregroundcolor, true);
6815  else if (pname.compare ("horizontalalignment"))
6816  return property (&horizontalalignment, true);
6817  else if (pname.compare ("keypressfcn"))
6818  return property (&keypressfcn, true);
6819  else if (pname.compare ("listboxtop"))
6820  return property (&listboxtop, true);
6821  else if (pname.compare ("max"))
6822  return property (&max, true);
6823  else if (pname.compare ("min"))
6824  return property (&min, true);
6825  else if (pname.compare ("position"))
6826  return property (&position, true);
6827  else if (pname.compare ("sliderstep"))
6828  return property (&sliderstep, true);
6829  else if (pname.compare ("string"))
6830  return property (&string, true);
6831  else if (pname.compare ("style"))
6832  return property (&style, true);
6833  else if (pname.compare ("tooltipstring"))
6834  return property (&tooltipstring, true);
6835  else if (pname.compare ("units"))
6836  return property (&units, true);
6837  else if (pname.compare ("value"))
6838  return property (&value, true);
6839  else if (pname.compare ("verticalalignment"))
6840  return property (&verticalalignment, true);
6841  else
6842  return base_properties::get_property (pname);
6843 }
6844 
6847 {
6849 
6850  m["__object__"] = Matrix ();
6851  m["backgroundcolor"] = color_values (1, 1, 1);
6852  m["callback"] = Matrix ();
6853  m["cdata"] = Matrix ();
6854  m["clipping"] = "on";
6855  m["enable"] = "on";
6856  m["extent"] = Matrix (1, 4, 0.0);
6857  m["fontangle"] = "normal";
6858  m["fontname"] = OCTAVE_DEFAULT_FONTNAME;
6859  m["fontsize"] = 10;
6860  m["fontunits"] = "points";
6861  m["fontweight"] = "normal";
6862  m["foregroundcolor"] = color_values (0, 0, 0);
6863  m["horizontalalignment"] = "center";
6864  m["keypressfcn"] = Matrix ();
6865  m["listboxtop"] = 1;
6866  m["max"] = 1;
6867  m["min"] = 0;
6868  m["position"] = default_control_position ();
6869  m["sliderstep"] = default_control_sliderstep ();
6870  m["string"] = "";
6871  m["style"] = "pushbutton";
6872  m["tooltipstring"] = "";
6873  m["units"] = "pixels";
6874  m["value"] = Matrix (1, 1, 0.0);
6875  m["verticalalignment"] = "middle";
6876 
6877  return m;
6878 }
6879 
6881 
6882 std::set<std::string>
6884 {
6885  static std::set<std::string> all_pnames;
6886 
6887  static bool initialized = false;
6888 
6889  if (! initialized)
6890  {
6891  all_pnames.insert ("__object__");
6892  all_pnames.insert ("backgroundcolor");
6893  all_pnames.insert ("callback");
6894  all_pnames.insert ("cdata");
6895  all_pnames.insert ("clipping");
6896  all_pnames.insert ("enable");
6897  all_pnames.insert ("extent");
6898  all_pnames.insert ("fontangle");
6899  all_pnames.insert ("fontname");
6900  all_pnames.insert ("fontsize");
6901  all_pnames.insert ("fontunits");
6902  all_pnames.insert ("fontweight");
6903  all_pnames.insert ("foregroundcolor");
6904  all_pnames.insert ("horizontalalignment");
6905  all_pnames.insert ("keypressfcn");
6906  all_pnames.insert ("listboxtop");
6907  all_pnames.insert ("max");
6908  all_pnames.insert ("min");
6909  all_pnames.insert ("position");
6910  all_pnames.insert ("sliderstep");
6911  all_pnames.insert ("string");
6912  all_pnames.insert ("style");
6913  all_pnames.insert ("tooltipstring");
6914  all_pnames.insert ("units");
6915  all_pnames.insert ("value");
6916  all_pnames.insert ("verticalalignment");
6917 
6918  std::set<std::string> base_pnames = base_properties::core_property_names ();
6919  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6920 
6921  initialized = true;
6922  }
6923 
6924  return all_pnames;
6925 }
6926 
6927 bool
6929 {
6930  std::set<std::string> pnames = core_property_names ();
6931 
6932  return pnames.find (pname) != pnames.end ();
6933 }
6934 
6935 std::set<std::string>
6937 {
6938  static std::set<std::string> all_pnames;
6939 
6940  static bool initialized = false;
6941 
6942  if (! initialized)
6943  {
6944  all_pnames.insert ("extent");
6945 
6946  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
6947  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
6948 
6949  initialized = true;
6950  }
6951 
6952  return all_pnames;
6953 }
6954 
6955 bool
6957 {
6958  std::set<std::string> pnames = readonly_property_names ();
6959 
6960  return pnames.find (pname) != pnames.end ();
6961 }
6962 
6963 std::set<std::string>
6965 {
6966  static std::set<std::string> all_pnames = core_property_names ();
6967 
6968  std::set<std::string> retval = all_pnames;
6969  std::set<std::string> base_props = base_properties::all_property_names ();
6970  retval.insert (base_props.begin (), base_props.end ());
6971 
6972  return retval;
6973 }
6974 
6975 bool
6977 {
6978  std::set<std::string> pnames = all_property_names ();
6979 
6980  return pnames.find (pname) != pnames.end ();
6981 }
6982 
6983 // ******** uibuttongroup ********
6984 
6986  : base_properties (go_name, mh, p),
6987  __object__ ("__object__", mh, Matrix ()),
6988  backgroundcolor ("backgroundcolor", mh, color_values (1, 1, 1)),
6989  bordertype ("bordertype", mh, "none|{etchedin}|etchedout|beveledin|beveledout|line"),
6990  borderwidth ("borderwidth", mh, 1),
6991  clipping ("clipping", mh, "on"),
6992  fontangle ("fontangle", mh, "{normal}|italic|oblique"),
6993  fontname ("fontname", mh, OCTAVE_DEFAULT_FONTNAME),
6994  fontsize ("fontsize", mh, 10),
6995  fontunits ("fontunits", mh, "inches|centimeters|normalized|{points}|pixels"),
6996  fontweight ("fontweight", mh, "light|{normal}|demi|bold"),
6997  foregroundcolor ("foregroundcolor", mh, color_values (0, 0, 0)),
6998  highlightcolor ("highlightcolor", mh, color_values (1, 1, 1)),
6999  position ("position", mh, default_panel_position ()),
7000  resizefcn ("resizefcn", mh, Matrix ()),
7001  selectedobject ("selectedobject", mh, graphics_handle()),
7002  selectionchangedfcn ("selectionchangedfcn", mh, Matrix()),
7003  shadowcolor ("shadowcolor", mh, color_values (0, 0, 0)),
7004  sizechangedfcn ("sizechangedfcn", mh, Matrix ()),
7005  units ("units", mh, "{normalized}|inches|centimeters|points|pixels|characters"),
7006  title ("title", mh, ""),
7007  titleposition ("titleposition", mh, "{lefttop}|centertop|righttop|leftbottom|centerbottom|rightbottom")
7008 {
7010  __object__.set_hidden (true);
7028  units.set_id (ID_UNITS);
7029  title.set_id (ID_TITLE);
7031  init ();
7032 }
7033 
7034 void
7036 {
7037  const std::set<std::string>& pnames = all_property_names ();
7038 
7039  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
7040 
7041  if (has_readonly_property (pname))
7042  {
7043  error ("set: \"%s\" is read-only", pname.c_str ());
7044  return;
7045  }
7046 
7047  if (pname.compare ("__object__"))
7048  set___object__ (val);
7049  else if (pname.compare ("backgroundcolor"))
7050  set_backgroundcolor (val);
7051  else if (pname.compare ("bordertype"))
7052  set_bordertype (val);
7053  else if (pname.compare ("borderwidth"))
7054  set_borderwidth (val);
7055  else if (pname.compare ("clipping"))
7056  set_clipping (val);
7057  else if (pname.compare ("fontangle"))
7058  set_fontangle (val);
7059  else if (pname.compare ("fontname"))
7060  set_fontname (val);
7061  else if (pname.compare ("fontsize"))
7062  set_fontsize (val);
7063  else if (pname.compare ("fontunits"))
7064  set_fontunits (val);
7065  else if (pname.compare ("fontweight"))
7066  set_fontweight (val);
7067  else if (pname.compare ("foregroundcolor"))
7068  set_foregroundcolor (val);
7069  else if (pname.compare ("highlightcolor"))
7070  set_highlightcolor (val);
7071  else if (pname.compare ("position"))
7072  set_position (val);
7073  else if (pname.compare ("resizefcn"))
7074  set_resizefcn (val);
7075  else if (pname.compare ("selectedobject"))
7076  set_selectedobject (val);
7077  else if (pname.compare ("selectionchangedfcn"))
7078  set_selectionchangedfcn (val);
7079  else if (pname.compare ("shadowcolor"))
7080  set_shadowcolor (val);
7081  else if (pname.compare ("sizechangedfcn"))
7082  set_sizechangedfcn (val);
7083  else if (pname.compare ("units"))
7084  set_units (val);
7085  else if (pname.compare ("title"))
7086  set_title (val);
7087  else if (pname.compare ("titleposition"))
7088  set_titleposition (val);
7089  else
7090  base_properties::set (pname, val);
7091 }
7092 
7095 {
7097 
7098  if (all)
7099  m.assign ("__object__", octave_value (get___object__ ()));
7100  m.assign ("backgroundcolor", octave_value (get_backgroundcolor ()));
7101  m.assign ("bordertype", octave_value (get_bordertype ()));
7102  m.assign ("borderwidth", octave_value (get_borderwidth ()));
7103  m.assign ("clipping", octave_value (get_clipping ()));
7104  m.assign ("fontangle", octave_value (get_fontangle ()));
7105  m.assign ("fontname", octave_value (get_fontname ()));
7106  m.assign ("fontsize", octave_value (get_fontsize ()));
7107  m.assign ("fontunits", octave_value (get_fontunits ()));
7108  m.assign ("fontweight", octave_value (get_fontweight ()));
7109  m.assign ("foregroundcolor", octave_value (get_foregroundcolor ()));
7110  m.assign ("highlightcolor", octave_value (get_highlightcolor ()));
7111  m.assign ("position", octave_value (get_position ()));
7112  m.assign ("resizefcn", octave_value (get_resizefcn ()));
7113  m.assign ("selectedobject", octave_value (get_selectedobject ().as_octave_value ()));
7114  m.assign ("selectionchangedfcn", octave_value (get_selectionchangedfcn ()));
7115  m.assign ("shadowcolor", octave_value (get_shadowcolor ()));
7116  m.assign ("sizechangedfcn", octave_value (get_sizechangedfcn ()));
7117  m.assign ("units", octave_value (get_units ()));
7118  m.assign ("title", octave_value (get_title ()));
7119  m.assign ("titleposition", octave_value (get_titleposition ()));
7120 
7121  return m;
7122 }
7123 
7126 {
7128 
7129  const std::set<std::string>& pnames = all_property_names ();
7130 
7131  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7132 
7133  if (pname.compare ("__object__"))
7134  retval = get___object__ ();
7135  else if (pname.compare ("backgroundcolor"))
7136  retval = get_backgroundcolor ();
7137  else if (pname.compare ("bordertype"))
7138  retval = get_bordertype ();
7139  else if (pname.compare ("borderwidth"))
7140  retval = get_borderwidth ();
7141  else if (pname.compare ("clipping"))
7142  retval = get_clipping ();
7143  else if (pname.compare ("fontangle"))
7144  retval = get_fontangle ();
7145  else if (pname.compare ("fontname"))
7146  retval = get_fontname ();
7147  else if (pname.compare ("fontsize"))
7148  retval = get_fontsize ();
7149  else if (pname.compare ("fontunits"))
7150  retval = get_fontunits ();
7151  else if (pname.compare ("fontweight"))
7152  retval = get_fontweight ();
7153  else if (pname.compare ("foregroundcolor"))
7154  retval = get_foregroundcolor ();
7155  else if (pname.compare ("highlightcolor"))
7156  retval = get_highlightcolor ();
7157  else if (pname.compare ("position"))
7158  retval = get_position ();
7159  else if (pname.compare ("resizefcn"))
7160  retval = get_resizefcn ();
7161  else if (pname.compare ("selectedobject"))
7162  retval = get_selectedobject ().as_octave_value ();
7163  else if (pname.compare ("selectionchangedfcn"))
7164  retval = get_selectionchangedfcn ();
7165  else if (pname.compare ("shadowcolor"))
7166  retval = get_shadowcolor ();
7167  else if (pname.compare ("sizechangedfcn"))
7168  retval = get_sizechangedfcn ();
7169  else if (pname.compare ("units"))
7170  retval = get_units ();
7171  else if (pname.compare ("title"))
7172  retval = get_title ();
7173  else if (pname.compare ("titleposition"))
7174  retval = get_titleposition ();
7175  else
7176  retval = base_properties::get (pname);
7177 
7178  return retval;
7179 }
7180 
7181 property
7183 {
7184  const std::set<std::string>& pnames = all_property_names ();
7185 
7186  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7187 
7188  if (pname.compare ("__object__"))
7189  return property (&__object__, true);
7190  else if (pname.compare ("backgroundcolor"))
7191  return property (&backgroundcolor, true);
7192  else if (pname.compare ("bordertype"))
7193  return property (&bordertype, true);
7194  else if (pname.compare ("borderwidth"))
7195  return property (&borderwidth, true);
7196  else if (pname.compare ("clipping"))
7197  return property (&clipping, true);
7198  else if (pname.compare ("fontangle"))
7199  return property (&fontangle, true);
7200  else if (pname.compare ("fontname"))
7201  return property (&fontname, true);
7202  else if (pname.compare ("fontsize"))
7203  return property (&fontsize, true);
7204  else if (pname.compare ("fontunits"))
7205  return property (&fontunits, true);
7206  else if (pname.compare ("fontweight"))
7207  return property (&fontweight, true);
7208  else if (pname.compare ("foregroundcolor"))
7209  return property (&foregroundcolor, true);
7210  else if (pname.compare ("highlightcolor"))
7211  return property (&highlightcolor, true);
7212  else if (pname.compare ("position"))
7213  return property (&position, true);
7214  else if (pname.compare ("resizefcn"))
7215  return property (&resizefcn, true);
7216  else if (pname.compare ("selectedobject"))
7217  return property (&selectedobject, true);
7218  else if (pname.compare ("selectionchangedfcn"))
7219  return property (&selectionchangedfcn, true);
7220  else if (pname.compare ("shadowcolor"))
7221  return property (&shadowcolor, true);
7222  else if (pname.compare ("sizechangedfcn"))
7223  return property (&sizechangedfcn, true);
7224  else if (pname.compare ("units"))
7225  return property (&units, true);
7226  else if (pname.compare ("title"))
7227  return property (&title, true);
7228  else if (pname.compare ("titleposition"))
7229  return property (&titleposition, true);
7230  else
7231  return base_properties::get_property (pname);
7232 }
7233 
7236 {
7238 
7239  m["__object__"] = Matrix ();
7240  m["backgroundcolor"] = color_values (1, 1, 1);
7241  m["bordertype"] = "etchedin";
7242  m["borderwidth"] = 1;
7243  m["clipping"] = "on";
7244  m["fontangle"] = "normal";
7245  m["fontname"] = OCTAVE_DEFAULT_FONTNAME;
7246  m["fontsize"] = 10;
7247  m["fontunits"] = "points";
7248  m["fontweight"] = "normal";
7249  m["foregroundcolor"] = color_values (0, 0, 0);
7250  m["highlightcolor"] = color_values (1, 1, 1);
7251  m["position"] = default_panel_position ();
7252  m["resizefcn"] = Matrix ();
7253  m["selectedobject"] = graphics_handle().as_octave_value ();
7254  m["selectionchangedfcn"] = Matrix();
7255  m["shadowcolor"] = color_values (0, 0, 0);
7256  m["sizechangedfcn"] = Matrix ();
7257  m["units"] = "normalized";
7258  m["title"] = "";
7259  m["titleposition"] = "lefttop";
7260 
7261  return m;
7262 }
7263 
7265 
7266 std::set<std::string>
7268 {
7269  static std::set<std::string> all_pnames;
7270 
7271  static bool initialized = false;
7272 
7273  if (! initialized)
7274  {
7275  all_pnames.insert ("__object__");
7276  all_pnames.insert ("backgroundcolor");
7277  all_pnames.insert ("bordertype");
7278  all_pnames.insert ("borderwidth");
7279  all_pnames.insert ("clipping");
7280  all_pnames.insert ("fontangle");
7281  all_pnames.insert ("fontname");
7282  all_pnames.insert ("fontsize");
7283  all_pnames.insert ("fontunits");
7284  all_pnames.insert ("fontweight");
7285  all_pnames.insert ("foregroundcolor");
7286  all_pnames.insert ("highlightcolor");
7287  all_pnames.insert ("position");
7288  all_pnames.insert ("resizefcn");
7289  all_pnames.insert ("selectedobject");
7290  all_pnames.insert ("selectionchangedfcn");
7291  all_pnames.insert ("shadowcolor");
7292  all_pnames.insert ("sizechangedfcn");
7293  all_pnames.insert ("units");
7294  all_pnames.insert ("title");
7295  all_pnames.insert ("titleposition");
7296 
7297  std::set<std::string> base_pnames = base_properties::core_property_names ();
7298  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7299 
7300  initialized = true;
7301  }
7302 
7303  return all_pnames;
7304 }
7305 
7306 bool
7308 {
7309  std::set<std::string> pnames = core_property_names ();
7310 
7311  return pnames.find (pname) != pnames.end ();
7312 }
7313 
7314 std::set<std::string>
7316 {
7317  static std::set<std::string> all_pnames;
7318 
7319  static bool initialized = false;
7320 
7321  if (! initialized)
7322  {
7323 
7324  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
7325  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7326 
7327  initialized = true;
7328  }
7329 
7330  return all_pnames;
7331 }
7332 
7333 bool
7335 {
7336  std::set<std::string> pnames = readonly_property_names ();
7337 
7338  return pnames.find (pname) != pnames.end ();
7339 }
7340 
7341 std::set<std::string>
7343 {
7344  static std::set<std::string> all_pnames = core_property_names ();
7345 
7346  std::set<std::string> retval = all_pnames;
7347  std::set<std::string> base_props = base_properties::all_property_names ();
7348  retval.insert (base_props.begin (), base_props.end ());
7349 
7350  return retval;
7351 }
7352 
7353 bool
7355 {
7356  std::set<std::string> pnames = all_property_names ();
7357 
7358  return pnames.find (pname) != pnames.end ();
7359 }
7360 
7361 // ******** uipanel ********
7362 
7364  : base_properties (go_name, mh, p),
7365  __object__ ("__object__", mh, Matrix ()),
7366  backgroundcolor ("backgroundcolor", mh, color_values (1, 1, 1)),
7367  bordertype ("bordertype", mh, "none|{etchedin}|etchedout|beveledin|beveledout|line"),
7368  borderwidth ("borderwidth", mh, 1),
7369  fontangle ("fontangle", mh, "{normal}|italic|oblique"),
7370  fontname ("fontname", mh, OCTAVE_DEFAULT_FONTNAME),
7371  fontsize ("fontsize", mh, 10),
7372  fontunits ("fontunits", mh, "inches|centimeters|normalized|{points}|pixels"),
7373  fontweight ("fontweight", mh, "light|{normal}|demi|bold"),
7374  foregroundcolor ("foregroundcolor", mh, color_values (0, 0, 0)),
7375  highlightcolor ("highlightcolor", mh, color_values (1, 1, 1)),
7376  position ("position", mh, default_panel_position ()),
7377  resizefcn ("resizefcn", mh, Matrix ()),
7378  shadowcolor ("shadowcolor", mh, color_values (0, 0, 0)),
7379  title ("title", mh, ""),
7380  titleposition ("titleposition", mh, "{lefttop}|centertop|righttop|leftbottom|centerbottom|rightbottom"),
7381  units ("units", mh, "{normalized}|inches|centimeters|points|pixels|characters")
7382 {
7384  __object__.set_hidden (true);
7398  title.set_id (ID_TITLE);
7400  units.set_id (ID_UNITS);
7401  init ();
7402 }
7403 
7404 void
7406 {
7407  const std::set<std::string>& pnames = all_property_names ();
7408 
7409  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
7410 
7411  if (has_readonly_property (pname))
7412  {
7413  error ("set: \"%s\" is read-only", pname.c_str ());
7414  return;
7415  }
7416 
7417  if (pname.compare ("__object__"))
7418  set___object__ (val);
7419  else if (pname.compare ("backgroundcolor"))
7420  set_backgroundcolor (val);
7421  else if (pname.compare ("bordertype"))
7422  set_bordertype (val);
7423  else if (pname.compare ("borderwidth"))
7424  set_borderwidth (val);
7425  else if (pname.compare ("fontangle"))
7426  set_fontangle (val);
7427  else if (pname.compare ("fontname"))
7428  set_fontname (val);
7429  else if (pname.compare ("fontsize"))
7430  set_fontsize (val);
7431  else if (pname.compare ("fontunits"))
7432  set_fontunits (val);
7433  else if (pname.compare ("fontweight"))
7434  set_fontweight (val);
7435  else if (pname.compare ("foregroundcolor"))
7436  set_foregroundcolor (val);
7437  else if (pname.compare ("highlightcolor"))
7438  set_highlightcolor (val);
7439  else if (pname.compare ("position"))
7440  set_position (val);
7441  else if (pname.compare ("resizefcn"))
7442  set_resizefcn (val);
7443  else if (pname.compare ("shadowcolor"))
7444  set_shadowcolor (val);
7445  else if (pname.compare ("title"))
7446  set_title (val);
7447  else if (pname.compare ("titleposition"))
7448  set_titleposition (val);
7449  else if (pname.compare ("units"))
7450  set_units (val);
7451  else
7452  base_properties::set (pname, val);
7453 }
7454 
7457 {
7459 
7460  if (all)
7461  m.assign ("__object__", octave_value (get___object__ ()));
7462  m.assign ("backgroundcolor", octave_value (get_backgroundcolor ()));
7463  m.assign ("bordertype", octave_value (get_bordertype ()));
7464  m.assign ("borderwidth", octave_value (get_borderwidth ()));
7465  m.assign ("fontangle", octave_value (get_fontangle ()));
7466  m.assign ("fontname", octave_value (get_fontname ()));
7467  m.assign ("fontsize", octave_value (get_fontsize ()));
7468  m.assign ("fontunits", octave_value (get_fontunits ()));
7469  m.assign ("fontweight", octave_value (get_fontweight ()));
7470  m.assign ("foregroundcolor", octave_value (get_foregroundcolor ()));
7471  m.assign ("highlightcolor", octave_value (get_highlightcolor ()));
7472  m.assign ("position", octave_value (get_position ()));
7473  m.assign ("resizefcn", octave_value (get_resizefcn ()));
7474  m.assign ("shadowcolor", octave_value (get_shadowcolor ()));
7475  m.assign ("title", octave_value (get_title ()));
7476  m.assign ("titleposition", octave_value (get_titleposition ()));
7477  m.assign ("units", octave_value (get_units ()));
7478 
7479  return m;
7480 }
7481 
7483 uipanel::properties::get (const caseless_str& pname_arg) const
7484 {
7486 
7487  const std::set<std::string>& pnames = all_property_names ();
7488 
7489  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7490 
7491  if (pname.compare ("__object__"))
7492  retval = get___object__ ();
7493  else if (pname.compare ("backgroundcolor"))
7494  retval = get_backgroundcolor ();
7495  else if (pname.compare ("bordertype"))
7496  retval = get_bordertype ();
7497  else if (pname.compare ("borderwidth"))
7498  retval = get_borderwidth ();
7499  else if (pname.compare ("fontangle"))
7500  retval = get_fontangle ();
7501  else if (pname.compare ("fontname"))
7502  retval = get_fontname ();
7503  else if (pname.compare ("fontsize"))
7504  retval = get_fontsize ();
7505  else if (pname.compare ("fontunits"))
7506  retval = get_fontunits ();
7507  else if (pname.compare ("fontweight"))
7508  retval = get_fontweight ();
7509  else if (pname.compare ("foregroundcolor"))
7510  retval = get_foregroundcolor ();
7511  else if (pname.compare ("highlightcolor"))
7512  retval = get_highlightcolor ();
7513  else if (pname.compare ("position"))
7514  retval = get_position ();
7515  else if (pname.compare ("resizefcn"))
7516  retval = get_resizefcn ();
7517  else if (pname.compare ("shadowcolor"))
7518  retval = get_shadowcolor ();
7519  else if (pname.compare ("title"))
7520  retval = get_title ();
7521  else if (pname.compare ("titleposition"))
7522  retval = get_titleposition ();
7523  else if (pname.compare ("units"))
7524  retval = get_units ();
7525  else
7526  retval = base_properties::get (pname);
7527 
7528  return retval;
7529 }
7530 
7531 property
7533 {
7534  const std::set<std::string>& pnames = all_property_names ();
7535 
7536  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7537 
7538  if (pname.compare ("__object__"))
7539  return property (&__object__, true);
7540  else if (pname.compare ("backgroundcolor"))
7541  return property (&backgroundcolor, true);
7542  else if (pname.compare ("bordertype"))
7543  return property (&bordertype, true);
7544  else if (pname.compare ("borderwidth"))
7545  return property (&borderwidth, true);
7546  else if (pname.compare ("fontangle"))
7547  return property (&fontangle, true);
7548  else if (pname.compare ("fontname"))
7549  return property (&fontname, true);
7550  else if (pname.compare ("fontsize"))
7551  return property (&fontsize, true);
7552  else if (pname.compare ("fontunits"))
7553  return property (&fontunits, true);
7554  else if (pname.compare ("fontweight"))
7555  return property (&fontweight, true);
7556  else if (pname.compare ("foregroundcolor"))
7557  return property (&foregroundcolor, true);
7558  else if (pname.compare ("highlightcolor"))
7559  return property (&highlightcolor, true);
7560  else if (pname.compare ("position"))
7561  return property (&position, true);
7562  else if (pname.compare ("resizefcn"))
7563  return property (&resizefcn, true);
7564  else if (pname.compare ("shadowcolor"))
7565  return property (&shadowcolor, true);
7566  else if (pname.compare ("title"))
7567  return property (&title, true);
7568  else if (pname.compare ("titleposition"))
7569  return property (&titleposition, true);
7570  else if (pname.compare ("units"))
7571  return property (&units, true);
7572  else
7573  return base_properties::get_property (pname);
7574 }
7575 
7578 {
7580 
7581  m["__object__"] = Matrix ();
7582  m["backgroundcolor"] = color_values (1, 1, 1);
7583  m["bordertype"] = "etchedin";
7584  m["borderwidth"] = 1;
7585  m["fontangle"] = "normal";
7586  m["fontname"] = OCTAVE_DEFAULT_FONTNAME;
7587  m["fontsize"] = 10;
7588  m["fontunits"] = "points";
7589  m["fontweight"] = "normal";
7590  m["foregroundcolor"] = color_values (0, 0, 0);
7591  m["highlightcolor"] = color_values (1, 1, 1);
7592  m["position"] = default_panel_position ();
7593  m["resizefcn"] = Matrix ();
7594  m["shadowcolor"] = color_values (0, 0, 0);
7595  m["title"] = "";
7596  m["titleposition"] = "lefttop";
7597  m["units"] = "normalized";
7598 
7599  return m;
7600 }
7601 
7603 
7604 std::set<std::string>
7606 {
7607  static std::set<std::string> all_pnames;
7608 
7609  static bool initialized = false;
7610 
7611  if (! initialized)
7612  {
7613  all_pnames.insert ("__object__");
7614  all_pnames.insert ("backgroundcolor");
7615  all_pnames.insert ("bordertype");
7616  all_pnames.insert ("borderwidth");
7617  all_pnames.insert ("fontangle");
7618  all_pnames.insert ("fontname");
7619  all_pnames.insert ("fontsize");
7620  all_pnames.insert ("fontunits");
7621  all_pnames.insert ("fontweight");
7622  all_pnames.insert ("foregroundcolor");
7623  all_pnames.insert ("highlightcolor");
7624  all_pnames.insert ("position");
7625  all_pnames.insert ("resizefcn");
7626  all_pnames.insert ("shadowcolor");
7627  all_pnames.insert ("title");
7628  all_pnames.insert ("titleposition");
7629  all_pnames.insert ("units");
7630 
7631  std::set<std::string> base_pnames = base_properties::core_property_names ();
7632  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7633 
7634  initialized = true;
7635  }
7636 
7637  return all_pnames;
7638 }
7639 
7640 bool
7642 {
7643  std::set<std::string> pnames = core_property_names ();
7644 
7645  return pnames.find (pname) != pnames.end ();
7646 }
7647 
7648 std::set<std::string>
7650 {
7651  static std::set<std::string> all_pnames;
7652 
7653  static bool initialized = false;
7654 
7655  if (! initialized)
7656  {
7657 
7658  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
7659  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7660 
7661  initialized = true;
7662  }
7663 
7664  return all_pnames;
7665 }
7666 
7667 bool
7669 {
7670  std::set<std::string> pnames = readonly_property_names ();
7671 
7672  return pnames.find (pname) != pnames.end ();
7673 }
7674 
7675 std::set<std::string>
7677 {
7678  static std::set<std::string> all_pnames = core_property_names ();
7679 
7680  std::set<std::string> retval = all_pnames;
7681  std::set<std::string> base_props = base_properties::all_property_names ();
7682  retval.insert (base_props.begin (), base_props.end ());
7683 
7684  return retval;
7685 }
7686 
7687 bool
7689 {
7690  std::set<std::string> pnames = all_property_names ();
7691 
7692  return pnames.find (pname) != pnames.end ();
7693 }
7694 
7695 // ******** uitoolbar ********
7696 
7698  : base_properties (go_name, mh, p),
7699  __object__ ("__object__", mh, Matrix ())
7700 {
7702  __object__.set_hidden (true);
7703  init ();
7704 }
7705 
7706 void
7708 {
7709  const std::set<std::string>& pnames = all_property_names ();
7710 
7711  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
7712 
7713  if (has_readonly_property (pname))
7714  {
7715  error ("set: \"%s\" is read-only", pname.c_str ());
7716  return;
7717  }
7718 
7719  if (pname.compare ("__object__"))
7720  set___object__ (val);
7721  else
7722  base_properties::set (pname, val);
7723 }
7724 
7727 {
7729 
7730  if (all)
7731  m.assign ("__object__", octave_value (get___object__ ()));
7732 
7733  return m;
7734 }
7735 
7738 {
7740 
7741  const std::set<std::string>& pnames = all_property_names ();
7742 
7743  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7744 
7745  if (pname.compare ("__object__"))
7746  retval = get___object__ ();
7747  else
7748  retval = base_properties::get (pname);
7749 
7750  return retval;
7751 }
7752 
7753 property
7755 {
7756  const std::set<std::string>& pnames = all_property_names ();
7757 
7758  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7759 
7760  if (pname.compare ("__object__"))
7761  return property (&__object__, true);
7762  else
7763  return base_properties::get_property (pname);
7764 }
7765 
7768 {
7770 
7771  m["__object__"] = Matrix ();
7772 
7773  return m;
7774 }
7775 
7777 
7778 std::set<std::string>
7780 {
7781  static std::set<std::string> all_pnames;
7782 
7783  static bool initialized = false;
7784 
7785  if (! initialized)
7786  {
7787  all_pnames.insert ("__object__");
7788 
7789  std::set<std::string> base_pnames = base_properties::core_property_names ();
7790  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7791 
7792  initialized = true;
7793  }
7794 
7795  return all_pnames;
7796 }
7797 
7798 bool
7800 {
7801  std::set<std::string> pnames = core_property_names ();
7802 
7803  return pnames.find (pname) != pnames.end ();
7804 }
7805 
7806 std::set<std::string>
7808 {
7809  static std::set<std::string> all_pnames;
7810 
7811  static bool initialized = false;
7812 
7813  if (! initialized)
7814  {
7815 
7816  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
7817  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
7818 
7819  initialized = true;
7820  }
7821 
7822  return all_pnames;
7823 }
7824 
7825 bool
7827 {
7828  std::set<std::string> pnames = readonly_property_names ();
7829 
7830  return pnames.find (pname) != pnames.end ();
7831 }
7832 
7833 std::set<std::string>
7835 {
7836  static std::set<std::string> all_pnames = core_property_names ();
7837 
7838  std::set<std::string> retval = all_pnames;
7839  std::set<std::string> base_props = base_properties::all_property_names ();
7840  retval.insert (base_props.begin (), base_props.end ());
7841 
7842  return retval;
7843 }
7844 
7845 bool
7847 {
7848  std::set<std::string> pnames = all_property_names ();
7849 
7850  return pnames.find (pname) != pnames.end ();
7851 }
7852 
7853 // ******** uipushtool ********
7854 
7856  : base_properties (go_name, mh, p),
7857  __object__ ("__object__", mh, Matrix ()),
7858  cdata ("cdata", mh, Matrix ()),
7859  clickedcallback ("clickedcallback", mh, Matrix ()),
7860  enable ("enable", mh, "on"),
7861  separator ("separator", mh, "off"),
7862  tooltipstring ("tooltipstring", mh, "")
7863 {
7865  __object__.set_hidden (true);
7866  cdata.set_id (ID_CDATA);
7871  init ();
7872 }
7873 
7874 void
7876 {
7877  const std::set<std::string>& pnames = all_property_names ();
7878 
7879  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
7880 
7881  if (has_readonly_property (pname))
7882  {
7883  error ("set: \"%s\" is read-only", pname.c_str ());
7884  return;
7885  }
7886 
7887  if (pname.compare ("__object__"))
7888  set___object__ (val);
7889  else if (pname.compare ("cdata"))
7890  set_cdata (val);
7891  else if (pname.compare ("clickedcallback"))
7892  set_clickedcallback (val);
7893  else if (pname.compare ("enable"))
7894  set_enable (val);
7895  else if (pname.compare ("separator"))
7896  set_separator (val);
7897  else if (pname.compare ("tooltipstring"))
7898  set_tooltipstring (val);
7899  else
7900  base_properties::set (pname, val);
7901 }
7902 
7905 {
7907 
7908  if (all)
7909  m.assign ("__object__", octave_value (get___object__ ()));
7910  m.assign ("cdata", octave_value (get_cdata ()));
7911  m.assign ("clickedcallback", octave_value (get_clickedcallback ()));
7912  m.assign ("enable", octave_value (get_enable ()));
7913  m.assign ("separator", octave_value (get_separator ()));
7914  m.assign ("tooltipstring", octave_value (get_tooltipstring ()));
7915 
7916  return m;
7917 }
7918 
7921 {
7923 
7924  const std::set<std::string>& pnames = all_property_names ();
7925 
7926  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7927 
7928  if (pname.compare ("__object__"))
7929  retval = get___object__ ();
7930  else if (pname.compare ("cdata"))
7931  retval = get_cdata ();
7932  else if (pname.compare ("clickedcallback"))
7933  retval = get_clickedcallback ();
7934  else if (pname.compare ("enable"))
7935  retval = get_enable ();
7936  else if (pname.compare ("separator"))
7937  retval = get_separator ();
7938  else if (pname.compare ("tooltipstring"))
7939  retval = get_tooltipstring ();
7940  else
7941  retval = base_properties::get (pname);
7942 
7943  return retval;
7944 }
7945 
7946 property
7948 {
7949  const std::set<std::string>& pnames = all_property_names ();
7950 
7951  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
7952 
7953  if (pname.compare ("__object__"))
7954  return property (&__object__, true);
7955  else if (pname.compare ("cdata"))
7956  return property (&cdata, true);
7957  else if (pname.compare ("clickedcallback"))
7958  return property (&clickedcallback, true);
7959  else if (pname.compare ("enable"))
7960  return property (&enable, true);
7961  else if (pname.compare ("separator"))
7962  return property (&separator, true);
7963  else if (pname.compare ("tooltipstring"))
7964  return property (&tooltipstring, true);
7965  else
7966  return base_properties::get_property (pname);
7967 }
7968 
7971 {
7973 
7974  m["__object__"] = Matrix ();
7975  m["cdata"] = Matrix ();
7976  m["clickedcallback"] = Matrix ();
7977  m["enable"] = "on";
7978  m["separator"] = "off";
7979  m["tooltipstring"] = "";
7980 
7981  return m;
7982 }
7983 
7985 
7986 std::set<std::string>
7988 {
7989  static std::set<std::string> all_pnames;
7990 
7991  static bool initialized = false;
7992 
7993  if (! initialized)
7994  {
7995  all_pnames.insert ("__object__");
7996  all_pnames.insert ("cdata");
7997  all_pnames.insert ("clickedcallback");
7998  all_pnames.insert ("enable");
7999  all_pnames.insert ("separator");
8000  all_pnames.insert ("tooltipstring");
8001 
8002  std::set<std::string> base_pnames = base_properties::core_property_names ();
8003  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
8004 
8005  initialized = true;
8006  }
8007 
8008  return all_pnames;
8009 }
8010 
8011 bool
8013 {
8014  std::set<std::string> pnames = core_property_names ();
8015 
8016  return pnames.find (pname) != pnames.end ();
8017 }
8018 
8019 std::set<std::string>
8021 {
8022  static std::set<std::string> all_pnames;
8023 
8024  static bool initialized = false;
8025 
8026  if (! initialized)
8027  {
8028 
8029  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
8030  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
8031 
8032  initialized = true;
8033  }
8034 
8035  return all_pnames;
8036 }
8037 
8038 bool
8040 {
8041  std::set<std::string> pnames = readonly_property_names ();
8042 
8043  return pnames.find (pname) != pnames.end ();
8044 }
8045 
8046 std::set<std::string>
8048 {
8049  static std::set<std::string> all_pnames = core_property_names ();
8050 
8051  std::set<std::string> retval = all_pnames;
8052  std::set<std::string> base_props = base_properties::all_property_names ();
8053  retval.insert (base_props.begin (), base_props.end ());
8054 
8055  return retval;
8056 }
8057 
8058 bool
8060 {
8061  std::set<std::string> pnames = all_property_names ();
8062 
8063  return pnames.find (pname) != pnames.end ();
8064 }
8065 
8066 // ******** uitoggletool ********
8067 
8069  : base_properties (go_name, mh, p),
8070  __object__ ("__object__", mh, Matrix ()),
8071  cdata ("cdata", mh, Matrix ()),
8072  clickedcallback ("clickedcallback", mh, Matrix ()),
8073  enable ("enable", mh, "on"),
8074  offcallback ("offcallback", mh, Matrix ()),
8075  oncallback ("oncallback", mh, Matrix ()),
8076  separator ("separator", mh, "off"),
8077  state ("state", mh, "off"),
8078  tooltipstring ("tooltipstring", mh, "")
8079 {
8081  __object__.set_hidden (true);
8082  cdata.set_id (ID_CDATA);
8088  state.set_id (ID_STATE);
8090  init ();
8091 }
8092 
8093 void
8095 {
8096  const std::set<std::string>& pnames = all_property_names ();
8097 
8098  caseless_str pname = validate_property_name ("set", go_name, pnames, pname_arg);
8099 
8100  if (has_readonly_property (pname))
8101  {
8102  error ("set: \"%s\" is read-only", pname.c_str ());
8103  return;
8104  }
8105 
8106  if (pname.compare ("__object__"))
8107  set___object__ (val);
8108  else if (pname.compare ("cdata"))
8109  set_cdata (val);
8110  else if (pname.compare ("clickedcallback"))
8111  set_clickedcallback (val);
8112  else if (pname.compare ("enable"))
8113  set_enable (val);
8114  else if (pname.compare ("offcallback"))
8115  set_offcallback (val);
8116  else if (pname.compare ("oncallback"))
8117  set_oncallback (val);
8118  else if (pname.compare ("separator"))
8119  set_separator (val);
8120  else if (pname.compare ("state"))
8121  set_state (val);
8122  else if (pname.compare ("tooltipstring"))
8123  set_tooltipstring (val);
8124  else
8125  base_properties::set (pname, val);
8126 }
8127 
8130 {
8132 
8133  if (all)
8134  m.assign ("__object__", octave_value (get___object__ ()));
8135  m.assign ("cdata", octave_value (get_cdata ()));
8136  m.assign ("clickedcallback", octave_value (get_clickedcallback ()));
8137  m.assign ("enable", octave_value (get_enable ()));
8138  m.assign ("offcallback", octave_value (get_offcallback ()));
8139  m.assign ("oncallback", octave_value (get_oncallback ()));
8140  m.assign ("separator", octave_value (get_separator ()));
8141  m.assign ("state", octave_value (get_state ()));
8142  m.assign ("tooltipstring", octave_value (get_tooltipstring ()));
8143 
8144  return m;
8145 }
8146 
8149 {
8151 
8152  const std::set<std::string>& pnames = all_property_names ();
8153 
8154  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
8155 
8156  if (pname.compare ("__object__"))
8157  retval = get___object__ ();
8158  else if (pname.compare ("cdata"))
8159  retval = get_cdata ();
8160  else if (pname.compare ("clickedcallback"))
8161  retval = get_clickedcallback ();
8162  else if (pname.compare ("enable"))
8163  retval = get_enable ();
8164  else if (pname.compare ("offcallback"))
8165  retval = get_offcallback ();
8166  else if (pname.compare ("oncallback"))
8167  retval = get_oncallback ();
8168  else if (pname.compare ("separator"))
8169  retval = get_separator ();
8170  else if (pname.compare ("state"))
8171  retval = get_state ();
8172  else if (pname.compare ("tooltipstring"))
8173  retval = get_tooltipstring ();
8174  else
8175  retval = base_properties::get (pname);
8176 
8177  return retval;
8178 }
8179 
8180 property
8182 {
8183  const std::set<std::string>& pnames = all_property_names ();
8184 
8185  caseless_str pname = validate_property_name ("get", go_name, pnames, pname_arg);
8186 
8187  if (pname.compare ("__object__"))
8188  return property (&__object__, true);
8189  else if (pname.compare ("cdata"))
8190  return property (&cdata, true);
8191  else if (pname.compare ("clickedcallback"))
8192  return property (&clickedcallback, true);
8193  else if (pname.compare ("enable"))
8194  return property (&enable, true);
8195  else if (pname.compare ("offcallback"))
8196  return property (&offcallback, true);
8197  else if (pname.compare ("oncallback"))
8198  return property (&oncallback, true);
8199  else if (pname.compare ("separator"))
8200  return property (&separator, true);
8201  else if (pname.compare ("state"))
8202  return property (&state, true);
8203  else if (pname.compare ("tooltipstring"))
8204  return property (&tooltipstring, true);
8205  else
8206  return base_properties::get_property (pname);
8207 }
8208 
8211 {
8213 
8214  m["__object__"] = Matrix ();
8215  m["cdata"] = Matrix ();
8216  m["clickedcallback"] = Matrix ();
8217  m["enable"] = "on";
8218  m["offcallback"] = Matrix ();
8219  m["oncallback"] = Matrix ();
8220  m["separator"] = "off";
8221  m["state"] = "off";
8222  m["tooltipstring"] = "";
8223 
8224  return m;
8225 }
8226 
8228 
8229 std::set<std::string>
8231 {
8232  static std::set<std::string> all_pnames;
8233 
8234  static bool initialized = false;
8235 
8236  if (! initialized)
8237  {
8238  all_pnames.insert ("__object__");
8239  all_pnames.insert ("cdata");
8240  all_pnames.insert ("clickedcallback");
8241  all_pnames.insert ("enable");
8242  all_pnames.insert ("offcallback");
8243  all_pnames.insert ("oncallback");
8244  all_pnames.insert ("separator");
8245  all_pnames.insert ("state");
8246  all_pnames.insert ("tooltipstring");
8247 
8248  std::set<std::string> base_pnames = base_properties::core_property_names ();
8249  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
8250 
8251  initialized = true;
8252  }
8253 
8254  return all_pnames;
8255 }
8256 
8257 bool
8259 {
8260  std::set<std::string> pnames = core_property_names ();
8261 
8262  return pnames.find (pname) != pnames.end ();
8263 }
8264 
8265 std::set<std::string>
8267 {
8268  static std::set<std::string> all_pnames;
8269 
8270  static bool initialized = false;
8271 
8272  if (! initialized)
8273  {
8274 
8275  std::set<std::string> base_pnames = base_properties::readonly_property_names ();
8276  all_pnames.insert (base_pnames.begin (), base_pnames.end ());
8277 
8278  initialized = true;
8279  }
8280 
8281  return all_pnames;
8282 }
8283 
8284 bool
8286 {
8287  std::set<std::string> pnames = readonly_property_names ();
8288 
8289  return pnames.find (pname) != pnames.end ();
8290 }
8291 
8292 std::set<std::string>
8294 {
8295  static std::set<std::string> all_pnames = core_property_names ();
8296 
8297  std::set<std::string> retval = all_pnames;
8298  std::set<std::string> base_props = base_properties::all_property_names ();
8299  retval.insert (base_props.begin (), base_props.end ());
8300 
8301  return retval;
8302 }
8303 
8304 bool
8306 {
8307  std::set<std::string> pnames = all_property_names ();
8308 
8309  return pnames.find (pname) != pnames.end ();
8310 }
8311 
bool_property zliminclude
Definition: graphics.h:7516
bool has_property(const caseless_str &pname) const
static Matrix default_axes_ticklength(void)
Definition: graphics.cc:459
array_property currentpoint
Definition: graphics.h:3869
radio_property fontunits
Definition: graphics.h:7975
bool_property zliminclude
Definition: graphics.h:9393
octave_value get(bool all=false) const
void set_createfcn(const octave_value &val)
Definition: graphics.h:2763
radio_property yticklabelmode
Definition: graphics.h:5245
radio_property sortmethod
Definition: graphics.h:5205
radio_property verticalalignment
Definition: graphics.h:11889
octave_value get(bool all=false) const
static std::set< std::string > core_property_names(void)
std::set< std::string > all_property_names(void) const
row_vector_property ylim
Definition: graphics.h:8677
bool_property enable
Definition: graphics.h:11458
static bool has_readonly_property(const caseless_str &pname)
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:12289
array_property colororder
Definition: graphics.h:5171
static bool has_core_property(const caseless_str &pname)
callback_property clickedcallback
Definition: graphics.h:13284
row_vector_property ylim
Definition: graphics.h:11165
static bool has_core_property(const caseless_str &pname)
bool has_property(const caseless_str &pname) const
string_property tag
Definition: graphics.h:2627
radio_property fontweight
Definition: graphics.h:12371
void set(const caseless_str &pname, const octave_value &val)
#define OCTAVE_DEFAULT_FONTNAME
Definition: graphics.h:53
callback_property keypressfcn
Definition: graphics.h:11878
static std::string go_name
Definition: graphics.h:10232
bool has_property(const caseless_str &pname) const
std::string get_clipping(void) const
Definition: graphics.h:2671
static std::string go_name
Definition: graphics.h:11435
bool_property yliminclude
Definition: graphics.h:8681
row_vector_property zlim
Definition: graphics.h:7513
static Matrix default_screensize(void)
Definition: graphics.cc:222
string_property fontname
Definition: graphics.h:7973
callback_property closerequestfcn
Definition: graphics.h:3863
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:11631
bool has_property(const caseless_str &pname) const
array_property xdata
Definition: graphics.h:10283
row_vector_property zlim
Definition: graphics.h:11166
radio_property activepositionproperty
Definition: graphics.h:5153
radio_property horizontalalignmentmode
Definition: graphics.h:7995
std::string get_busyaction(void) const
Definition: graphics.h:2665
static Matrix default_axes_tick(void)
Definition: graphics.cc:444
octave_value get(bool all=false) const
radio_property verticalalignmentmode
Definition: graphics.h:7996
bool has_property(const caseless_str &pname) const
radio_property interpreter
Definition: graphics.h:7498
row_vector_property xlim
Definition: graphics.h:10291
array_property cdata
Definition: graphics.h:13473
void set(const caseless_str &pname, const octave_value &val)
std::set< std::string > all_property_names(void) const
radio_property bordertype
Definition: graphics.h:12364
radio_property toolbar
Definition: graphics.h:3898
static double default_screenpixelsperinch(void)
Definition: graphics.cc:235
bool_property clipping
Definition: graphics.h:11868
radio_property zscale
Definition: graphics.h:5257
static caseless_str validate_property_name(const std::string &who, const std::string &what, const std::set< std::string > &pnames, const caseless_str &pname)
Definition: graphics.cc:78
static Matrix default_axes_outerposition(void)
Definition: graphics.cc:420
radio_property ticklabelinterpreter
Definition: graphics.h:5208
radio_property alimmode
Definition: graphics.h:5155
static Matrix default_axes_view(void)
Definition: graphics.cc:433
row_vector_property zlim
Definition: graphics.h:9388
double_radio_property edgealpha
Definition: graphics.h:9355
static std::string go_name
Definition: graphics.h:11845
bool_property numbertitle
Definition: graphics.h:3880
any_property __object__
Definition: graphics.h:12771
bool_property zminorgrid
Definition: graphics.h:5255
bool_property separator
Definition: graphics.h:11462
void set_selected(const octave_value &val)
Definition: graphics.h:2813
radio_property zdir
Definition: graphics.h:5250
callback_property buttondownfcn
Definition: graphics.h:3862
octave_value get(bool all=false) const
radio_property minorgridlinestyle
Definition: graphics.h:5197
string_property fontname
Definition: graphics.h:11872
double_property linewidth
Definition: graphics.h:7980
base_properties(const std::string &ty="unknown", const graphics_handle &mh=graphics_handle(), const graphics_handle &p=graphics_handle())
bool_property xliminclude
Definition: graphics.h:7990
row_vector_property ytick
Definition: graphics.h:5243
radio_property zlimmode
Definition: graphics.h:5254
row_vector_property value
Definition: graphics.h:11888
virtual property get_property(const caseless_str &pname)
static Matrix default_control_sliderstep(void)
Definition: graphics.cc:520
row_vector_property alim
Definition: graphics.h:10289
bool_property xminorgrid
Definition: graphics.h:5224
static std::string go_name
Definition: graphics.h:3428
static property_list::pval_map_type factory_defaults(void)
double_property specularcolorreflectance
Definition: graphics.h:10278
radio_property fontweight
Definition: graphics.h:11875
bool_property box
Definition: graphics.h:5157
static std::set< std::string > core_property_names(void)
bool_property xliminclude
Definition: graphics.h:11169
void assign(const std::string &k, const Cell &val)
Definition: oct-map.h:347
radio_property vertexnormalsmode
Definition: graphics.h:10282
static Matrix default_figure_paperposition(void)
Definition: graphics.cc:494
double_property markersize
Definition: graphics.h:9373
static Matrix default_patch_xdata(void)
Definition: graphics.cc:387
color_property ycolor
Definition: graphics.h:5233
bool_property aliminclude
Definition: graphics.h:11167
double_property fontsize_points
Definition: graphics.h:5274
radio_property windowstyle
Definition: graphics.h:3906
static property_list::pval_map_type factory_defaults(void)
static property_list::pval_map_type factory_defaults(void)
property get_property(const caseless_str &pname)
any_property __object__
Definition: graphics.h:13472
double_property minorgridalpha
Definition: graphics.h:5193
double_property markersize
Definition: graphics.h:7504
static Matrix default_data(void)
Definition: graphics.cc:295
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:4839
string_property __gl_renderer__
Definition: graphics.h:3908
void set(const caseless_str &pname, const octave_value &val)
std::set< std::string > all_property_names(void) const
row_vector_property zlim
Definition: graphics.h:5253
radio_property alphadatamapping
Definition: graphics.h:9348
octave_value get_buttondownfcn(void) const
Definition: graphics.h:2668
void set_selectionhighlight(const octave_value &val)
Definition: graphics.h:2823
array_property facenormals
Definition: graphics.h:10267
bool_property aliminclude
Definition: graphics.h:9389
color_property backgroundcolor
Definition: graphics.h:12772
bool_property interruptible
Definition: graphics.h:2623
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:13211
radio_property erasemode
Definition: graphics.h:7497
static Matrix default_patch_ydata(void)
Definition: graphics.cc:397
double_property screendepth
Definition: graphics.h:3454
std::string get_type(void) const
Definition: graphics.h:2698
row_vector_property zlim
Definition: graphics.h:7989
string_property xvisual
Definition: graphics.h:3923
identity matrix If supplied two scalar respectively For allows like xample val
Definition: data.cc:5068
static std::string go_name
Definition: graphics.h:11690
array_property sliderstep
Definition: graphics.h:11883
callback_property oncallback
Definition: graphics.h:13477
array_property ydata
Definition: graphics.h:9382
color_property edgecolor
Definition: graphics.h:9356
std::set< std::string > all_property_names(void) const
octave_map map_value(void) const
Definition: ov.cc:1693
row_vector_property zmtick
Definition: graphics.h:5273
row_vector_property xlim
Definition: graphics.h:7987
radio_property ytickmode
Definition: graphics.h:5247
row_vector_property ydata
Definition: graphics.h:7507
static std::string go_name
Definition: graphics.h:13097
array_property plotboxaspectratio
Definition: graphics.h:5200
static bool has_core_property(const caseless_str &pname)
double_property titlefontsizemultiplier
Definition: graphics.h:5212
static bool has_readonly_property(const caseless_str &pname)
double_property specularstrength
Definition: graphics.h:9377
static std::set< std::string > readonly_property_names(void)
bool has_property(const caseless_str &pname) const
row_vector_property ylim
Definition: graphics.h:5238
callback_property resizefcn
Definition: graphics.h:12375
handle_property xlabel
Definition: graphics.h:5221
static bool has_readonly_property(const caseless_str &pname)
array_property cameraposition
Definition: graphics.h:5159
static bool has_readonly_property(const caseless_str &pname)
radio_property minorgridcolormode
Definition: graphics.h:5196
static bool has_core_property(const caseless_str &pname)
double_property fontsize_points
Definition: graphics.h:7998
double_property listboxtop
Definition: graphics.h:11879
bool_property yminorgrid
Definition: graphics.h:5240
callback_property sizechangedfcn
Definition: graphics.h:12379
octave_value get_dynamic(const caseless_str &pname) const
Definition: graphics.cc:2946
void set_deletefcn(const octave_value &val)
Definition: graphics.h:2773
row_vector_property xlim
Definition: graphics.h:5222
string_property title
Definition: graphics.h:12785
static bool has_readonly_property(const caseless_str &pname)
row_vector_property clim
Definition: graphics.h:9385
static bool has_readonly_property(const caseless_str &pname)
array_property cameratarget
Definition: graphics.h:5161
static std::set< std::string > core_property_names(void)
static std::string go_name
Definition: graphics.h:5134
static std::string go_name
Definition: graphics.h:3842
string_property fontname
Definition: graphics.h:12368
array_property position
Definition: graphics.h:12374
bool_property climinclude
Definition: graphics.h:11168
radio_property xcolormode
Definition: graphics.h:5218
double_property mousewheelzoom
Definition: graphics.h:5263
static bool has_core_property(const caseless_str &pname)
radio_property yaxislocation
Definition: graphics.h:5232
property get_property(const caseless_str &pname)
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:7874
bool_property __modified__
Definition: graphics.h:2632
octave_value get_userdata(void) const
Definition: graphics.h:2702
octave_value get(bool all=false) const
row_vector_property xdata
Definition: graphics.h:8672
void error(const char *fmt,...)
Definition: error.cc:570
void set_dynamic(const caseless_str &pname, const octave_value &val)
Definition: graphics.cc:2988
handle_property currentfigure
Definition: graphics.h:3449
double_property gridalpha
Definition: graphics.h:5183
color_property markerfacecolor
Definition: graphics.h:7503
radio_property pickableparts
Definition: graphics.h:5202
void set(const caseless_str &pname, const octave_value &val)
bool_property fontsmoothing
Definition: graphics.h:5181
array_property facevertexcdata
Definition: graphics.h:9366
property get_property_dynamic(const caseless_str &pname)
Definition: graphics.cc:3005
void set_visible(const octave_value &val)
Definition: graphics.h:2854
octave_value get(bool all=false) const
any_property __guidata__
Definition: graphics.h:3912
radio_property style
Definition: graphics.h:11885
static Matrix default_axes_position(void)
Definition: graphics.cc:407
radio_property units
Definition: graphics.h:11887
radio_property style
Definition: graphics.h:9184
radio_property projection
Definition: graphics.h:5204
bool has_property(const caseless_str &pname) const
radio_property gridalphamode
Definition: graphics.h:5184
std::set< std::string > all_property_names(void) const
static property_list::pval_map_type factory_defaults(void)
row_vector_property alim
Definition: graphics.h:5154
array_property x_projectiontransform
Definition: graphics.h:5267
radio_property normalmode
Definition: graphics.h:10277
string_property fontname
Definition: graphics.h:5178
radio_property xlimmode
Definition: graphics.h:5223
color_property highlightcolor
Definition: graphics.h:12781
callback_property clickedcallback
Definition: graphics.h:13474
row_vector_property alim
Definition: graphics.h:9384
array_property cdata
Definition: graphics.h:8668
any_property zticklabel
Definition: graphics.h:5259
any_property __object__
Definition: graphics.h:11864
octave_value get(bool all=false) const
static std::set< std::string > core_property_names(void)
string_property fontname
Definition: graphics.h:12776
std::string filename
Definition: urlwrite.cc:340
radio_property facenormalsmode
Definition: graphics.h:10268
static std::set< std::string > readonly_property_names(void)
properties(const graphics_handle &mh, const graphics_handle &p)
radio_property renderermode
Definition: graphics.h:3893
static std::set< std::string > core_property_names(void)
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:13048
radio_property titlefontweight
Definition: graphics.h:5213
radio_property edgelighting
Definition: graphics.h:10262
static property_list::pval_map_type factory_defaults(void)
color_property color
Definition: graphics.h:5170
any_property __object__
Definition: graphics.h:13282
double_property zticklabelrotation
Definition: graphics.h:5261
std::string get___modified__(void) const
Definition: graphics.h:2708
bool has_property(const caseless_str &pname) const
static std::set< std::string > readonly_property_names(void)
array_property x_viewtransform
Definition: graphics.h:5266
std::set< std::string > all_property_names(void) const
color_property shadowcolor
Definition: graphics.h:12784
array_property monitorpositions
Definition: graphics.h:3451
radio_property erasemode
Definition: graphics.h:7970
radio_property units
Definition: graphics.h:3899
double_property fontsize
Definition: graphics.h:12777
string_property ydatasource
Definition: graphics.h:7508
radio_property nextplot
Definition: graphics.h:5198
row_vector_property ylim
Definition: graphics.h:7512
static std::set< std::string > readonly_property_names(void)
octave_value get(bool all=false) const
radio_property paperorientation
Definition: graphics.h:3882
static Matrix default_surface_xdata(void)
Definition: graphics.cc:322
string_property zdatasource
Definition: graphics.h:10288
string_property cdatasource
Definition: graphics.h:10257
color_property markerfacecolor
Definition: graphics.h:10274
radio_property drawmode
Definition: graphics.h:5176
radio_property positionmode
Definition: graphics.h:7993
static std::string default_toolkit(void)
Definition: graphics.h:2300
string_property displayname
Definition: graphics.h:7496
radio_property units
Definition: graphics.h:3458
static double default_screendepth(void)
Definition: graphics.cc:216
array_property faces
Definition: graphics.h:9364
radio_property alphadatamapping
Definition: graphics.h:10252
color_property foregroundcolor
Definition: graphics.h:11876
radio_property cameraviewanglemode
Definition: graphics.h:5166
bool_property enable
Definition: graphics.h:13285
radio_property wvisualmode
Definition: graphics.h:3921
callback_property offcallback
Definition: graphics.h:13476
virtual void init(void)
Definition: graphics.h:2885
std::string get_tag(void) const
Definition: graphics.h:2696
handle_property zlabel
Definition: graphics.h:5252
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:9260
double_property xticklabelrotation
Definition: graphics.h:5230
static Matrix default_lim(bool logscale=false)
Definition: graphics.cc:276
bool_property showhiddenhandles
Definition: graphics.h:3457
color_property color
Definition: graphics.h:7495
double_property borderwidth
Definition: graphics.h:12774
void set_hidden(bool flag)
Definition: graphics.h:299
any_property __plot_stream__
Definition: graphics.h:3915
callback_property sizechangedfcn
Definition: graphics.h:3897
double_property ambientstrength
Definition: graphics.h:10253
bool_property resize
Definition: graphics.h:3894
bool_property yliminclude
Definition: graphics.h:7991
radio_property __mouse_mode__
Definition: graphics.h:3913
properties(const graphics_handle &mh, const graphics_handle &p)
properties(const graphics_handle &mh, const graphics_handle &p)
array_property alphamap
Definition: graphics.h:3861
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:11790
std::string get_selectionhighlight(void) const
Definition: graphics.h:2694
octave_value get(bool all=false) const
static std::set< std::string > core_property_names(void)
color_property markeredgecolor
Definition: graphics.h:9371
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:11079
bool_property doublebuffer
Definition: graphics.h:3918
void set(const caseless_str &pname, const octave_value &val)
string_property filename
Definition: graphics.h:3871
double_property specularexponent
Definition: graphics.h:9376
void set(const caseless_str &pname, const octave_value &val)
array_property position
Definition: graphics.h:11882
array_property alphadata
Definition: graphics.h:10251
bool_property graphicssmoothing
Definition: graphics.h:3872
static std::set< std::string > readonly_property_names(void)
void init(void)
Definition: graphics.cc:4480
array_property facenormals
Definition: graphics.h:9362
static std::set< std::string > readonly_property_names(void)
property get_property(const caseless_str &pname)
void set(const caseless_str &pname, const octave_value &val)
color_property foregroundcolor
Definition: graphics.h:12780
callback_property callback
Definition: graphics.h:11456
bool_property xgrid
Definition: graphics.h:5220
std::map< caseless_str, property, cmp_caseless_str > all_props
Definition: graphics.h:2879
double_property borderwidth
Definition: graphics.h:12365
properties(const graphics_handle &mh, const graphics_handle &p)
array_property colormap
Definition: graphics.h:3865
callback_property windowbuttonmotionfcn
Definition: graphics.h:3901
void set_interruptible(const octave_value &val)
Definition: graphics.h:2803
static property_list::pval_map_type factory_defaults(void)
color_property gridcolor
Definition: graphics.h:5185
static property_list::pval_map_type factory_defaults(void)
array_property cameraupvector
Definition: graphics.h:5163
array_property dataaspectratio
Definition: graphics.h:5174
std::set< std::string > all_property_names(void) const
array_property cdata
Definition: graphics.h:13283
std::set< std::string > all_property_names(void) const
array_property extent
Definition: graphics.h:7971
properties(const graphics_handle &mh, const graphics_handle &p)
void set(const caseless_str &pname, const octave_value &val)
bool_property climinclude
Definition: graphics.h:10295
radio_property handlevisibility
Definition: graphics.h:2621
properties(const graphics_handle &mh, const graphics_handle &p)
std::set< std::string > all_property_names(void) const
static std::set< std::string > core_property_names(void)
radio_property zticklabelmode
Definition: graphics.h:5260
bool_property separator
Definition: graphics.h:13286
void set(const caseless_str &pname, const octave_value &val)
void set_clipping(const octave_value &val)
Definition: graphics.h:2753
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:7421
double_radio_property facealpha
Definition: graphics.h:9359
string_property zdatasource
Definition: graphics.h:7510
string_property currentcharacter
Definition: graphics.h:3867
array_property zdata
Definition: graphics.h:9383
bool has_property(const caseless_str &pname) const
bool_property enable
Definition: graphics.h:13475
properties(const graphics_handle &mh, const graphics_handle &p)
bool_property yliminclude
Definition: graphics.h:11170
array_property screensize
Definition: graphics.h:3456
properties(const graphics_handle &mh, const graphics_handle &p)
radio_property gridlinestyle
Definition: graphics.h:5187
octave_value get_createfcn(void) const
Definition: graphics.h:2674
radio_property backfacelighting
Definition: graphics.h:9350
void init(void)
Definition: graphics.h:10057
static bool has_core_property(const caseless_str &pname)
OCTAVE_EXPORT octave_value_list any number nd example oindent prints the prompt xample Pick a any number!nd example oindent and waits for the user to enter a value The string entered by the user is evaluated as an so it may be a literal a variable name
Definition: input.cc:871
string_property displayname
Definition: graphics.h:11160
static bool has_core_property(const caseless_str &pname)
static bool has_core_property(const caseless_str &pname)
bool_property yliminclude
Definition: graphics.h:7515
void set(const caseless_str &pname, const octave_value &val)
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:13638
string_property xdatasource
Definition: graphics.h:7506
radio_property xvisualmode
Definition: graphics.h:3924
static bool has_readonly_property(const caseless_str &pname)
radio_property clippingstyle
Definition: graphics.h:5169
octave_value get(bool all=false) const
bool_property xliminclude
Definition: graphics.h:8680
radio_property horizontalalignment
Definition: graphics.h:7977
color_property color
Definition: graphics.h:3864
static Matrix default_patch_vertices(void)
Definition: graphics.cc:375
radio_property units
Definition: graphics.h:7985
color_property foregroundcolor
Definition: graphics.h:11459
radio_property boxstyle
Definition: graphics.h:5158
string_property displayname
Definition: graphics.h:7967
static bool has_readonly_property(const caseless_str &pname)
static bool has_core_property(const caseless_str &pname)
radio_property xtickmode
Definition: graphics.h:5231
std::set< std::string > dynamic_property_names(void) const
Definition: graphics.cc:2971
property get_property(const caseless_str &pname)
static std::string go_name
Definition: graphics.h:9329
Matrix get_children(void) const
Definition: graphics.h:2517
void set(const caseless_str &pname, const octave_value &val)
double_property screenpixelsperinch
Definition: graphics.h:3455
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:3719
string_property displayname
Definition: graphics.h:9354
std::set< std::string > all_property_names(void) const
callback_property windowbuttondownfcn
Definition: graphics.h:3900
array_property cdata
Definition: graphics.h:11867
property get_property(const caseless_str &pname)
handle_property selectedobject
Definition: graphics.h:12376
bool_property zliminclude
Definition: graphics.h:10298
nd deftypefn *octave_map m
Definition: ov-struct.cc:2058
array_property position
Definition: graphics.h:11711
static std::string go_name
Definition: graphics.h:11141
radio_property autopos_tag
Definition: graphics.h:7997
double_property labelfontsizemultiplier
Definition: graphics.h:5188
radio_property facenormalsmode
Definition: graphics.h:9363
bool has_property(const caseless_str &pname) const
color_property markeredgecolor
Definition: graphics.h:10273
void set(const caseless_str &pname, const octave_value &val)
static Matrix default_control_position(void)
Definition: graphics.cc:507
std::set< std::string > all_property_names(void) const
property get_property(const caseless_str &pname)
radio_property normalmode
Definition: graphics.h:9374
string_property __gl_vendor__
Definition: graphics.h:3909
callback_property callback
Definition: graphics.h:11866
std::string get_beingdeleted(void) const
Definition: graphics.h:2662
array_property pointershapecdata
Definition: graphics.h:3889
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:9115
void set(const caseless_str &pname, const octave_value &val)
radio_property erasemode
Definition: graphics.h:8671
bool_property checked
Definition: graphics.h:11457
row_vector_property zdata
Definition: graphics.h:7509
bool has_property(const caseless_str &pname) const
row_vector_property ylim
Definition: graphics.h:10292
void init(void)
Definition: graphics.h:9238
double_property fontsize
Definition: graphics.h:5179
radio_property xdatamode
Definition: graphics.h:8682
radio_property cameraupvectormode
Definition: graphics.h:5164
color_property markerfacecolor
Definition: graphics.h:9372
row_vector_property xmtick
Definition: graphics.h:5271
std::set< std::string > all_property_names(void) const
string_property __gl_version__
Definition: graphics.h:3910
double_property linestyleorderindex
Definition: graphics.h:5191
static Matrix default_figure_position(void)
Definition: graphics.cc:470
radio_property tickdirmode
Definition: graphics.h:5207
std::string get_visible(void) const
Definition: graphics.h:2705
std::set< std::string > all_property_names(void) const
radio_property fontangle
Definition: graphics.h:5177
void set___modified__(const octave_value &val)
Definition: graphics.h:2534
static std::set< std::string > core_property_names(void)
row_vector_property xlim
Definition: graphics.h:11164
row_vector_property ymtick
Definition: graphics.h:5272
static std::set< std::string > readonly_property_names(void)
void set(const caseless_str &pname, const octave_value &val)
static bool has_readonly_property(const caseless_str &pname)
radio_property meshstyle
Definition: graphics.h:10276
color_property highlightcolor
Definition: graphics.h:12373
properties(const graphics_handle &mh, const graphics_handle &p)
bool_property xminortick
Definition: graphics.h:5225
radio_property plotboxaspectratiomode
Definition: graphics.h:5201
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:8584
static bool has_readonly_property(const caseless_str &pname)
string_property fixedwidthfontname
Definition: graphics.h:3450
array_property looseinset
Definition: graphics.h:5265
radio_property units
Definition: graphics.h:5214
radio_property linestyle
Definition: graphics.h:7979
property get_property(const caseless_str &pname)
static std::set< std::string > readonly_property_names(void)
is false
Definition: cellfun.cc:398
double_property linewidth
Definition: graphics.h:10271
double_property diffusestrength
Definition: graphics.h:10258
properties(const graphics_handle &mh, const graphics_handle &p)
radio_property cameratargetmode
Definition: graphics.h:5162
color_property edgecolor
Definition: graphics.h:10261
radio_property alphadatamapping
Definition: graphics.h:8667
octave_value retval
Definition: data.cc:6294
radio_property minorgridalphamode
Definition: graphics.h:5194
static std::set< std::string > core_property_names(void)
array_property position
Definition: graphics.h:7982
array_property papersize
Definition: graphics.h:3885
radio_property fontangle
Definition: graphics.h:11871
radio_property vertexnormalsmode
Definition: graphics.h:9379
static Matrix default_panel_position(void)
Definition: graphics.cc:531
octave_value get(bool all=false) const
static std::set< std::string > readonly_property_names(void)
octave_value get(bool all=false) const
handle_property parent
Definition: graphics.h:2624
handle_property callbackobject
Definition: graphics.h:3447
static bool has_core_property(const caseless_str &pname)
radio_property verticalalignment
Definition: graphics.h:7986
octave_value get(bool all=false) const
static bool has_core_property(const caseless_str &pname)
radio_property paperpositionmode
Definition: graphics.h:3884
string_property xdatasource
Definition: graphics.h:10284
radio_property edgelighting
Definition: graphics.h:9357
radio_property yscale
Definition: graphics.h:5242
row_vector_property xlim
Definition: graphics.h:8676
string_property __gl_extensions__
Definition: graphics.h:3907
radio_property fontunits
Definition: graphics.h:11874
double_radio_property edgealpha
Definition: graphics.h:10260
callback_property deletefcn
Definition: graphics.h:2620
static Matrix default_figure_papersize(void)
Definition: graphics.cc:483
radio_property fontangle
Definition: graphics.h:12367
static std::string go_name
Definition: graphics.h:13263
row_vector_property xdata
Definition: graphics.h:7505
color_property backgroundcolor
Definition: graphics.h:12363
radio_property fontunits
Definition: graphics.h:12778
static std::string go_name
Definition: graphics.h:12752
callback_property selectionchangedfcn
Definition: graphics.h:12377
property get_property(const caseless_str &pname)
string_property label
Definition: graphics.h:11460
static Matrix default_light_position(void)
Definition: graphics.cc:544
properties(const graphics_handle &mh, const graphics_handle &p)
any_property linestyleorder
Definition: graphics.h:5190
static std::set< std::string > core_property_names(void)
idx type
Definition: ov.cc:3129
callback_property windowkeyreleasefcn
Definition: graphics.h:3904
octave_value get(bool all=false) const
static bool has_readonly_property(const caseless_str &pname)
properties(const graphics_handle &mh, const graphics_handle &p)
callback_property windowkeypressfcn
Definition: graphics.h:3903
void init(void)
Definition: graphics.h:8506
color_property color
Definition: graphics.h:7966
bool_property inverthardcopy
Definition: graphics.h:3874
radio_property fontweight
Definition: graphics.h:12779
bool_property selectionhighlight
Definition: graphics.h:2626
Definition: dMatrix.h:37
array_property position
Definition: graphics.h:9183
octave_value get(bool all=false) const
property get_property(const caseless_str &pname)
array_property outerposition
Definition: graphics.h:5199
double_property colororderindex
Definition: graphics.h:5172
static property_list::pval_map_type factory_defaults(void)
bool_property separator
Definition: graphics.h:13478
static Matrix default_surface_ydata(void)
Definition: graphics.cc:334
string_property displayname
Definition: graphics.h:10259
radio_property linestyle
Definition: graphics.h:7499
bool_property climinclude
Definition: graphics.h:9390
static std::set< std::string > readonly_property_names(void)
properties(const graphics_handle &mh, const graphics_handle &p)
color_property edgecolor
Definition: graphics.h:7968
array_property commandwindowsize
Definition: graphics.h:3448
static Matrix default_colororder(void)
Definition: graphics.cc:241
bool_property dockcontrols
Definition: graphics.h:3870
static std::set< std::string > readonly_property_names(void)
radio_property gridcolormode
Definition: graphics.h:5186
radio_property tickdir
Definition: graphics.h:5206
property get_property(const caseless_str &pname)
std::string pname
Definition: graphics.cc:11207
array_property zdata
Definition: graphics.h:10287
static std::string go_name
Definition: graphics.h:7946
array_property pointerlocation
Definition: graphics.h:3452
std::set< std::string > all_property_names(void) const
array_property vertices
Definition: graphics.h:9380
properties(const graphics_handle &mh, const graphics_handle &p)
octave_value get(bool all=false) const
Definition: marker.h:39
double_property linewidth
Definition: graphics.h:7500
static bool has_core_property(const caseless_str &pname)
void set(const caseless_str &pname, const octave_value &val)
static uint32_t state[624]
Definition: randmtzig.cc:184
std::string get_selected(void) const
Definition: graphics.h:2691
static std::set< std::string > core_property_names(void)
row_vector_property ylim
Definition: graphics.h:7988
bool_property aliminclude
Definition: graphics.h:10294
array_property vertexnormals
Definition: graphics.h:9378
radio_property fontunits
Definition: graphics.h:5180
void init(void)
Definition: graphics.h:4748
property get_property(const caseless_str &pname)
radio_property ydir
Definition: graphics.h:5235
radio_property interpreter
Definition: graphics.h:9367
double_radio_property facealpha
Definition: graphics.h:10264
static Matrix default_surface_cdata(void)
Definition: graphics.cc:357
radio_property climmode
Definition: graphics.h:5168
bool has_property(const caseless_str &pname) const
radio_property ztickmode
Definition: graphics.h:5262
octave_value get_deletefcn(void) const
Definition: graphics.h:2677
static std::set< std::string > core_property_names(void)
row_vector_property clim
Definition: graphics.h:10290
static bool has_readonly_property(const caseless_str &pname)
string_property tooltipstring
Definition: graphics.h:13480
array_property facevertexalphadata
Definition: graphics.h:9365
bool has_property(const caseless_str &pname) const
static std::string go_name
Definition: graphics.h:13453
static bool has_readonly_property(const caseless_str &pname)
row_vector_property alim
Definition: graphics.h:11162
string_property type
Definition: graphics.h:2628
properties(const graphics_handle &mh, const graphics_handle &p)
double_property fontsize
Definition: graphics.h:11873
string_property __graphics_toolkit__
Definition: graphics.h:3911
double_property min
Definition: graphics.h:11881
bool_property xliminclude
Definition: graphics.h:10296
radio_property menubar
Definition: graphics.h:3877
callback_property createfcn
Definition: graphics.h:2619
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:11375
radio_property titleposition
Definition: graphics.h:12786
graphics_handle get_uicontextmenu(void) const
Definition: graphics.h:2700
bool_property yliminclude
Definition: graphics.h:10297
handle_property currentaxes
Definition: graphics.h:3866
static std::set< std::string > readonly_property_names(void)
double_property mincolormap
Definition: graphics.h:3919
bool_property yminortick
Definition: graphics.h:5241
charNDArray max(char d, const charNDArray &m)
Definition: chNDArray.cc:228
bool has_property(const caseless_str &pname) const
array_property paperposition
Definition: graphics.h:3883
radio_property dataaspectratiomode
Definition: graphics.h:5175
radio_property rotationmode
Definition: graphics.h:7994
double_property ambientstrength
Definition: graphics.h:9349
radio_property nextplot
Definition: graphics.h:3879
row_vector_property clim
Definition: graphics.h:11163
bool_property editing
Definition: graphics.h:7969
static bool has_core_property(const caseless_str &pname)
bool_property clipping
Definition: graphics.h:12366
property get_property(const caseless_str &pname)
std::set< std::string > all_property_names(void) const
static std::set< std::string > readonly_property_names(void)
radio_property interpreter
Definition: graphics.h:7978
void set_handlevisibility(const octave_value &val)
Definition: graphics.h:2783
radio_property autopos_tag
Definition: graphics.h:5264
children_property children
Definition: graphics.h:2617
radio_property ycolormode
Definition: graphics.h:5234
virtual octave_value get(const caseless_str &pname) const
static std::set< std::string > core_property_names(void)
radio_property fontweight
Definition: graphics.h:5182
handle_property title
Definition: graphics.h:5211
radio_property papertype
Definition: graphics.h:3886
static property_list::pval_map_type factory_defaults(void)
void set_children(const octave_value &val)
Definition: graphics.h:2743
bool_property aliminclude
Definition: graphics.h:8678
callback_property keyreleasefcn
Definition: graphics.h:3876
color_property backgroundcolor
Definition: graphics.h:7965
any_property __object__
Definition: graphics.h:11454
static std::string go_name
Definition: graphics.h:12343
array_property outerposition
Definition: graphics.h:3881
properties(const graphics_handle &mh, const graphics_handle &p)
double_property specularstrength
Definition: graphics.h:10280
radio_property cdatamapping
Definition: graphics.h:9352
static std::set< std::string > readonly_property_names(void)
bool_property zliminclude
Definition: graphics.h:7992
row_vector_property xlim
Definition: graphics.h:9386
string_property ydatasource
Definition: graphics.h:10286
void set(const caseless_str &pname, const octave_value &val)
double_property specularcolorreflectance
Definition: graphics.h:9375
callback_property resizefcn
Definition: graphics.h:3895
any_property userdata
Definition: graphics.h:2630
radio_property ydatamode
Definition: graphics.h:8683
array_property vertexnormals
Definition: graphics.h:10281
static std::set< std::string > readonly_property_names(void)
bool_property ygrid
Definition: graphics.h:5236
static octave_value box(JNIEnv *jni_env, void *jobj, void *jcls_arg=0)
Convert the Java object pointed to by jobj_arg with class jcls_arg to an Octave value.
Definition: ov-java.cc:1192
void init(void)
Definition: graphics.h:11611
void init(void)
Definition: graphics.h:8963
static std::string go_name
Definition: graphics.h:7476
radio_property ylimmode
Definition: graphics.h:5239
radio_property erasemode
Definition: graphics.h:10263
void set_userdata(const octave_value &val)
Definition: graphics.h:2844
array_property pointershapehotspot
Definition: graphics.h:3890
radio_property facelighting
Definition: graphics.h:9361
property get_property(const caseless_str &pname)
void set_id(int d)
Definition: graphics.h:305
static Matrix default_image_cdata(void)
Definition: graphics.cc:306
p
Definition: lu.cc:138
OCTAVE_EXPORT octave_value_list or N dimensional array whose elements are all equal to the IEEE symbol zero divided by nd tex zero divided by nd ifnottex and any operation involving another NaN value(5+NaN).Note that NaN always compares not equal to NaN(NaN!
static property_list::pval_map_type factory_defaults(void)
radio_property renderer
Definition: graphics.h:3892
std::string get_interruptible(void) const
Definition: graphics.h:2686
static bool has_readonly_property(const caseless_str &pname)
radio_property linestyle
Definition: graphics.h:9368
double_property cameraviewangle
Definition: graphics.h:5165
double_property linewidth
Definition: graphics.h:5192
any_property __zoom_mode__
Definition: graphics.h:3917
static std::set< std::string > core_property_names(void)
array_property view
Definition: graphics.h:5215
row_vector_property clim
Definition: graphics.h:5167
octave_handle graphics_handle
Definition: graphics.h:56
handle_property currentobject
Definition: graphics.h:3868
color_property xcolor
Definition: graphics.h:5217
bool_property beingdeleted
Definition: graphics.h:2614
radio_property fontweight
Definition: graphics.h:7976
bool_property xliminclude
Definition: graphics.h:7514
void set(const caseless_str &pname, const octave_value &val)
array_property ydata
Definition: graphics.h:10285
static std::set< std::string > core_property_names(void)
row_vector_property clim
Definition: graphics.h:8675
static bool has_readonly_property(const caseless_str &pname)
bool_property climinclude
Definition: graphics.h:8679
radio_property horizontalalignment
Definition: graphics.h:11877
color_property ambientlightcolor
Definition: graphics.h:5156
callback_property windowscrollwheelfcn
Definition: graphics.h:3905
array_property x_rendertransform
Definition: graphics.h:5270
static property_list::pval_map_type factory_defaults(void)
string_property title
Definition: graphics.h:12381
bool compare(const std::string &s, size_t limit=std::string::npos) const
Definition: caseless-str.h:76
color_property markeredgecolor
Definition: graphics.h:7502
array_property currentpoint
Definition: graphics.h:5173
color_property shadowcolor
Definition: graphics.h:12378
void set(const caseless_str &pname, const octave_value &val)
row_vector_property xlim
Definition: graphics.h:7511
radio_property fontangle
Definition: graphics.h:12775
array_property tightinset
Definition: graphics.h:5210
double_property fontsize
Definition: graphics.h:7974
row_vector_property zlim
Definition: graphics.h:10293
array_property position
Definition: graphics.h:3891
string_property name
Definition: graphics.h:3878
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:13403
static property_list::pval_map_type factory_defaults(void)
callback_property buttondownfcn
Definition: graphics.h:2616
radio_property erasemode
Definition: graphics.h:11161
static std::set< std::string > core_property_names(void)
static bool has_core_property(const caseless_str &pname)
bool_property clipping
Definition: graphics.h:2618
radio_property facelighting
Definition: graphics.h:10266
any_property __pan_mode__
Definition: graphics.h:3914
bool_property visible
Definition: graphics.h:2631
std::string get_handlevisibility(void) const
Definition: graphics.h:2680
static std::set< std::string > readonly_property_names(void)
radio_property busyaction
Definition: graphics.h:2615
double_property yticklabelrotation
Definition: graphics.h:5246
static property_list::pval_map_type factory_defaults(void)
std::string get_hittest(void) const
Definition: graphics.h:2683
property get_property(const caseless_str &pname)
string_property tooltipstring
Definition: graphics.h:13287
radio_property zcolormode
Definition: graphics.h:5249
bool_property integerhandle
Definition: graphics.h:3873
graphics_handle get_parent(void) const
Definition: graphics.h:2688
octave_value get(bool all=false) const
static std::set< std::string > readonly_property_names(void)
array_property position
Definition: graphics.h:5203
double_property markersize
Definition: graphics.h:10275
radio_property xdir
Definition: graphics.h:5219
radio_property titleposition
Definition: graphics.h:12382
array_property extent
Definition: graphics.h:11870
callback_property windowbuttonupfcn
Definition: graphics.h:3902
double_property position
Definition: graphics.h:11461
string_property tooltipstring
Definition: graphics.h:11886
static std::set< std::string > readonly_property_names(void)
property get_property(const caseless_str &pname)
array_property cdata
Definition: graphics.h:9351
static Matrix viridis_colormap(void)
Definition: graphics.cc:132
radio_property backfacelighting
Definition: graphics.h:10254
bool_property hittest
Definition: graphics.h:2622
static property_list::pval_map_type factory_defaults(void)
string_property fltk_label
Definition: graphics.h:11463
callback_property callback
Definition: graphics.h:11710
string_property wvisual
Definition: graphics.h:3920
void set_beingdeleted(const octave_value &val)
Definition: graphics.h:2713
double_property margin
Definition: graphics.h:7981
static std::set< std::string > readonly_property_names(void)
radio_property erasemode
Definition: graphics.h:9358
row_vector_property ylim
Definition: graphics.h:9387
double_property specularexponent
Definition: graphics.h:10279
color_property zcolor
Definition: graphics.h:5248
radio_property pointer
Definition: graphics.h:3888
bool_property selected
Definition: graphics.h:2625
static std::set< std::string > core_property_names(void)
array_property xdata
Definition: graphics.h:9381
properties(const graphics_handle &mh, const graphics_handle &p)
virtual void set(const caseless_str &, const octave_value &)
static property_list::pval_map_type factory_defaults(void)
radio_property interpreter
Definition: graphics.h:10269
static property_list::pval_map_type factory_defaults(void)
graphics_handle get___myhandle__(void) const
Definition: graphics.h:2710
double_property diffusestrength
Definition: graphics.h:9353
octave_value get(bool all=false) const
static std::set< std::string > core_property_names(void)
radio_property xaxislocation
Definition: graphics.h:5216
double_property max
Definition: graphics.h:11880
radio_property selectiontype
Definition: graphics.h:3896
radio_property xscale
Definition: graphics.h:5226
radio_property fontunits
Definition: graphics.h:12370
properties(const graphics_handle &mh, const graphics_handle &p)
void set_busyaction(const octave_value &val)
Definition: graphics.h:2723
static bool has_readonly_property(const caseless_str &pname)
std::set< std::string > all_property_names(void) const
row_vector_property ztick
Definition: graphics.h:5258
any_property xticklabel
Definition: graphics.h:5228
std::set< std::string > all_property_names(void) const
std::set< std::string > all_property_names(void) const
color_property backgroundcolor
Definition: graphics.h:11865
radio_property paperunits
Definition: graphics.h:3887
string_property xdisplay
Definition: graphics.h:3922
bool_property yliminclude
Definition: graphics.h:9392
string_property accelerator
Definition: graphics.h:11455
radio_property linestyle
Definition: graphics.h:10270
bool has_property(const caseless_str &pname) const
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:10171
string_property displayname
Definition: graphics.h:8670
handle_property ylabel
Definition: graphics.h:5237
static bool has_core_property(const caseless_str &pname)
property get_property(const caseless_str &pname)
bool has_property(const caseless_str &pname) const
array_property ticklength
Definition: graphics.h:5209
array_property alphadata
Definition: graphics.h:8666
octave_value as_octave_value(void) const
Definition: oct-handle.h:76
array_property cdata
Definition: graphics.h:10255
property get_property(const caseless_str &pname)
color_property foregroundcolor
Definition: graphics.h:12372
bool_property xliminclude
Definition: graphics.h:9391
color_property minorgridcolor
Definition: graphics.h:5195
void set_uicontextmenu(const octave_value &val)
Definition: graphics.h:2833
If this string is the system will ring the terminal sometimes it is useful to be able to print the original representation of the string
Definition: utils.cc:854
any_property __rotate_mode__
Definition: graphics.h:3916
void set_tag(const octave_value &val)
Definition: graphics.h:2513
radio_property cdatamapping
Definition: graphics.h:8669
static property_list::pval_map_type factory_defaults(void)
static Matrix default_surface_zdata(void)
Definition: graphics.cc:346
static std::string go_name
Definition: graphics.h:9163
static bool has_readonly_property(const caseless_str &pname)
callback_property resizefcn
Definition: graphics.h:12783
bool_property zgrid
Definition: graphics.h:5251
static bool has_readonly_property(const caseless_str &pname)
any_property __object__
Definition: graphics.h:13116
property get_property(const caseless_str &pname)
array_property x_normrendertransform
Definition: graphics.h:5269
row_vector_property ydata
Definition: graphics.h:8673
radio_property fontangle
Definition: graphics.h:7972
bool has_readonly_property(const caseless_str &pname) const
Definition: graphics.h:12697
radio_property layer
Definition: graphics.h:5189
bool has_property(const caseless_str &pname) const
double_property fontsize
Definition: graphics.h:12369
static bool has_core_property(const caseless_str &pname)
static bool has_core_property(const caseless_str &pname)
bool_property zminortick
Definition: graphics.h:5256
callback_property keypressfcn
Definition: graphics.h:3875
static bool has_readonly_property(const caseless_str &pname)
void set_parent(const octave_value &val)
Definition: graphics.cc:3017
void set_hittest(const octave_value &val)
Definition: graphics.h:2793
radio_property cdatamapping
Definition: graphics.h:10256
array_property x_viewporttransform
Definition: graphics.h:5268
radio_property enable
Definition: graphics.h:11869
static bool has_core_property(const caseless_str &pname)
static std::string go_name
Definition: graphics.h:8647
color_property color
Definition: graphics.h:9182
bool_property zliminclude
Definition: graphics.h:11171
void set_buttondownfcn(const octave_value &val)
Definition: graphics.h:2733
any_property yticklabel
Definition: graphics.h:5244
color_property facecolor
Definition: graphics.h:10265
radio_property units
Definition: graphics.h:12787
charNDArray min(char d, const charNDArray &m)
Definition: chNDArray.cc:205
color_property facecolor
Definition: graphics.h:9360
static property_list::pval_map_type factory_defaults(void)
std::set< std::string > all_property_names(void) const
static Matrix default_patch_faces(void)
Definition: graphics.cc:363
bool has_property(const caseless_str &pname) const
double_property pointerwindow
Definition: graphics.h:3453
double_property linewidth
Definition: graphics.h:9369
static bool has_core_property(const caseless_str &pname)
radio_property bordertype
Definition: graphics.h:12773
static std::set< std::string > core_property_names(void)
radio_property camerapositionmode
Definition: graphics.h:5160
radio_property units
Definition: graphics.h:12380
array_property position
Definition: graphics.h:12782
row_vector_property xtick
Definition: graphics.h:5227
double_property rotation
Definition: graphics.h:7983
row_vector_property alim
Definition: graphics.h:8674
radio_property xticklabelmode
Definition: graphics.h:5229
static property_list::pval_map_type factory_defaults(void)