Mercurial > octave-libgccjit
view libinterp/version.cc @ 18963:a30e1d20fd3c
Freset: properly reset graphics objects (bug #35511)
* graphics.in.h (base_graphics_object, graphics_object, root): add new method "get_factory_defaults_list" to retrieve factory defaults as property_list
* graphics.in.h (base_graphics_object::reset_default_properties (void)): move definition to graphics.cc
* graphics.cc (xreset_default_properties): new function to set a list of prop/val
* graphics.cc (base_graphics_object::reset_default_properties): use xreset_default_properties, override with parents' defaults
* graphics.cc (root_figure::reset_default_properties, figure::reset_default_properties, uitoolbar::reset_default_properties): same as above but first empty local defaults
* graphics.cc (axes_figure::reset_default_properties): same as above but use "propeties.set_defaults" to reset properties to their factory value.
* graphics.cc (axes_figure::properties::set_defaults): new "reset" mode, that does the same as "replace" but x/y/zlabels and title are reset instead of being deleting/recreating.
* graphics.cc: add %!tests for Freset
author | pantxo <pantxo.diribarne@gmail.com> |
---|---|
date | Fri, 21 Mar 2014 11:05:28 +0100 |
parents | 175b392e91fe |
children |
line wrap: on
line source
/* Copyright (C) 2013 John W. Eaton This file is part of Octave. Octave is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. Octave is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Octave; see the file COPYING. If not, see <http://www.gnu.org/licenses/>. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #include <string> #include "defaults.h" #include "version.h" static std::string octave_warranty_statement (const std::string& extra_info = std::string ()) { return "There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or\n\ FITNESS FOR A PARTICULAR PURPOSE." + extra_info; } static std::string format_url (bool html, const std::string& url) { return html ? "<a href=\"" + url + "\">" + url + "</a>" : url; } std::string octave_www_statement (bool html) { return "Additional information about Octave is available at " + format_url (html, "http://www.octave.org."); } std::string octave_contrib_statement (bool html) { return "Please contribute if you find this software useful.\n\ For more information, visit " + format_url (html, "http://www.octave.org/get-involved.html"); } std::string octave_bugs_statement (bool html) { return "Read " + format_url (html, "http://www.octave.org/bugs.html") + " to learn how to submit bug reports."; } std::string octave_name_version_and_copyright (void) { // The GNU coding standards say that on the first line printed by // --version, the version number should follow the last space on the // line. return "GNU Octave, version " OCTAVE_VERSION "\n" OCTAVE_COPYRIGHT; } std::string octave_name_version_copyright_copying_and_warranty (bool html, const std::string& extra_info) { std::string br = html ? "<br>\n" : "\n"; std::string sep = html ? "\n</p>\n<p>\n" : "\n\n"; return octave_name_version_and_copyright () + br + "This is free software; see the source code for copying conditions." + br + octave_warranty_statement (extra_info) + sep + "Octave was configured for \"" OCTAVE_CANONICAL_HOST_TYPE "\"."; } std::string octave_name_version_copyright_copying_warranty_and_bugs (bool html, const std::string& extra_info) { std::string sep = html ? "\n</p>\n<p>\n" : "\n\n"; std::string msg; if (html) msg = "<p>\n"; msg += octave_name_version_copyright_copying_and_warranty (html, extra_info) + sep + octave_www_statement (html) + sep + octave_contrib_statement (html) + sep + octave_bugs_statement (html) + (html ? "\n</p>" : ""); return msg; } std::string octave_startup_message (bool html) { std::string msg = octave_name_version_copyright_copying_warranty_and_bugs (html, " For details, type 'warranty'."); msg += (html ? "<p>\n" : "\n"); msg += "For information about changes from previous versions, type 'news'."; msg += (html ? "\n</p>" : ""); return msg; }