comparison src/graphics.cc @ 11074:8a3b7e8fcbbc

graphics.cc, graphics.h.in, genprops.awk: use octave_map and octave_scalar_map instead of Octave_map
author John W. Eaton <jwe@octave.org>
date Fri, 01 Oct 2010 05:16:04 -0400
parents e81914f3921f
children b748b86cb8c1
comparison
equal deleted inserted replaced
11073:a22f3a673f33 11074:8a3b7e8fcbbc
1546 } 1546 }
1547 1547
1548 return retval; 1548 return retval;
1549 } 1549 }
1550 1550
1551 Octave_map 1551 octave_scalar_map
1552 property_list::as_struct (const std::string& prefix_arg) const 1552 property_list::as_struct (const std::string& prefix_arg) const
1553 { 1553 {
1554 Octave_map m; 1554 octave_scalar_map m;
1555 1555
1556 for (plist_map_const_iterator p = begin (); p != end (); p++) 1556 for (plist_map_const_iterator p = begin (); p != end (); p++)
1557 { 1557 {
1558 std::string prefix = prefix_arg + p->first; 1558 std::string prefix = prefix_arg + p->first;
1559 1559
1682 %! set (h, {"linewidth"}, {10, "x"; 5, "o"}); 1682 %! set (h, {"linewidth"}, {10, "x"; 5, "o"});
1683 */ 1683 */
1684 1684
1685 // Set properties given in a struct array 1685 // Set properties given in a struct array
1686 void 1686 void
1687 graphics_object::set (const Octave_map& m) 1687 graphics_object::set (const octave_map& m)
1688 { 1688 {
1689 for (Octave_map::const_iterator p = m.begin (); 1689 for (octave_map::const_iterator p = m.begin ();
1690 p != m.end (); p++) 1690 p != m.end (); p++)
1691 { 1691 {
1692 caseless_str name = m.key (p); 1692 caseless_str name = m.key (p);
1693 1693
1694 octave_value val = octave_value (m.contents (p).elem (m.numel () - 1)); 1694 octave_value val = octave_value (m.contents (p).elem (m.numel () - 1));
2084 } 2084 }
2085 2085
2086 octave_value 2086 octave_value
2087 base_properties::get_dynamic (bool all) const 2087 base_properties::get_dynamic (bool all) const
2088 { 2088 {
2089 Octave_map m; 2089 octave_scalar_map m;
2090 2090
2091 for (std::map<caseless_str, property, cmp_caseless_str>::const_iterator it = all_props.begin (); 2091 for (std::map<caseless_str, property, cmp_caseless_str>::const_iterator it = all_props.begin ();
2092 it != all_props.end (); ++it) 2092 it != all_props.end (); ++it)
2093 if (all || ! it->second.is_hidden ()) 2093 if (all || ! it->second.is_hidden ())
2094 m.assign (it->second.get_name (), it->second.get ()); 2094 m.assign (it->second.get_name (), it->second.get ());
2467 } 2467 }
2468 2468
2469 void 2469 void
2470 base_graphics_object::remove_all_listeners (void) 2470 base_graphics_object::remove_all_listeners (void)
2471 { 2471 {
2472 Octave_map m = get (true).map_value (); 2472 octave_map m = get (true).map_value ();
2473 2473
2474 for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) 2474 for (octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++)
2475 { 2475 {
2476 // FIXME -- there has to be a better way. I think we want to 2476 // FIXME -- there has to be a better way. I think we want to
2477 // ask whether it is OK to delete the listener for the given 2477 // ask whether it is OK to delete the listener for the given
2478 // property. How can we know in advance that it will be OK? 2478 // property. How can we know in advance that it will be OK?
2479 2479
2496 { 2496 {
2497 std::string retval; 2497 std::string retval;
2498 2498
2499 if (valid_object ()) 2499 if (valid_object ())
2500 { 2500 {
2501 Octave_map m = get ().map_value (); 2501 octave_map m = get ().map_value ();
2502 2502
2503 for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) 2503 for (octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++)
2504 { 2504 {
2505 if (pa->first != "children") 2505 if (pa->first != "children")
2506 { 2506 {
2507 property p = get_properties ().get_property (pa->first); 2507 property p = get_properties ().get_property (pa->first);
2508 2508
2521 error ("base_graphics_object::values_as_string: invalid graphics object"); 2521 error ("base_graphics_object::values_as_string: invalid graphics object");
2522 2522
2523 return retval; 2523 return retval;
2524 } 2524 }
2525 2525
2526 Octave_map 2526 octave_scalar_map
2527 base_graphics_object::values_as_struct (void) 2527 base_graphics_object::values_as_struct (void)
2528 { 2528 {
2529 Octave_map retval; 2529 octave_scalar_map retval;
2530 2530
2531 if (valid_object ()) 2531 if (valid_object ())
2532 { 2532 {
2533 Octave_map m = get ().map_value (); 2533 octave_scalar_map m = get ().scalar_map_value ();
2534 2534
2535 for (Octave_map::const_iterator pa = m.begin (); pa != m.end (); pa++) 2535 for (octave_scalar_map::const_iterator pa = m.begin ();
2536 pa != m.end (); pa++)
2536 { 2537 {
2537 if (pa->first != "children") 2538 if (pa->first != "children")
2538 { 2539 {
2539 property p = get_properties ().get_property (pa->first); 2540 property p = get_properties ().get_property (pa->first);
2540 2541
2541 if (p.ok () && ! p.is_hidden ()) 2542 if (p.ok () && ! p.is_hidden ())
2542 { 2543 {
2543 if (p.is_radio ()) 2544 if (p.is_radio ())
2544 retval.assign (p.get_name (), 2545 retval.assign (p.get_name (), p.values_as_cell ());
2545 octave_value (p.values_as_cell ()));
2546 else 2546 else
2547 retval.assign (p.get_name (), octave_value (Cell ())); 2547 retval.assign (p.get_name (), Cell ());
2548 } 2548 }
2549 } 2549 }
2550 } 2550 }
2551 } 2551 }
2552 else 2552 else