1. 07 Aug, 2004 1 commit
    • Jody Goldberg's avatar
      Functions returning an array when only scalar results are permitted · 3416220d
      Jody Goldberg authored
      
      2004-08-02  Jody Goldberg <jody@gnome.org>
      
      	* src/expr.c (gnm_expr_eval) : Functions returning an array when only
      	  scalar results are permitted produce #VALUE!
      
      	* src/style.c (style_default_halign) : Fix drilling down into arrays
      
      	* src/wbc-gtk.c (cb_add_menus_toolbars) : Init state.
      
      2004-08-01  Jody Goldberg <jody@gnome.org>
      
      	* src/func.c (function_call_with_list) : Array parms seem to accept
      	  scalars.
      
      	* src/value.c (value_dup) : Accept NULL
      
      	* src/expr.c (gnm_expr_eval) : do intersection for constant arrays too
      
      2004-07-30  Jody Goldberg <jody@gnome.org>
      
      	* src/wbc-gtk.c (wbc_gtk_init_zoom) : We need a label for the action
      	  in case it is a menu item.
      3416220d
  2. 11 Oct, 2003 1 commit
    • Jody Goldberg's avatar
      new to write csv files without intervention. (stf_init) : Use it. · 7a725771
      Jody Goldberg authored
      
      
      2003-10-10  Jody Goldberg <jody@gnome.org>
      
      	* src/stf.c (stf_write_csv) : new to write csv files without
      	  intervention.
      	(stf_init) : Use it.
      
      2003-10-09  Jody Goldberg <jody@gnome.org>
      
      	* src/libgnumeric.c : pull the ancient if BONOBO checks
      
      	* src/io-context-gtk.c (icg_show_gui) : mark the window as a splash.
      
      	* schemas/Makefile.am : make friendlier for rpm builders
      7a725771
  3. 09 Oct, 2003 1 commit
    • Jody Goldberg's avatar
      Release 1.2.1 · b762bb9d
      Jody Goldberg authored
      
      2003-10-08  Jody Goldberg <jody@gnome.org>
      
      	* Release 1.2.1
      b762bb9d
  4. 13 Jun, 2003 1 commit
    • Jody Goldberg's avatar
      Tweak some headers · 2fc4f248
      Jody Goldberg authored
      Lots of reorg (incomplete)
      
      1) Move chart size_allocator into GogView
      2) First pass at a GogLabel object
      3) reorg the data allocator to use an interface rather than a series
         so that labels can use them too
      
      2003-06-12  Jody Goldberg <jody@gnome.org>
      
      	* graph/goffice-graph.h : remove POSITION_FILL
      	  It does no good to have random thought experiments floating around.
      
      2003-06-12  Jody Goldberg <jody@gnome.org>
      
      	* graph/gog-guru.c (graph_guru_type_selector_new) : add an accelerator
      	  for the plot family selector.
      2fc4f248
  5. 10 Aug, 2002 1 commit
    • Zbigniew Chyla's avatar
      :get_description): New method (PluginService): Added saved_description · 823fdb6d
      Zbigniew Chyla authored
      
      2002-08-09  Zbigniew Chyla  <cyba@gnome.pl>
      
      	* src/plugin-service.[ch]
      	(PluginServiceClass::get_description): New method
      	(PluginService): Added saved_description field
      	(plugin_service_general_get_description,
      	plugin_service_file_opener_get_description,
      	plugin_service_file_saver_get_description,
      	plugin_service_function_group_get_description,
      	plugin_service_plugin_loader_get_description,
      	plugin_service_ui_get_description):
      	Implementations of the new method
      	(plugin_service_get_description):
      	New, store generated strings in service->saved_description
      
      	* src/plugin.[ch]
      	(gnm_plugin_get_extra_info_list): Removed
      	(gnm_plugin_get_services): New
      
      	* src/plugin-loader.[ch]
      	(gnumeric_plugin_loader_get_extra_info_list,
      	GnumericPluginLoaderClass::get_extra_info_list): Removed
      
      	* src/plugin-loader-module.c
      	(gnumeric_plugin_loader_module_info_get_extra_info_list): Removed
      823fdb6d
  6. 09 Aug, 2002 1 commit
    • Jody Goldberg's avatar
      clean names before deps so that we don't end up with stale deps in a name · 36a30eef
      Jody Goldberg authored
      
      2002-08-09  Jody Goldberg <jody@gnome.org>
      
      	* src/dependent.c (sheet_deps_destroy) : clean names before deps
      	  so that we don't end up with stale deps in a name dep list.
      	(workbook_deps_destroy) : clear sheet names too.
      
      	* src/expr-name.c (expr_name_shutdown) : deactivate the builtins
      	  before freeing them.
      
      2002-06-28  J.H.M. Dassen (Ray) <jdassen@debian.org>
      
      	MIME consistency improvements
      	* icons/gnome-application-vnd.lotus-1-2-3.png,
      	  icons/gnome-application-x-applix-spreadsheet.png,
      	  icons/gnome-application-x-generic-spreadsheet.png,
      	  icons/gnome-application-x-generic-spreadsheet.png: New (from mc and
      	  gnome-mime-data).
      	* icons/Makefile.am: Updated for new icons.
      	* gnumeric.keys.in: Added application/vnd.lotus-1-2-3,
      	  application/x-applix-spreadsheet, application/x-oleo,
      	  application/x-xbase
      	* gnumeric.mime: Changed application/x-applix to
      	  application/x-applix-spreadsheet to be consistent with the type
      	  elsewhere; added application/vnd.lotus-1-2-3 with extensions as per
      	  http://www.iana.org/assignments/media-types/application/vnd.lotus-1-2-3
      
      2002-06-02  J.H.M. Dassen (Ray) <jdassen@debian.org>
      
      	* debian/*: updated.
      	* src/cell.h: made declaration of cell_new a prototype.
      	* src/plugin.h: declare printf format attribute for plugin_message.
      	* src/print.c: removed duplicate declaration of print_debugging (which
      	  is already declared via libgnumeric.h .
      
      2002-08-08  Jody Goldberg <jody@gnome.org>
      
      	* src/expr-name.c (expr_name_shutdown) : fix
      36a30eef
  7. 06 Aug, 2002 1 commit
    • Zbigniew Chyla's avatar
      Put information about PLUGIN_ALWAYS_LOAD in the comment. · a265fecb
      Zbigniew Chyla authored
      
      2002-08-06  Zbigniew Chyla  <cyba@gnome.pl>
      
      	* src/plugin.h: Put information about PLUGIN_ALWAYS_LOAD in the comment.
      
      	* src/plugin-service.c (plugin_service_activate):
      	Load before activating if PLUGIN_ALWAYS_LOAD is defined.
      
      	* src/plugin-loader.c
      	(gnumeric_plugin_loader_load_base, gnumeric_plugin_loader_unload_base):
      	Pass sensible level value to plugin_message().
      
      	* src/plugin.c
      	(plugin_info_read, plugins_init, plugins_shutdown): ditto
      a265fecb
  8. 04 Aug, 2002 3 commits
    • Zbigniew Chyla's avatar
      Made public (for use by plugin manager). · ee103e24
      Zbigniew Chyla authored
      
      2002-08-04  Zbigniew Chyla  <cyba@gnome.pl>
      
      	* src/plugin.[ch]
      	(plugin_db_activate_plugin_list, plugin_db_deactivate_plugin_list):
      	Made public (for use by plugin manager).
      ee103e24
    • Zbigniew Chyla's avatar
      removed PLUGIN_GCONF_KNOWN · 16fe67a3
      Zbigniew Chyla authored
      
      2002-07-31  Zbigniew Chyla  <cyba@gnome.pl>
      
      	* src/gnumeric-gconf-priv.h: removed PLUGIN_GCONF_KNOWN
      
      	* src/gnumeric-gconf.[ch]
      	(gnm_gconf_get_known_plugins, gnm_gconf_set_known_plugins): removed
      
      	* src/gutils.h
      	(g_string_s]list_copy): added cast to GnmMapFunc
      	(GNM_[S]LIST_APPEND): new
      	(GNM_SIZEOF_ARRAY): cast to int, unsigned ints are evil
      
      	* src/plugin-loader.c
      	(gnumeric_plugin_loader_unload_service_general_real,
      	gnumeric_plugin_loader_unload_service_file_opener_real,
      	gnumeric_plugin_loader_unload_service_file_saver_real,
      	gnumeric_plugin_loader_unload_service_function_group_real,
      	gnumeric_plugin_loader_unload_service_plugin_loader_real):
      	made static
      
      	* src/plugin.[ch]
      	(struct _GnmPlugin): added saved_textdomain
      	(gnm_plugin_init): set saved_textdomain to NULL
      	(gnm_plugin_finalize): g_free it here
      	(gnm_plugin_get_config_prefix): removed
      	(gnm_plugin_get_textdomain): new
      16fe67a3
    • Zbigniew Chyla's avatar
      Added typedefs: GnmPlugin, PluginService, GnumericPluginLoader. · ce03576b
      Zbigniew Chyla authored
      
      2002-07-22  Zbigniew Chyla  <cyba@gnome.pl>
      
      	* src/gnumeric.h:
      	Added typedefs: GnmPlugin, PluginService, GnumericPluginLoader.
      
      	* src/gutils.h: New macros: GNM_LIST_FOREACH, GNM_LIST_PREPEND,
      	GNM_LIST_REMOVE, GNM_LIST_CONCAT, GNM_LIST_REVERSE,
      	GNM_SLIST_FOREACH, GNM_SLIST_PREPEND,
      	GNM_SLIST_REMOVE, GNM_SLIST_CONCAT, GNM_SLIST_REVERSE.
      
      	* src/gutils.c: Fixed typo in comment.
      
      	* src/plugin-loader-module.h: s/PluginInfo/GnmPlugin/
      
      	* src/plugin-loader-module.c:
      	(ServiceLoaderDataGeneral): Removed module_func_can_deactivate.
      	(gnumeric_plugin_loader_module_func_can_deactivate): Removed
      	(gnumeric_plugin_loader_module_set_attributes):
      	Adjusted to plugin-loader.c (read attributes from GHashTable).
      	s/..._load/..._load_base/
      	s/..._unload/..._unload_base/
      	Use new macros from gutils.h.
      
      	* src/plugin-loader.[ch]
      	s/..._load/..._load_base/
      	s/..._unload/..._unload_base/
      	s/is_loaded/is_base_loaded/
      	s/PluginInfo/GnmPlugin/
      	(GnumericPluginLoaderClass::set_attributes,
      	gnumeric_plugin_loader_set_attributes: Changed signature, read
      	attributes from GHashTable, not from two lists.
      	(gnumeric_plugin_loader_load_base): Ignore dependencies, now
      	GnmPlugin object is responsible for this.
      	(gnumeric_plugin_loader_unload_base): Ditto
      	(gnumeric_plugin_loader_load_service): Don't load base part of the
      	plugin, plugin takes care of this.
      
      	* src/plugin-service.[ch]:
      	s/PluginInfo/GnmPlugin/
      	(PluginServiceGeneral::plugin_func_can_deactivate,
      	plugin_service_can_deactivate,
      	plugin_service_*_can_deactivate,
      	plugin_services_data_new, plugin_services_data_free,
      	PluginServicesData, plugin_service_can_deactivate): Removed.
      	(plugin_service_plugin_loader_initialize): Use plugins_register_loader,
      	passing loader id as "plugin-id:loader-service-id".
      	(plugin_service_plugin_loader_cleanup): Ditto, plugins_unregister_loader.
      	Use new macros from gutils.h.
      
      	* src/plugin.[ch]
      	Cut down the number of public functions by 20.
      	Documented most public functions.
      	Made PluginInfo a GObject, renamed to GnmPlugin.
      	GnmPlugin sends signals on state change (active, loaded,
      	can_deactivate).
      	Removed _peek functions, no need for two types of getters.
      	Remember "plugin file state" only for plugins from previous Gnumeric
      	session (so that the list doesn't get bigger with every Gnumeric
      	version installing .../gnumeric/version/plugins/... directories).
      	Don't save known plugins separately, use the above list.
      	Store available plugins in hash table for faster lookups by id.
      	Ditto for loaders.
      	Removed strange *_init, *_shutdown functions, now everything is in
      	plugins_init and plugins_shutdown.
      	Automatically add plugin containing loader to the list of plugin
      	dependencies (it's easy because loader id is now:
      	plugin_id + ":" + service_id).
      	Detect cyclic dependencies during activation/deactivation.
      	Very simple method for determining whether plugin can be deactivated
      	- use "plugin usage counter" (increased by dependent plugins or plugin
      	services if something keeps references to plugin structures).
      	Validate plugin id, it may include only letters, digits and underscore.
      	Removed ugly enums/structs (PluginDependencyType,
      	PluginLoaderStaticInfo, PluginLoaderTypeInfo).
      	Other simplifications.
      	No new features.
      	Use new macros from gutils.h (it looks so much better).
      ce03576b
  9. 13 May, 2002 1 commit
    • Andreas J. Guelzow's avatar
      add rescan button deleted (cb_pm_button_rescan_directories_clicked) : new · 079e081e
      Andreas J. Guelzow authored
      2002-05-13  Andreas J. Guelzow <aguelzow@taliesin.ca>
      
      	* plugin-manager.glade : add rescan button
      	* dialog-plugin-manager.c (cb_pm_button_install_plugin_clicked) :
      	  deleted
      	(cb_pm_button_rescan_directories_clicked) : new
      	(pm_dialog_init) : link button to cb_pm_button_rescan_directories_clicked
      	(cb_dir_changed_notification) : call cb_pm_button_rescan_directories_clicked
      	(dialog_plugin_manager) : stoer button pointer
      
      2002-05-13  Andreas J. Guelzow <aguelzow@taliesin.ca>
      
      	* src/plugin.c (gnumeric_extra_plugin_dirs) : don't memorize the
      	  answer
      	(plugin_db_rescan) : new
      	* src/plugin.h (plugin_db_rescan) : new
      079e081e
  10. 15 Apr, 2002 1 commit
    • Andreas J. Guelzow's avatar
      use get/set methods of gnumeric-gconf.h switch from gnome-config to gconf · 7d3c6bfa
      Andreas J. Guelzow authored
      2002-04-15  Andreas J. Guelzow <aguelzow@taliesin.ca>
      
      	* dialog-function-select.c : use get/set methods of gnumeric-gconf.h
      	* dialog-plugin-manager.c : switch from gnome-config to gconf
      	* dialog-preferences.c : add include
      
      2002-04-15  Andreas J. Guelzow <aguelzow@taliesin.ca>
      
      	* schemas/gnumeric-dialogs.schemas : new plugin schemas
      	* src/Makefile.am : add src/gnumeric-gconf.c and src/gnumeric-gconf-priv.h
      	* src/application.c : use get/set methods from src/gnumeric-gconf.h
      	* src/commands.c : change include
      	* src/error-info.c : switch to GSLists from GLists
      	* src/error-info.h : switch to GSLists from GLists
      	* src/gnumeric-gconf.h : new get/set methods
      	* src/gnumeric-gconf.c : new
      	* src/gnumeric-gconf-priv.h : formerly src/gnumeric-gconf.h
      	* src/gui-util.c : switch to GSLists from GLists
      	* src/gutils.h : some new g_slist functions
      	* src/gutils.c : some new g_slist functions
      	* src/libgnumeric.c : use get/set methods from src/gnumeric-gconf.h
      	* src/plugin-loader-module.c : switch to GSLists from GLists
      	* src/plugin-loader.c : switch to GSLists from GLists
      	* src/plugin-loader.h : switch to GSLists from GLists
      	* src/plugin-service.c : switch to GSLists from GLists
      	* src/plugin.c : switch to GSLists from GLists and use gconf
      	* src/plugin.h : switch to GSLists from GLists
      	* src/workbook-control-gui.c : use get/set methods from src/gnumeric-gconf.h
      7d3c6bfa
  11. 09 Mar, 2002 1 commit
    • Jon K Hellan's avatar
      Dump function definitions from plugins, this time the easy way which even · 971f7c82
      Jon K Hellan authored
      2002-03-09  Jon K Hellan  <hellan@acm.org>
      
      	Dump function definitions from plugins, this time the easy way
      	which even works.
      
      	* src/func.c (copy_hash_table_to_ptr_array): Copy also when fd->help
      	is NULL.
      	(function_dump_defs): Load function definition before dumping name
      	only function.
      
      	* src/main.c (main): Drop force load argument to plugins_init.
      
      	* src/plugin.[ch] (activate_plugin, plugin_db_activate_plugin_list,
      	plugin_db_activate_saved_active_plugins, plugins_init): Revert to
      	pre 2002-03-08 version. We apologize for the inconvenience.
      	However, error reporting by means of gnumeric_error_error_info
      	remains.
      
      	* src/plugin-service.[ch]
      	(plugin_service_function_group_initialize): Revert to pre
      	2002-03-08 version.
      	(plugin_service_activate): Ditto. Except that we don't reinstate
      	#ifdef PLUGIN_ALWAYS_LOAD. That branch is hopelessly bitrotted.
      
      	* src/plugin.h: Drop #undef PLUGIN_ALWAYS_LOAD.
      
      2002-03-09  Jon K Hellan  <hellan@acm.org>
      
      	* src/dialogs/dialog-plugin-manager.c
      	(cb_pm_button_activate_plugin_clicked,
      	cb_pm_button_activate_all_clicked): Revert to pre 2002-03-08
      	version. We apologize for the inconvenience.
      971f7c82
  12. 08 Mar, 2002 1 commit
    • Jon Kåre Hellan's avatar
      Add. · a7133935
      Jon Kåre Hellan authored
      * src/command-context-stderr.[ch]: Add.
      
      * src/Makefile.am: Add command-context-stderr.[ch]
      
      * src/main.c (main): Force load plugins before dumping function
      definitions.
      
      * src/plugin.[ch] (activate_plugin, plugin_db_activate_plugin_list,
      plugin_db_activate_saved_active_plugins, plugins_init): Add
      force_load parameter.
      (plugins_init): Use virtual function gnumeric_error_error_info to
      report error.
      
      * src/plugin-service.[ch]
      (plugin_service_function_group_initialize): Add force_load
      parameter. Get function info if force loaded.
      (plugin_service_activate): Propagate force_load parameter.
      
      * src/gnumeric.h: Declare CommandContextStderr.
      
      * src/func.[ch] (function_def_get_full_info_if_needed): Make
      public so that it's available when force-loading plugins.
      
      * src/error-info.c (error_info_print_with_offset): Print to stderr
      instead of stdout.
      
      * dialog-plugin-manager.c (cb_pm_button_activate_plugin_clicked):
      Add parameter force_load = FALSE to activate_plugin call.
      (cb_pm_button_activate_all_clicked): Add parameter force_load =
      FALSE to plugin_db_activate_plugin_list call.
      a7133935
  13. 15 Feb, 2002 1 commit
    • Jody Goldberg's avatar
      We can now make distcheck · f84a08c5
      Jody Goldberg authored
      Requires a GAL update, and a gtk+ update
      
      2002-02-15  Jody Goldberg <jody@gnome.org>
      
      	* src/item-cursor.c (item_cursor_tip_setlabel) : enable now that the
      	  canvas bug is fixed.
      
      	* src/sheet-control-gui.c (cb_hscrollbar_adjust_bounds) : new.
      	(cb_vscrollbar_adjust_bounds) : new.
      
      	* src/gui-util.c (gtk_button_stock_alignment_set) : new.
      	(gnumeric_init_help_button) : new.
      
      	* src/gnumeric-canvas.h : Move declaration of
      	  GnumericCanvasSlideHandler here.
      
      	* src/gnumeric-canvas.c (gnm_canvas_guru_key) : forward to the entry,
      	  not the GnumericExprEntry wrapper.
      	(gnm_canvas_key_mode_sheet) : ditto.
      
      	* src/formats.c (cell_format_classify) : handle general.
      
      	* src/file-priv.h : Inherit from GObject.
      
      	* src/complete-sheet.c (complete_sheet_finalize) : call class_peek
      	  here to avoid potential reference problems.
      
      	* src/commands.c (cmd_set_text) : doh!  fix multi-line text.
      	(cmd_autoformat) : const.
      
      	* src/cell.c (cell_relocate) : const.
      	* src/clipboard.c (paste_cell_with_operation) : const.
      	(paste_cell) : ditto.
      
      	* src/application.c (application_init) : add jimmac's expr-entry icon.
      
      	* src/Makefile.am : distribute the marshaller.list
      
      	s/GtkType/GType/
      	s/GtkSignalFunc/GCallback/
      	s/gtk_signal_connect/g_signal_connect/  + reformating.
      	s/GTK_CHECK_CAST/G_TYPE_CHECK_INSTANCE_CAST/
      	s/GTK_CHECK_TYPE/G_TYPE_CHECK_CLASS_CAST/
      	s/GTK_CHECK_CLASS_CAST/G_TYPE_CHECK_INSTANCE_TYPE/
      	s/GTK_CHECK_CLASS_TYPE/G_TYPE_CHECK_CLASS_TYPE/
      
      2002-02-11  Jody Goldberg <jody@gnome.org>
      
      	* src/stf.c (stf_init) : Make the names of the text import/export
      	  clearer.
      f84a08c5
  14. 13 Dec, 2001 1 commit
    • Jody Goldberg's avatar
      back port some gnome2 work. · 9036243f
      Jody Goldberg authored
      2001-12-13  Jody Goldberg <jody@gnome.org>
      
      	s/gnome-xml/libxml/
      
      	* src/workbook.c (workbook_set_filename) : const.
      
      	* src/workbook-control-gui.c (wb_control_gui_focus_cur_sheet) : back
      	  port some gnome2 fixes.
      	(cb_notebook_switch_page) : ditto.
      
      	* src/workbook-edit.c (auto_complete_matches) : Use
      	  gtk_editable_get_position.
      
      	* src/plugin-loader.h (gnumeric_plugin_loader_get_type) : fix return type.
      
      	* src/plugin-loader.c : Use PL_GET_CLASS.
      
      	* src/item-bar.c (item_bar_translate) : delete useless.
      	* src/item-cursor.c (item_cursor_translate) : delete useless.
      	* src/item-edit.c (item_edit_translate) : delete useless.
      	(point_is_inside_range) : Use gtk_editable_get_position.
      
      	* src/gui-file.c (gui_file_import) : const.
      
      	* src/complete-sheet.c (free_search) : unused.
      	(complete_sheet_finalize) : protect.
      	(complete_sheet_destroy) : delete.
      
      	* configure.in : explicitly add gdk_pixbuf just in case gnome-print
      	  doesn't.
      
      	* src/sheet-autofill.c (sheet_autofill) : pass singleton_increment to.
      	(sheet_autofill_dir) : here.
      	(autofill_create_fill_items) : here.
      	(autofill_compute_delta) : and here. Use singleton_increment.  Handle
      	  singleton date fills.
      
      2001-12-13  Jody Goldberg <jody@gnome.org>
      
      	* src/workbook.c (workbook_set_filename) : const.
      
      	* src/gui-file.c (gui_file_import) : const.
      9036243f
  15. 19 Jun, 2001 1 commit
  16. 07 May, 2001 1 commit
    • Chyla Zbigniew's avatar
      Improved plugin system performance & scalability: - reading plugin · 4e17aadc
      Chyla Zbigniew authored
      
      Improved plugin system performance & scalability:
      - reading plugin information from file only if necessary
        (usually when activating a plugin)
      - some minor optimizations (using hashes instead of lists, etc.)
      
      * src/Makefile.am
      (GNUMERIC_BASE_SOURCES): Sorted some items.
      
      * src/gutils.h (g_list_to_vector_custom): New macro.
      
      * src/plugin.c:
      Made some functions static.
      s/plugin_loader_get_by_id/plugin_loader_get_type_by_id/
      (struct _PluginInfo): Added has_full_info field.
      (get_file_state_as_string, plugin_file_state_as_string,
      plugin_file_state_from_string, plugin_file_state_free,
      plugin_cache_init, plugin_cache_shutdown):
      New functions, support for caching information about plugin ids
      stored in XML files (together with modification dates).
      (plugin_info_read_full_info_if_needed_error_info,
      plugin_info_read_full_info_if_needed): New functions loading missing
      plugin information from file if necessary.
      (plugin_info_read):
      Use existing PluginInfo struct rather than creating a new one,
      take XML file name (not parsed XML tree) as an argument.
      (plugin_info_new_from_xml):
      New function, creates new PluginInfo struct from XML file (using
      plugin_info_read).
      (plugin_info_new_with_id_and_dir_name_only):
      New function, creates new PluginInfo struct with only plugin id and
      directory name given (sets has_full_info to FALSE).
      (plugin_info_get_name, plugin_info_get_description,
      plugin_info_get_extra_info_list, plugin_info_is_active,
      plugin_info_peek_name, plugin_info_peek_description,
      plugin_info_peek_loader_type_str,
      plugin_info_provides_loader_by_type_str,
      plugin_info_is_loaded, plugin_info_peek_services_data,
      plugin_info_get_loader,
      plugin_inc_dependants, plugin_dec_dependants,
      plugin_dependencies_inc_dependants,
      plugin_dependencies_dec_dependants,
      plugin_get_loader_if_needed, activate_plugin, deactivate_plugin,
      plugin_can_deactivate, plugin_info_force_mark_inactive,
      plugin_load_service, plugin_unload_service,
      plugin_load_dependencies):
      Read full plugin information if needed.
      (plugin_info_free):
      Don't try to free most data if has_full_info == FALSE.
      (plugin_info_list_read_for_dir):
      Return one PluginInfo instead of a list, create incomplete
      PluginInfo (using plugin_info_new_with_id_and_dir_name_only) if
      found a directory in plugin_file_state_dir_hash.
      (plugin_info_list_read_for_subdirs_of_dir):
      Don't check if current file is a directory (it'll be detected
      anyway).
      (plugin_db_get_known_plugin_id_list,
      plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
      plugin_db_get_saved_active_plugin_id_list,
      plugin_db_is_saved_active_plugin):
      Removed.
      (plugin_db_get_available_plugin_info_list): Just return
      available_plugin_info_list, never fail.
      (plugin_db_mark_plugin_for_deactivation,
      plugin_db_is_plugin_marked_for_deactivation, plugins_shutdown):
      Use hash table (plugins_marked_for_deactivation_hash) instead of
      a list.
      (plugin_db_init): Initialize available_plugin_info_list and
      saved_active_plugin_id_list here, use a hash table when detecting
      new plugins.
      (plugins_init): Call plugin_cache_init.
      (plugins_init): Call plugin_cache_shutdown.
      
      * src/plugin.h
      (plugin_info_read, plugin_info_print, plugin_info_list_read_for_dir,
      plugin_info_list_read_for_subdirs_of_dir,
      plugin_info_list_read_for_subdirs_of_dir_list,
      plugin_info_list_read_for_all_dirs,
      plugin_db_extend_known_plugin_id_list, plugin_db_is_known_plugin,
      plugin_db_extend_saved_active_plugin_id_list,
      plugin_db_is_saved_active_plugin,
      plugin_db_activate_saved_active_plugins):
      Removed (most of them are now static functions).
      
      * src/plugin-service.c
      (plugin_service_file_saver_initialize): Fixed serious typo.
      
      * src/dialogs/dialog-plugin-manager.c
      (cb_pm_button_activate_plugin_clicked,
      cb_pm_button_activate_all_clicked,
      cb_pm_button_deactivate_all_clicked,
      update_plugin_manager_view): Adjusted to
      plugin_db_get_available_plugin_info_list signature change.
      
      * plugins/applix/plugin.xml, plugins/dif/plugin.xml,
      plugins/excel/plugin.xml, plugins/gb/plugin.xml,
      plugins/gda/plugin.xml, plugins/gnome-glossary/plugin.xml,
      plugins/guile/plugin.xml, plugins/html/plugin.xml,
      plugins/lotus-123/plugin.xml, plugins/numtheory/plugin.xml,
      plugins/oleo/plugin.xml, plugins/perl/plugin.xml,
      plugins/plan-perfect/plugin.xml, plugins/py-func/plugin.xml,
      plugins/python/plugin.xml, plugins/python-loader/plugin.xml,
      plugins/sc/plugin.xml, plugins/sylk/plugin.xml,
      plugins/xbase/plugin.xml, plugins/xml_sax/plugin.xml:
      Removed <gnumeric_plugin_group> tags. Now every directory may contain
      only one plugin.
      4e17aadc
  17. 31 Mar, 2001 1 commit
    • Chyla Zbigniew's avatar
      Replaced PLUGIN_MESSAGE macro with plugin_message function to avoid · f9ad8cb6
      Chyla Zbigniew authored
      
      * src/plugin.[ch]: Replaced PLUGIN_MESSAGE macro with plugin_message
      function to avoid portability problems (some compilers don't support
      vararg macros), added "level" argument.
      
      * src/plugin-loader.c (gnumeric_plugin_loader_load,
      gnumeric_plugin_loader_unload): Adjusted to plugin.h.
      f9ad8cb6
  18. 30 Mar, 2001 2 commits
  19. 20 Mar, 2001 1 commit
    • Chyla Zbigniew's avatar
      Added support for plugin dependencies + some fixes. · 99ad3568
      Chyla Zbigniew authored
      
      Added support for plugin dependencies + some fixes.
      
      * src/gutils.h (g_list_to_vector, g_vector_free_custom):
      New macros. (used macros instead of functions to avoid casting and
      pointer size problems - ANSI C doesn't guarantee that
      sizeof (void *) == sizeof (something_else *).
      
      * src/plugin-loader.c
      (gnumeric_plugin_loader_load): Load required plugin dependencies
      before the plugin itself, increment n_deps for every loaded
      dependency (by calling plugin_dependencies_inc_dependants).
      (gnumeric_plugin_loader_unload): New function.
      (gnumeric_plugin_loader_load_service): Increment number of loaded
      services if loaded succesfully.
      (gnumeric_plugin_loader_unload_service): Decrement number of loaded
      services if unloaded succesfully, unload plugin if it reaches zero.
      
      * src/plugin-loader.h
      (struct _GnumericPluginLoader): Added n_loaded_services.
      (gnumeric_plugin_loader_unload): New function.
      
      * src/plugin-service.c:
      (plugin_service_file_opener_open_func,
      plugin_service_file_saver_save_func):
      Used gnumeric_io_error_occurred (and gnumeric_io_clear_error) when
      checking for error.
      
      * src/plugin.c:
      (plugins_active_by_default): Array containing ids of "standard"
      plugins. These will be active by default.
      (struct _PluginDependency): New struct.
      (struct _PluginInfo): Added dependencies_v, d_deps. Replaced
      service_list with services_v (vector in place of list).
      (plugin_info_get_config_prefix, plugin_dependency_get_plugin_info,
      plugin_info_read_dependency_list, plugin_dependency_free,
      plugin_inc_dependants, plugin_dec_dependants,
      plugin_dependencies_inc_dependants,
      plugin_dependencies_dec_dependants,
      plugin_load_dependencies):
      New functions.
      (plugin_info_provides_loader_by_type_str, plugin_info_free):
      Adjusted to service_list -> services_v change.
      (plugin_info_read): Read (optional) dependencies, adjusted to
      service_list -> services_v change.
      (activate_plugin):
      Activate required dependencies before the plugin itself.
      Increment n_deps for every activated dependency (by calling
      plugin_dependencies_inc_dependants).
      Adjusted to service_list -> services_v change.
      (deactivate_plugin):
      Decrement n_deps for every activated dependency (by calling
      plugin_dependencies_dec_dependants).
      Adjusted to service_list -> services_v change.
      (plugin_can_deactivate):
      Return FALSE if any of n_deps > 0.
      Adjusted to service_list -> services_v change.
      (plugin_list_sort_by_dependency): Removed.
      (plugin_db_activate_plugin_list): Removed sorting.
      (plugin_db_init): Always activate new plugin if it's defined in
      plugins_active_by_default array.
      
      * src/plugin.h:
      (PluginDependencyType): New enum.
      (plugin_load_dependencies,
      plugin_inc_dependants, plugin_dec_dependants,
      plugin_dependencies_inc_dependants,
      plugin_dependencies_dec_dependants,
      plugin_info_get_config_prefix): New functions.
      99ad3568
  20. 13 Mar, 2001 1 commit
    • Jody Goldberg's avatar
      For Vlad Harchev <hvv@hippo.ru> · e63be68c
      Jody Goldberg authored
      2001-03-12  Jody Goldberg <jgoldberg@home.com>
      	For  Vlad Harchev <hvv@hippo.ru>
      
      	* widget-editable-label.c (editable_label_set_text) :
      	  Use colours from Style.
      
      2001-03-12  Jody Goldberg <jgoldberg@home.com>
      	For  Vlad Harchev <hvv@hippo.ru> :
      
      	* src/item-bar.c (item_bar_realize) :  Use colours from Style.
      e63be68c
  21. 05 Mar, 2001 1 commit
    • Chyla Zbigniew's avatar
      Fixes #51316 (actually, it fixes the _real_ problem). · 4f163da8
      Chyla Zbigniew authored
      
      Fixes #51316 (actually, it fixes the _real_ problem).
      
      * src/dialogs/dialog-plugin-manager.c
      (cb_pm_button_activate_plugin_clicked): If the plugin is already
      active, remove it from "marked for deactivation" list.
      (cb_pm_button_deactivate_plugin_clicked): If the plugin cannot be
      deactivated, optionally add it to "marked for deactivation" list
      (if the user wants to).
      (cb_pm_clist_row_selected):
      Make "Activate plugin" button sensitive for some active plugins (for
      those on "marked for deactivation" list).
      (cb_pm_clist_row_unselected):
      Bugfix: don't free pm_gui->current_plugin_id string.
      (update_plugin_manager_view):
      Display the plugin state after its name ("in memory", "marked for
      deactivation").
      (dialog_plugin_manager): Plug leak.
      
      * src/plugin.c
      (plugin_info_force_mark_inactive,
      plugin_db_mark_plugin_for_deactivation,
      plugin_db_is_plugin_marked_for_deactivation): New functions.
      (plugins_shutdown): Set all plugins on "marked for deactivation"
      list as inactive before saving active plugins in configuration.
      
      * src/plugin.h:
      (plugin_db_mark_plugin_for_deactivation,
      plugin_db_is_plugin_marked_for_deactivation): New functions.
      4f163da8
  22. 03 Mar, 2001 1 commit
    • Chyla Zbigniew's avatar
      Plugin code cleanup (removed unnecessary function arguments) + small · ed7ceda2
      Chyla Zbigniew authored
      
      Plugin code cleanup (removed unnecessary function arguments) + small
      fixes.
      
      * src/func.[ch]
      (struct _FunctionDefinition):
      Removed get_full_info_callback_data field.
      (function_add_name_only): Removed callback_data argument.
      (function_def_get_full_info_if_needed, FunctionGetFullInfoCallback):
      Now we just pass fn_def instead of name + callback_data.
      (function_call_with_list):
      Added missing function_def_get_full_info_if_needed() call.
      
      * src/plugin-loader.[ch]
      (gnumeric_plugin_loader_load_service,
      gnumeric_plugin_loader_unload_service):
      Return error (instead of crashing) if service is not supported.
      (gnumeric_plugin_loader_is_loaded): New function.
      
      * src/plugin-service.h
      (struct _PluginServiceGeneral, struct _PluginServiceFileOpener,
      struct _PluginServiceFileSaver, _PluginServicePluginLoader):
      Removed unneeded plugin argument from every function.
      
      * src/plugin-service.c
      (plugin_service_function_group_get_full_info_callback): Get fn_def
      arg instead of fn_name + callback_data.
      (plugin_service_function_group_initialize): Store pointer to service
      in fn_def's user_data.
      Adjusted to plugin-service.h (removed plugin argument).
      
      * src/plugin-loader-module.c
      (gnumeric_plugin_loader_module_func_init,
      gnumeric_plugin_loader_module_func_can_deactivate,
      gnumeric_plugin_loader_module_func_cleanup,
      gnumeric_plugin_loader_module_func_file_probe,
      gnumeric_plugin_loader_module_func_file_open,
      gnumeric_plugin_loader_module_func_file_save,
      gnumeric_plugin_loader_module_func_get_full_function_info,
      gnumeric_plugin_loader_module_func_get_loader_type):
      Adjusted to plugin-service.h (removed plugin argument).
      
      * src/plugin.[ch]
      s/plugin_load_loader_if_needed/plugin_get_loader_if_needed
      (plugin_info_get_extra_info_list): Get loader if it's not available.
      (plugin_info_is_loaded, plugin_info_get_loader): New functions.
      ed7ceda2
  23. 24 Feb, 2001 1 commit
    • Chyla Zbigniew's avatar
      Added files: plugin-service.[ch], plugin-loader.[ch], · a924975e
      Chyla Zbigniew authored
      
      * src/Makefile.am: Added files:  plugin-service.[ch],
      plugin-loader.[ch], plugin-loader-module.[ch], module-plugin-defs.h.
      
      * src/error-info.[ch] (error_info_new_from_errno): New function.
      
      * src/file.c
      (struct _FileOpener, struct _FileSaver): Moved from file.h
      (file_opener_get_format_description, file_opener_has_probe,
      file_saver_get_extension,  file_saver_get_format_description):
      New accessor functions.
      (file_opener_probe, file_opener_open, file_saver_save,
      file_opener_set_user_data, file_opener_get_user_data,
      file_saver_set_user_data, file_saver_get_user_data): New
      functions.
      (get_file_opener_by_id, get_file_saver_by_id): Removed
      Now using FileOpener*/FileSaver* instead of FileOpenerId/FileSaverId
      everywhere.
      
      * src/file.h
      (struct _FileOpener, struct _FileSaver): Moved to file.c.
      Adjusted to file.c.
      
      * src/gui-file.c: Adjusted to file.[ch], now FileSaver.extension
      field should contain real extension (without a dot).
      
      * src/func.[ch]
      (enum FunctionFlags, struct _FunctionDefinition): Moved from func.h
      to func.c.
      (struct _FunctionCategory): Added "internal_name" and "display_name"
      in place of "name" field.
      (function_get_category_with_translation,
      function_category_remove_func, func_get_ref_count, function_remove,
      function_add_name_only): New functions.
      Now it's possible to load function implementation on demand (after
      registering function using function_add_name_only() and providing
      function of type FunctionGetFullInfoCallback).
      Rename fd and fndef to fn_def for consistency.
      
      * src/functions/fn-database.c (database_functions_init),
      src/functions/fn-date.c (date_functions_init),
      src/functions/fn-eng.c (eng_functions_init),
      src/functions/fn-financial.c (finance_functions_init),
      src/functions/fn-information.c (information_functions_init),
      src/functions/fn-logical.c (logical_functions_init),
      src/functions/fn-lookup.c (lookup_functions_init),
      src/functions/fn-math.c (math_functions_init),
      src/functions/fn-sheet.c (sheet_functions_init),
      src/functions/fn-stat.c (stat_functions_init),
      src/functions/fn-string.c (string_functions_init):
      Use function_get_category_with_translation, instead of
      function_get_category.
      
      * src/plugin.[ch]
      (struct _PluginInfo): Removed many fields.
      (plugin_info_get_extra_info_list):
      Just call gnumeric_plugin_loader_get_extra_info_list.
      (plugin_info_peek_services_data, plugin_info_peek_loader_type_str):
      New accessor functions.
      (plugin_info_read_service_list, plugin_info_read_loader,
      plugin_info_read):
      Read services and loader info, use functions from
      gal/util/e-xml-utils.h everywhere.
      (activate_plugin, deactivate_plugin): Just activate/deactivate all
      plugin services.
      (plugin_can_deactivate): Ask plugin services.
      (plugin_load_service, plugin_unload_service,
      plugin_info_offers_loader_by_type_str,
      plugin_loader_register_type, plugin_loader_register_id_only,
      plugin_loader_get_by_id, plugin_loader_is_available_by_id,
      plugin_list_sort_by_dependency):
      New functions.
      (plugin_db_activate_plugin_list): Activate plugins in correct order,
      using plugin_list_sort_by_dependency function.
      (plugin_info_print): Removed.
      (module_plugin_print_info, module_plugin_info_get_extra_info_list,
      module_plugin_free, module_plugin_info_read, module_plugin_activate,
      module_plugin_deactivate, module_plugin_can_deactivate): Removed,
      most code  moved to plugin-loader.c and plugin-loader-module.c.
      
      * src/plugin-service.[ch]: New files, support for plugin services
      (five types of these so far).
      
      * src/plugin-loader.[ch]: New files, base class for plugin loaders.
      
      * src/plugin-loader-module.[ch]: New files, support for "g_module"
      plugins.
      
      * src/plugin-util.[ch] (gnumeric_fopen_error_info,
      gnumeric_open_error_info, gnumeric_mmap_error_info): New functions.
      
      * src/gutils.[ch] (g_list_free_custom, g_slist_free_custom,
      gnumeric_time_counter_push, gnumeric_time_counter_pop):
      New functions.
      
      * src/io-context-priv.h (struct _IOContext): Added error_info field.
      
      * src/io-context.[ch] (gnumeric_io_context_new,
      gnumeric_io_context_free, gnumeric_io_error_info_set,
      gnumeric_io_error_info_push, gnumeric_io_error_info_pop,
      gnumeric_io_error_info_clear, gnumeric_io_error_info_display,
      gnumeric_io_has_error_info): New functions, quick hack to add
      support for ErrorInfo.
      
      * src/module-plugin-defs.h: New file, should be included be every
      g_module plugin.
      
      * src/auto-format.c: Use accessor function from func.h.
      
      * src/bonobo-io.c (gnumeric_bonobo_write_workbook,
      gnumeric_bonobo_read_workbook, gnumeric_bonobo_io_probe),
      src/stf.c (stf_read_workbook, stf_write_workbook),
      src/xml-io.[ch] (xml_probe, gnumeric_xml_read_workbook,
      gnumeric_xml_write_workbook):
      Signature changes.
      
      * src/workbook.c: Adjusted to
      workbook_load_from/gnumeric_xml_write_workbook signature change.
      
      * src/dialogs/dialog-function-select.c: Adjust to func.[ch].
      
      * src/dialogs/dialog-plugin-manager.c
      Adjust to plugin.[ch].
      (cb_pm_button_activate_plugin_clicked): Check if loader for current
      plugin is available, suggest activating loader plugin otherwise.
      a924975e
  24. 25 Jan, 2001 1 commit
    • Chyla Zbigniew's avatar
      Added error-info.[ch] · fbc4a7c5
      Chyla Zbigniew authored
      
      * src/Makefile.am (GNUMERIC_BASE_SOURCES): Added error-info.[ch]
      
      * error-info.[ch]: New files.
      
      * src/plugin.[ch]: New plugin engine.
      
      * src/dialogs/dialog-plugin-manager.c,
      src/dialogs/plugin-manager.glade,
      src/dialogs/plugin-manager.glade.h:
      New plugin manager.
      
      * src/main.c (gnumeric_main): Call plugins_shutdown() on shutdown.
      
      * src/bonobo-io.c
      (gnumeric_bonobo_write_workbook, gnumeric_bonobo_read_workbook,
      gnumeric_bonobo_io_probe): Added "user_data" arg.
      (gnumeric_bonobo_io_init): Saving saver/opener id.
      
      * src/file-autoft.c (gnumeric_extra_autoformat_dirs): Used
      gnumeric_config_get_string_list function.
      
      * src/file.c
      (file_format_register_open, file_format_register_save): Added
      user_data parameter, return FileOpenerId/FileSaverId.
      (file_format_unregister_open, file_format_unregister_save): Take
      only FileOpenerId/FileSaverId as parameter.
      (get_file_saver_by_id, get_file_opener_by_id): New functions.
      (do_load_from): Pass user_data parameter to "probe" and "open"
      functions.
      (workbook_save_as, workbook_save): Pass user_data parameter to "save"
      function.
      
      * src/file.h
      (FileFormatProbe, FileFormatOpen, FileFormatSave): Adder user_data
      parameter.
      (struct _FileOpener, struct _FileSaver): Added opener_id/saver_id
      field.
      (file_format_register_open, file_format_register_save):
      Added user_data parameter, return FileOpenerId/FileSaverId.
      (file_format_unregister_open, file_format_unregister_save):
      Take only FileOpenerId/FileSaverId as parameter.
      
      * src/gnumeric-util.[ch]
      (gnumeric_error_info_dialog_show, static ctree_insert_error_info):
      New functions displaying dialog with ErrorInfo contents.
      
      * src/gui-file.c (gui_file_import): Pass user_data parameter to
      "open" function.
      
      * src/gutils.[ch]
      New functions: gnumeric_config_get_string_list,
      gnumeric_config_set_string_list, g_string_list_copy,
      g_strsplit_to_list.
      (g_create_list): Added missing va_end().
      
      * src/stf.c (stf_read_workbook, stf_write_workbook): Added user_data
      parameter.
      
      * src/workbook.[ch] (workbook_set_saveinfo): Now takes file_saver_id
      instead of save_fn.
      
      * src/xml-io.c
      (xml_probe, gnumeric_xml_read_workbook, gnumeric_xml_write_workbook):
      Added user_data parameter.
      (xml_init): Store xml_opener_id and xml_saver_id.
      (gnumeric_xml_get_opener_id, gnumeric_xml_get_saver_id): New
      functions.
      fbc4a7c5
  25. 31 Oct, 2000 1 commit
    • Jody Goldberg's avatar
      Set LC_MONETARY and LC_NUMERIC. Ditto. (xml_workbook_read) : Ditto. · ffac72f5
      Jody Goldberg authored
      
      2000-10-31  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-view.c (wb_view_auto_expr) : Set LC_MONETARY and
      	  LC_NUMERIC.
      	* src/xml-io.c (xml_workbook_write) : Ditto.
      	(xml_workbook_read) : Ditto.
      
      2000-10-31  Jody Goldberg <jgoldberg@home.com>
      
      	* src/dialogs/*.[ch] : WorkbookControlGUI is now required for gui
      	  operations.  A WorkbookView is required to know which sheet is the
      	  current.
      
      	* src/xml-io.c : We now load/save WorkbookViews.
      
      	* src/xml-io-autoft.c : Adjust to signature changes.
      
      	* src/workbook.c : Split the View into WorkbookView.
      	  Abstract the Controler interface, and move the GUI specific
      	  implementation of the Controler into WorkbookControlGUI.
      
      	* src/workbook-view.c : Complete rewrite with correct semantics.
      
      	* src/workbook-private.h : Move all the GUI specific stuff into
      	  WorkbookControlGUI were it belongs.
      
      	* src/workbook-private.c (workbook_private_class_init) : Fix typo.
      
      	* src/workbook-edit.c : These are now WorkbookControlGUI specific.
      	  We should rename the functions eventually.
      	* src/workbook-format-toolbar.c : Ditto.
      	* src/workbook-object-toolbar.c : Ditto.
      
      	* src/workbook-cmd-format.c : Adjust to signature changes.
      	  and use WorkbookControlGUI were necessary.
      
      	* src/style.c (style_font_new_from) : Delete dead code.
      
      	* src/solver-lp.c : Adjust to signature changes.
      	* src/sort.c : Ditto.
      	* src/stf.c : Ditto. Make dialog conditional on gui-ness.
      
      	* src/sheet.c (sheet_new_sheet_view) : IS_SHEET checks for NULL.
      	(sheet_detach_sheet_view) : renamed from sheet_destroy_sheet_view
      	  and only take a SheetView as argument.
      	(sheet_new) : Do not create a view by default.
      	(sheet_update_zoom_controls) : foreach control.
      	(sheet_update_editpos) : ditto.
      	(sheet_update) : handle multiple views and controls.
      
      	* src/sheet-view.c : Commands take WorkbookControls rather than
      	  CommandContexts.
      
      	* src/sheet-object-widget.c : Most things take WorkbookControlGUI
      	  rather than Workbooks.
      
      	* src/sheet-object-container.c (sheet_object_container_new_view) :
      	  Use the uic from the WorkbookControlGUI.
      
      	* src/sheet-control.c : New file. Unused so far.
      	  cp sheet-view.c sheet-control.c
      	  s/SheetView/SheetControl/
      
      	* src/print.c : Make the GUI dependency explicit.
      	  At some point the setup dialog should be split out of here.
      
      	* src/main.c (gnumeric_main) : Explicitly create a WorkbookControlGUI
      	  only adding sheets if nothing was loaded.  Improve handing of exit
      	  request while loading.
      
      	* src/item-grid.c (item_grid_draw) : Filter the edit cell from here
      	  because we know which control to use.
      	(context_menu_hander) : Switch to WorkbookControlGUI.
      	(item_grid_popup_menu) : Ditto.
      
      	* src/item-edit.c : Everything takes a WorkbookControlGUI inplace of a
      	  Workbook now.
      
      	* src/item-cursor.c (item_cursor_target_region_ok) : dialog_run takes
      	  a WorkbookControlGUI.
      	(item_cursor_do_action) : All the commands take WorkbookControls.
      
      	* src/item-bar.c (item_bar_event) : item_grid_popup_menu takes a
      	  SheetView now.
      
      	* src/history.c : Take WorkbookControlGUI.
      	  Update all controls for each workbook.
      
      	* src/gui-clipboard.c : Use 'unsigned char'
      
      	* src/gnumeric.xml : More work to split commands from layout.
      
      	* src/gnumeric-util.c (gnumeric_no_modify_array_notice) : Delete.
      	(gnumeric_notice) : Take a WorkbookControlGUI.
      	(gnumeric_wb_dialog_run) : Ditto.
      	(gnumeric_dialog_run) : Ditto.
      	(gnumeric_dialog_show) : Ditto.
      	(gnumeric_set_transient) : Ditto.
      	(gnumeric_glade_xml_new) : Ditto.
      	(gnumeric_non_modal_dialog) : Ditto.
      	(gnumeric_inject_widget_into_bonoboui) : Ditto.
      
      	* src/gnumeric-sheet.c : SheetView now has a WorkbookControlGUI member
      	  to keep track of which control it is associated with. Use it.
      
      	* src/file.c : Adjust to lots of signature changes.
      	  We now load/save WorkbookView rather than Workbook.
      	  Add a placeholder struct IOContext so that we can consider doing
      	  smarter import/export and dealing with warnings and missing things
      	  smoothly.
      
      	* src/eval.c (workbook_recalc_all) : After a recalc update all views.
      
      	* src/commands.c (undo_redo_menu_labels) : foreach control.
      	(command_undo) : ditto.
      	(command_redo) : ditto.
      	(command_push_undo) : change signature.  The workbookcontrol
      	  now acts as the command context.
      
      	* src/cmd-edit.c : Adjust to signature changes.
      
      	* src/clipboard.c : split the gui specific X handlers out into a new
      	  file.
      	* src/gui-clipboard.c :  here.
      
      	* src/cell-draw.c (cell_draw) : Do not test the sheet for whether or
      	  not to we are editing.  That is at the control level.  Test it in
      	  the rendering loop.
      
      	* src/bonobo-io.c : FIXME. adjusted to signature changes.  Totatly
      	  broken for now.  This needs a View rather than a Model and should be
      	  associated with something.
      
      	* src/application.c (application_workbook_list_add) : New function.
      	(application_workbook_list_remove) : New function.
      	(application_workbook_list) : New function.
      	(application_clipboard_copy) : foreach control.
      	(application_clipboard_cut) : foreach control.
      	(application_clipboard_clear) : foreach control.
      	(application_workbook_foreach) : renamed from workbook_foreach.
      	(application_set_selected_sheet) : FIXME. Disabled for now.
      
      	* src/about.c (cb_closed) : Associated the flag with the control
      	  directly.
      	(dialog_about) : dialogs are associated with gui-controls.
      
      	* src/analysis-tools.c : change all dialog signatures to handle MVC
      	  split of workbook.
      
      2000-10-30  Jody Goldberg <jgoldberg@home.com>
      
      	* src/Makefile.am : Add new command-context,  io-context,
      	  workbook-view, workbook-control, workbook-control-gui files.
      	  Remove old command-context-gui, command-context-corba, and disable
      	  corba-* for now.
      
      2000-10-29  Jody Goldberg <jgoldberg@home.com>
      
      	* idl/gnumeric-graphs.idl : Remove studdly caps.  I wish people would
      	  make up their minds.
      
      	* idl/Gnumeric.idl : Remove Workbook::show.
      
      2000-10-29  Jody Goldberg <jgoldberg@home.com>
      
      	* BUGS : Update.
      	* NEWS : Update.
      	* TODO : Update.
      ffac72f5
  26. 27 Apr, 2000 1 commit
    • Morten Welinder's avatar
      Don't access memory that isn't ours to access. Constify. · b9b2b802
      Morten Welinder authored
      2000-04-27  Morten Welinder  <terra@diku.dk>
      
      	* src/plugin.c (plugin_load_plugins_in_dir): Don't access memory
       	that isn't ours to access.  Constify.
      	(plugin_data_last_modified): Constify.
      	(plugin_data_get_title): Constify.
      	(plugin_data_get_descr): Constify.
      	(plugin_data_get_size): Constify.
      	(plugin_data_get_user_data): Constify.
      
      
      2000-04-25  Morten Welinder  <terra@diku.dk>
      
      	* numtheory.c (gnumeric_ithprime): Up limit to 1000000.
      	(ithprime): Rework memory handling; up limit; optimize to not even
       	try even numbers.
      	(function_names): rename "nt_ithprime" back to "ithprime" as no
      	conflict is likely.
      b9b2b802
  27. 26 Mar, 2000 1 commit
    • Jody Goldberg's avatar
      Prep for release. · 831eef61
      Jody Goldberg authored
      DOM's plugin manger aesthetic adjustments.
      
      2000-03-25  Jody Goldberg <jgoldberg@home.com>
      
      	* src/sheet.c (sheet_{col,row}_set_size_pts) : Set the update flags.
      
      	* src/workbook.c : Add undo/redo elements.
      
      2000-03-25  Jody Goldberg <jgoldberg@home.com>
      
      	For Dom Lachowicz <cinamod@hotmail.com>
      
      	* src/plugin.[ch] (plugin_data_get_size,
      	  plugin_data_last_modified) : New functions.
      	(plugin_load): updated
      
      	* src/dialogs/dialog-plugin-manager.c
      	(dialog-plugin-manager-impl, refresh-right-frame): updated.
      
      	* src/dialogs/plugin-manager.glade,
      	  src/dialogs/plugin-manager.glade.h
      	  New layout, enabled word-wrap in description,
      	  Other aesthetic changes
      831eef61
  28. 24 Feb, 2000 1 commit
    • Michael Meeks's avatar
      Patch from Dom Lachowicz <dominicl@seas.upenn.edu>: · 2bdefefa
      Michael Meeks authored
      	Make the plugin registration process nicer and add user readable
      descriptions;
      
      Also:
      
      2000-02-24  Michael Meeks  <michael@helixcode.com>
      
      	* src/plugin.c (plugin_close): expand.
      
      2000-02-23  Dom Lachowicz <dominicl@seas.upenn.edu>
      
      	* src/widgets/widget-color-combo.[ch]:
      	In function color_table_construct() - moved tool_tip in order to
      	plug memory leak(called gtk_tooltips_new() too many times)
      
      	* src/functions/fn-database.c (gnumeric_daverage): add error for
      	-'ive count
      2bdefefa
  29. 16 Feb, 2000 1 commit
    • Jody Goldberg's avatar
      More header cleanup. Remove value.h and sheet.h from expr.h. Remove · c73b937c
      Jody Goldberg authored
      
      2000-02-15  Jody Goldberg <jgoldberg@home.com>
      
      	* *.[ch] : More header cleanup.  Remove value.h and sheet.h
      	  from expr.h.  Remove sheet.h from cell.h.
      
      2000-02-16  Dom Lachowicz <dominicl@seas.upenn.edu>
      
      	* src/plugin-manager.c : Move functionality.
      	* src/dialogs/dialog-plugin-manager.c : here.  and move to libglade.
      
      	* src/workbook.c (plugins_cmd) : Use dialog_plugin_manager instead
      	  of plugin_manager_new.
      c73b937c
  30. 28 Jan, 2000 1 commit
    • Jon K Hellan's avatar
      Megacommit. · 333a8167
      Jon K Hellan authored
      2000-01-29  Jon K Hellan  <hellan@acm.org>
      
      	Megacommit.
      
      	The purpose of the changeset is twofold:
      
      	1. Use CommandContexts for error reporting for file read/save.
      	2. This allows us to let FileFormatOpen return 0 on success, -1 on
      	   failure, same as FileFormatSave. The convention to return NULL
      	   on success was highly ideosyncratic.
      
      	* src/file.h (FileFormatOpen, FileFormatSave, workbook_load_from,
      	workbook_import): Add CommandContext
      	(FileFormatOpen, workbook_load_from): Return int instead of char*.
      
      	* src/file.c (workbook_load_from, workbook_try_read,
      	workbook_read, workbook_import, workbook_save_as, workbook_save)
      	(file_error_message): Remove function
      	(workbook_read, workbook_load_from, workbook_save_as,
      	workbook_save): Do not display message, message, plugin does -
      	using CommandContext.
      	(workbook_load_from): Return int instead of char*.
      	(workbook_load_from, workbook_import): fo->open returns int
      	instead of char*.
      	(workbook_try_read): Remove msg paramenter
      
      	* src/workbook.c (workbook_persist_file_load,
      	workbook_persist_file_save): Use workbook_command_context_gui.
      	(file_import_cmd): ditto
      	(file_open_cmd): ditto
      
      	* src/gnumeric-sheet.c (gnumeric_sheet_filenames_dropped): Use
      	workbook_command_context_gui. Call workbook_try_read without msg
      	argument.
      
      	* src/workbook.h (workbook_try_read, workbook_read,
      	workbook_save_as, workbook_save): Add command context
      	(workbook_try_read): Remove msg paramenter
      
      	* src/dialogs/dialog-autosave.c (dialog_autosave_callback):
      	ditto
      
      	* src/command-context.[ch] (gnumeric_error_read,
      	gnumeric_error_save): New functions.
      
      	* src/command-context-corba.c (ccc_error_read, ccc_error_save):
      	Ditto.
      	(ccc_init_class): Initialize error_read, error_save.
      
      	* src/command-context-gui.c (ccg_error_read, ccg_error_save):
      	Ditto.
      	(ccg_init_class): Initialize error_read, error_save.
      
      	* src/main.c (gnumeric_main): Make a CommandContext for use before
      	we make first workbook. Unref it when no longer needed. Call
      	plugins_init and workbook_read with CommandContext.
      
      	* src/plugin-manager.c (add_cb): Use gnumeric_error_plugin_problem.
      	(remove_cb): Ditto.
      
      	* src/plugin.c (plugin_load, plugin_unload): CommandContext
      	instead of workbook.
      	(plugins_init): Add CommandContext.
      
      	* src/plugin.c (plugin_load, plugin_unload): CommandContext
      	instead of workbook.
      	(plugin_unload): Use gnumeric_error_plugin_problem.
      	(plugin_load_plugins_in_dir, load_all_plugins, plugins_init): Add
      	CommandContext.
      
      	* src/xml-io.h:  ditto
      
      	* src/xml-io.c (gnumeric_xml_read_workbook,
      	gnumeric_xml_write_workbook):  ditto
      
      In plugins/dif:
      
      	* dif.c (dif_read_workbook, dif_write_workbook): Add
      	CommandContext.
      	(dif_read_workbook): Return 0 on success, -1 on failure.
      	 Use gnumeric_error_read to report errors.
      
      In plugins/excel:
      
      	* excel.h (ms_excel_read_workbook, ms_excel_write_workbook) Add
      	CommandContext. Return int.
      
      	* ms-excel-read.c (ms_excel_read_workbook): Add
      	CommandContext. Return 0 on success, -1 on failure. Use
      	gnumeric_error_read to display messages.
      
      	* ms-excel-write.c (write_sheet): Check max no. of rows for the
      	format.
      	(new_sheet): Return the ExcelSheet. Let caller add it to
      	wb->sheets.
      	(pre_pass): Add CommandContext.
      	(free_workbook): New function, previously in write_workbook.
      	(write_workbook): Change parameter from Workbook to ExcelWorkbook.
      	Move deallocation to free_workbook.
      	(check_sheet): New function. Check if we are able to save the
      	sheet.
      	(ms_excel_check_write): New function. Check if we are able to save
      	to the file. Do initialization previously in
      	ms_excel_write_workbook.
      	(ms_excel_write_workbook): Add CommandContext. Add state. Change
      	wb from Workbook to ExcelWorkbook. Use gnumeric_error_save to
      	report problems. Return 0 on success, -1 on failure.
      
      	* ms-excel-biff.h: Define enum for max no. of rows. Fix typo.
      
      	* boot.c (excel_load, excel_save, excel_save_98, excel_save_95):
      	Add CommandContext.
      	(excel_load): Return 0 on success, -1 on failure.
      	Use gnumeric_error_read to display messages. Remove "Opening .. "
      	message on stdout.
      	(excel_probe_write): New function. Check if we are able to save to
      	the file.
      	(excel_save): Use gnumeric_error_save to display messages.
      	Return 0 on success, -1 on failure.
      
      In plugins/ff-csv:
      
      	* csv-io.c (csv_read_workbook, csv_write_workbook,
      	csv_parse_sheet, csv_parse_field): Add CommandContext. Return 0 on
      	success, -1 on failure. Use gnumeric_error_read to report errors.
      
      In plugins/ff-stf:
      
      	* dialog-stf.h: Add CommandContext. Return int.
      
      	* dialog-stf.c (dialog_stf) : Add CommandContext. Return 0 on success,
      	-1 on failure. Use gnumeric_error_read to report errors.
      
      	* stf.c (stf_read_workbook): Ditto.
      
      In plugins/html:
      
      	* epsf.h (epsf_write_wb): Add CommandContext.
      
      	* epsf.c (epsf_write_wb): ditto.
      
      	* latex.h (html_write_wb_latex, html_write_wb_latex2e): ditto
      
      	* latex.c (html_write_wb_latex, html_write_wb_latex2e): ditto
      
      	* roff.c (html_write_wb_roff_ps, html_write_wb_roff_dvi,
      	html_write_wb_roff_pdf, html_write_wb_roff): ditto
      
      	* roff.c (html_write_wb_roff_ps, html_write_wb_roff_dvi,
      	html_write_wb_roff_pdf, html_write_wb_roff): ditto
      
      	* html.h (html_read, html_write_wb_html40, html_write_wb_html32):
      	ditto.
      	(html_read): Return int.
      
      	* html.c (html_read, html_write_wb_html40, html_write_wb_html32):
      	ditto
      	(html_read): Return 0 on success, -1 on failure. Use
      	gnumeric_error_read to report errors.
      
      In plugins/lotus-123:
      
      	* lotus.c (lotus_read): Add CommandContext. Return 0 on success,
      	-1 on failure. Use gnumeric_error_read to report errors. Close
      	file unconditionally.
      	(read_workbook): Return 0 on success, -1 on failure. Remove unused
      	panic_message variable.
      
      	* lotus.h (lotus_read): Add CommandContext. Return int.
      
      	* boot.c (lotus_load): Ditto
      
      In plugins/oleo:
      
      	* oleo.c (oleo_read): Add CommandContext. Return 0 on success,
      	-1 on failure. Use gnumeric_error_read to report errors.
      
      	* oleo.h (oleo_read): Add CommandContext. Return int.
      
      	* boot.c (oleo_load): Ditto.
      
      In plugins/plan-perfect:
      
      	* pln.c (pln_parse_sheet, pln_read_workbook): Add
      	CommandContext. Return 0 on success, -1 on failure. Use
      	gnumeric_error_read to report errors.
      
      In plugins/sc:
      
      	* sc.c (sc_read_workbook, sc_parse_sheet): Add
      	CommandContext. Return 0 on success, -1 on failure.  Use
      	gnumeric_error_read to report errors.
      
      In plugins/sylk:
      
      	* sylk.c (sylk_read_workbook, sylk_parse_sheet): Add
      	CommandContext. Return 0 on success, -1 on failure. Use
      	gnumeric_error_read to report errors.
      
      In plugins/text:
      
      	* text-io.c (text_read_workbook, text_write_workbook,
      	readTextWorkbook): Add CommandContext.
      	(text_read_workbook, readTextWorkbook): Return 0 on success, -1 on
      	failure.
      	(readTextWorkbook): Use gnumeric_error_read to report errors.
      
      In plugins/xbase:
      
      	* xbase.h (xbase_open): Add CommandContext.
      
      	* xbase.c (xbase_open): Add CommandContext. Remove progress
      	message to stdout. Use gnumeric_error_read to report errors.
      
      	* boot.c (xbase_load): Add CommandContext. Return 0 on success, -1
      	on failure.
      333a8167
  31. 30 Dec, 1999 1 commit
    • Miguel de Icaza's avatar
      New macro, copied from Evolution. We need to refactor our code in Gnumeric · 87152856
      Miguel de Icaza authored
      1999-12-30  Miguel de Icaza  <miguel@gnu.org>
      
      	* src/gnumeric-type-util.h (GNUMERIC_MAKE_TYPE): New macro, copied
      	from Evolution.  We need to refactor our code in Gnumeric to use
      	this macro.
      
      	* src/workbook.c (workbook_do_destroy): Destroy the per-workbook
      	context here.  Hardcoded to be a GUI context for now.
      	(workbook_new): Create the context here.
      	(workbook_command_context_gui): This routine is now the one that
      	returns the command context.
      
      	* src/gnumeric.h: Added CommandCOntext typedef here.
      
      	* All files: renamed CmdContext to CommandContext.
      	renamed command_context_gui to workbook_command_context_gui.
      
      	* src/workbook-view.c: Removed the GUI_CmdContext class setup.
      	* src/command-context.c: Replaced the ad-hoc object system with a
      	GtkObject-based system.
      87152856
  32. 29 Dec, 1999 2 commits
    • Jody Goldberg's avatar
      - Return enum from init_plugin. · 63577437
      Jody Goldberg authored
      - Suppress some warnings.
      63577437
    • Jody Goldberg's avatar
      - Initial usage of the new exception mechanisms. · f8206c57
      Jody Goldberg authored
      - Improve versioning of the plugins.
      - Some bug fixes.
      
      1999-12-29  Jody Goldberg <jgoldberg@home.com>
      
      	* src/workbook-view.c (command_context_gui,
      				gui_splits_array,
      				gui_plugin_problem,
      				command_context_gui_cast) : New functions.
      
      	* src/workbook.c (workbook_new) : Switch to using the workbook_view
      	  routines to manipulate the undo/redo and paste/paste_special menu
      	  items.
      
      	* src/func.c (function_iterate_argument_values) : Return an error
      	  for empty/missing arguments.
      
      	* plugins/*/Makefile.am : Define GNUMERIC_VERSION.
      
      	* plugins/*/*.c (init_plugin): Take a CmdContext for error reporting.
      	  Call plugin_version_mismatch to do some minimal version matching for
      	  plugins and the running application.
      
      	* src/Gnumeric.idl : Add PluginProblem.
      
      	* src/command-context.[ch] (gnumeric_error_splits_array,
      				    gnumeric_error_plugin_problem,
      				    command_context_vtbl_init) : New functions.
      
      	* src/plugin.c (plugin_version_mismatch) : New function.
      	  (plugin_load) : Hard code a GUI context for now.
      	                  Switch to using gnumeric_error_ routines.
      			  Pass a CmdContext to the init_plugin routines.
      			  Only produce an error if the plugin returns -1.
      			  Store the plugin filename.
      	  (plugin_unload) : Free the filename on exit.
      
      	* *.c : command_context_gui now takes a Workbook argument.
      	      : Switch from gnumeric_no_modify_array_notice
      	                 to gnumeric_error_splits_array in most places.
      f8206c57
  33. 04 Aug, 1999 1 commit
  34. 27 Jun, 1999 1 commit
    • Michael Meeks's avatar
      Misc. minor function improvements, · cf4defb5
      Michael Meeks authored
      Fixed function wizard,
      Plugin warning fix,
      auto-expression parsing clean,
      externalised shared excel function data,
      various function fixes,
      Better excel export support ( thats easy :-)
      cf4defb5
  35. 30 Apr, 1999 1 commit
  36. 24 Apr, 1999 1 commit