comparison libinterp/corefcn/graphics.cc @ 18576:cd83730e5e38

maint: Periodic merge of gui-release to default.
author John W. Eaton <jwe@octave.org>
date Thu, 20 Mar 2014 12:31:19 -0400
parents 5264b0ec9f97 ca1648b2e673
children 2deed6538c72
comparison
equal deleted inserted replaced
18571:89a8a90ac850 18576:cd83730e5e38
9730 return retval; 9730 return retval;
9731 } 9731 }
9732 9732
9733 gtk_manager *gtk_manager::instance = 0; 9733 gtk_manager *gtk_manager::instance = 0;
9734 9734
9735 gtk_manager::gtk_manager (void)
9736 : dtk (), available_toolkits (), loaded_toolkits ()
9737 {
9738 #if defined (HAVE_QT)
9739 dtk = display_info::display_available () ? "qt" : "gnuplot";
9740 #elif defined (HAVE_FLTK)
9741 dtk = display_info::display_available () ? "fltk" : "gnuplot";
9742 #else
9743 dtk = "gnuplot";
9744 #endif
9745 }
9746
9747 void 9735 void
9748 gtk_manager::create_instance (void) 9736 gtk_manager::create_instance (void)
9749 { 9737 {
9750 instance = new gtk_manager (); 9738 instance = new gtk_manager ();
9751 9739
9784 } 9772 }
9785 else 9773 else
9786 retval = pl->second; 9774 retval = pl->second;
9787 9775
9788 return retval; 9776 return retval;
9777 }
9778
9779 void
9780 gtk_manager::do_register_toolkit (const std::string& name)
9781 {
9782 if (dtk.empty () || name == "qt"
9783 || (name == "fltk"
9784 && available_toolkits.find ("qt") == available_toolkits.end ()))
9785 dtk = name;
9786
9787 available_toolkits.insert (name);
9788 }
9789
9790 void
9791 gtk_manager::do_unregister_toolkit (const std::string& name)
9792 {
9793 available_toolkits.erase (name);
9794
9795 if (dtk == name)
9796 {
9797 if (available_toolkits.empty ())
9798 dtk.clear ();
9799 else
9800 {
9801 const_available_toolkits_iterator pa = available_toolkits.begin ();
9802
9803 dtk = *pa++;
9804
9805 while (pa != available_toolkits.end ())
9806 {
9807 std::string name = *pa++;
9808
9809 if (name == "qt"
9810 || (name == "fltk"
9811 && available_toolkits.find ("qt") == available_toolkits.end ()))
9812 dtk = name;
9813 }
9814 }
9815 }
9789 } 9816 }
9790 9817
9791 DEFUN (available_graphics_toolkits, , , 9818 DEFUN (available_graphics_toolkits, , ,
9792 "-*- texinfo -*-\n\ 9819 "-*- texinfo -*-\n\
9793 @deftypefn {Built-in Function} {} available_graphics_toolkits ()\n\ 9820 @deftypefn {Built-in Function} {} available_graphics_toolkits ()\n\