2007-10-21 Morten Welinder * Release 0.5.1 2007-10-20 Emmanuel Pacaud Fix a one pixel mismatch on the size when exporting to images. * goffice/graph/gog-renderer.c (gog_renderer_update): always use rend->w and rend->h as image size. 2007-10-20 Emmanuel Pacaud Remove duplicated fill pattern creation code. * goffice/graph/gog-renderer.c (emit_fill): use gog_style_create_cairo_pattern. * goffice/graph/gog-style.c (gog_style_create_cairo_pattern): width and height are retrieved from the cairo context. Use go_pattern_create_cairo_pattern. 2007-10-18 Emmanuel Pacaud Second fix to GogChildButton behaviour regarding to consistency with regular menu on fast click on the button. * goffice/graph/gog-child-button.c (gog_child_button_popup): take event button and time as parameters, and pass them to gtk_menu_popup. (gog_child_button_press_event_cb): use new gog_child_button_popup API. 2007-10-18 Emmanuel Pacaud * goffice/graph/gog-child-button.c (gog_child_button_press_event_cb): do the signal connection only once. 2007-10-17 Morten Welinder * configure.in (CFLAGS): Properly handle GTK_DISABLE_DEPRECATED. 2007-10-17 Emmanuel Pacaud Fix the behaviour of GogChildButton by showing the popup menu as soon as the toggle button is pressed. * goffice/graph/gog-child-button.c (gog_child_button_init): use the button-press-event signal instead of toggled. (gog_child_button_toggled_cb): renamed to gog_child_button_press_event_cb. Remove the active/inactive switch. 2007-10-10 Morten Welinder * goffice/gtk/go-pixbuf.c (go_pixbuf_tile): Import from Gnumeric. Seems generally useful. (go_pixbuf_new_from_file): Allow absolute filenames. 2007-10-09 Emmanuel Pacaud Widgetization and conversion of the graph guru "add menu" to a button with a popup menu. * goffice/graph/gog-child-button.[ch]: new. * goffice/graph/gog-guru.c: move code related to the add menu to gog-child-button.c. (get_pixbuf): removed (now in go-pixbuf as go_pixbuf_get_from_cache). (cb_graph_guru_add_item), (cb_cmp_plot_type), (cb_plot_type_list), (cb_graph_guru_add_plot), (cb_plot_family_menu_create), (plot_type_menu_create), (cb_graph_guru_add_trend_line), (cb_trend_line_type_menu_create), (trend_line_type_menu_create): removed. (cb_attr_tree_selection_change): use GogChildButton. (graph_guru_init_format_page): create a GogChildButton. * goffice/graph/gog-guru.glade: remove the menu and convert precedence menu items to button. 2007-10-09 Emmanuel Pacaud Move pixbuf related function into goffice/gtk/go-pixbuf.[ch] * goffice/gtk/goffice-gtk.c: move go_pixbuf_new_from_file and go_pixbuf_intelligent_scale... * goffice/gtk/go-pixbuf.[ch]: ...here. (go_pixbuf_get_from_cache): new. * goffice/gtk/go-selector.c: move go_menu_position_below... * goffice/gtk/goffice-gtk.c: ...here. 2007-10-08 Emmanuel Pacaud Don't use the G_TYPE_INSTANCE_GET_PRIVATE macro in GOSelector and GOPalette implementation. We already have a private pointer in the public struct. * goffice/gtk/go-palette.c: here. * goffice/gtk/go-selector.c: and here. 2007-10-02 Emmanuel Pacaud * goffice/graph/gog-renderer.c: move GO_CAIRO_CLAMP from here... * goffice/utils/go-cairo.h: ... to here. * goffice/utils/go-path.c: use GO_CAIRO_CLAMP instead of GO_PATH_CLAMP. 2007-10-02 Emmanuel Pacaud Fix for Bug 153883 - making graphs insanely large leads to ~infinite memory and cpu use. The fix consists in not using the graph image cache for big graphs, and just render directly. The patch uses a temporary image surface, since rendering onto an xlib surface may cause segfault on path with lot of points. Another issue is all path point coordinates are clipped as a workaround to the long line cairo bug, which means the graph content won't display beyond the clipping value. The arbitrary limit is set to image with a number of pixels greater than the number of screen pixels. * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_draw), (gog_control_foocanvas_update): here. 2007-10-01 Emmanuel Pacaud * goffice/graph/gog-smoothed-curve.c (gog_smoothed_curve_view_render): warning fix. 2007-10-01 Jean Brefort * goffice/component/go-component.c: removed pixbuf, everything should be done using cairo for windowless objects. * goffice/component/go-component.h: ditto. 2007-09-30 Emmanuel Pacaud Documentation fixes. 2007-09-30 Emmanuel Pacaud * goffice/gtk/goffice-gtk.c: removed unused go_cairo_set_source_pixbuf. 2007-09-29 Jean Brefort * goffice/graph/gog-smoothed-curve.c: (gog_smoothed_curve_view_render): fix rendering at the right place. 2007-09-29 Emmanuel Pacaud * plugins/smoothing/gog-moving-avg.glade: fix spacing. 2007-09-29 Emmanuel Pacaud * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_draw): fix the clipping region when compositing the graph cache. * goffice/gtk/go-graph-widget.c (go_graph_widget_expose_event): port to cairo. 2007-09-29 Jean Brefort * goffice/graph/gog-chart-map.h: added missing G_BEGIN_DECLS/G_END_DECLS. * goffice/graph/gog-series-lines.h: ditto. * goffice/math/go-complex.h: ditto. * goffice/math/go-cspline.h: ditto. * goffice/math/go-fft.h: ditto. * goffice/math/go-regression.h: ditto. * goffice/utils/go-path-impl.h: ditto. * goffice/utils/go-path.h: ditto. 2007-09-29 Jean Brefort * goffice/graph/gog-renderer.h: add missing G_END_DECLS. 2007-09-28 Morten Welinder * goffice/utils/formats.c (go_format_builtins): Add extra NULL for GO_FORMAT_MARKUP. Fixes #480971. 2007-09-28 Emmanuel Pacaud * goffice/graph/gog-graph (gog_graph_render_to_cairo): use the correct type for the cairo parameter, instead of gpointer. 2007-09-28 Emmanuel Pacaud * goffice/graph/gog-graph.c (gog_graph_render_to_cairo_vector): removed. There's no need to tell if we want to render in vector mode, that can be guessed from the cairo target. 2007-09-28 Emmanuel Pacaud * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_update): remove unused gog_renderer_update zoom parameter again. * goffice/gtk/go-graph-widget.c (update_image_rect): ditto. * goffice/graph/gog-renderer.c (gog_renderer_update): ditto. (gog_renderer_new_for_pixbuf): removed. 2007-09-28 Jean Brefort * configure.in: added goffice/math directory. * goffice/Makefile.am: ditto. * goffice/data/go-data-simple.c: moved maths to goffice/math. * goffice/data/go-data.c: ditto. * goffice/goffice.c: ditto. * goffice/graph/gog-axis-line.c: ditto. * goffice/graph/gog-axis.c: ditto. * goffice/graph/gog-chart-map.c: ditto. * goffice/graph/gog-chart.c: ditto. * goffice/graph/gog-data-set.c: ditto. * goffice/graph/gog-error-bar.c: ditto. * goffice/graph/gog-grid-line.c: ditto. * goffice/graph/gog-grid.c: ditto. * goffice/graph/gog-legend.c: ditto. * goffice/graph/gog-plot.c: ditto. * goffice/graph/gog-reg-curve.c: ditto. * goffice/graph/gog-renderer.c: ditto. * goffice/graph/gog-style.c: ditto. * goffice/gtk/go-graph-widget.c: ditto. * goffice/gtk/go-rotation-sel.c: ditto. * goffice/math/Makefile.am: ditto. * goffice/math/go-complex.c: copied code from gnumeric. * goffice/math/go-complex.h: ditto. * goffice/math/go-cspline.c: moved maths to goffice/math. * goffice/math/go-cspline.h: ditto. * goffice/math/go-fft.c: copied code from gnumeric. * goffice/math/go-fft.h: ditto. * goffice/math/go-math.c: moved maths to goffice/math. * goffice/math/go-math.h: ditto. * goffice/math/go-rangefunc.c: ditto. * goffice/math/go-rangefunc.h: ditto. * goffice/math/go-regression.c: ditto. * goffice/math/go-regression.h: ditto. * goffice/utils/Makefile.am: * goffice/utils/go-cspline.c: ditto. * goffice/utils/go-cspline.h: ditto. * goffice/utils/go-format.c: ditto. * goffice/utils/go-geometry.c: ditto. * goffice/utils/go-line.c: ditto. * goffice/utils/go-marker.c: ditto. * goffice/utils/go-math.c: ditto. * goffice/utils/go-math.h: ditto. * goffice/utils/go-path.c: ditto. * goffice/utils/go-rangefunc.c: ditto. * goffice/utils/go-rangefunc.h: ditto. * goffice/utils/go-regression.c: ditto. * goffice/utils/go-regression.h: ditto. * plugins/plot_barcol/gog-1.5d.c: ditto. * plugins/plot_barcol/gog-barcol.c: ditto. * plugins/plot_barcol/gog-dropbar.c: ditto. * plugins/plot_barcol/gog-line.c: ditto. * plugins/plot_boxes/gog-boxplot.c: ditto. * plugins/plot_boxes/gog-histogram.c: ditto. * plugins/plot_pie/gog-pie.c: ditto. * plugins/plot_radar/gog-radar.c: ditto. * plugins/plot_surface/gog-surface.c: ditto. * plugins/plot_surface/xl-surface.c: ditto. * plugins/plot_xy/gog-xy.c: ditto. * plugins/reg_linear/gog-exp-reg.c: ditto. * plugins/reg_linear/gog-lin-reg.c: ditto. * plugins/reg_linear/gog-lin-reg.h: ditto. * plugins/reg_linear/gog-log-reg.c: ditto. * plugins/reg_linear/gog-polynom-reg.c: ditto. * plugins/reg_linear/gog-power-reg.c: ditto. * plugins/reg_logfit/gog-logfit.c: ditto. * plugins/reg_logfit/gog-logfit.h: ditto. * plugins/smoothing/gog-exp-smooth.c: ditto. * plugins/smoothing/gog-moving-avg.c: ditto. 2007-09-27 Emmanuel Pacaud Implementation of gog_renderer_render_to_cairo. Compared to gog_renderer_update / gog_renderer_get_cairo_surface, it always redo the size allocation and doesn't cache the rendering result. Some API cleanup by removing gog_renderer_new_for_foo functions, replaced by gog_renderer_new. Restore the unused zoom parameter of gog_renderer_update, in order to keep compatibility with goffice 0.4. * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_set_property): use gog_renderer_new. (gog_control_foocanvas_update): add dummy zoom parameter to gog_renderer_update_call. * goffice/graph/gog-graph.c (gog_graph_export_image): use gog_renderer_new. (gog_graph_render_to_cairo), (gog_graph_render_to_cairo_vector): ditto. Use gog_renderer_render_to_cairo. * goffice/graph/gog-renderer.c (gog_renderer_render_to_cairo): new. (gog_renderer_export_image): use gog_renderer_render_to_cairo. (gog_renderer_new): new. Replace gog_renderer_new_for_format and gog_renderer_new_for_pixbuf. (gog_renderer_new_for_format): removed. (gog_renderer_new_for_pixbuf): keppe for gnumeric goffice 0.4 compatibility. * goffice/gtk/go-graph-widget.c (update_image_rect): restore dummy gog_renderer_update zoom parameter. (go_graph_widget_set_property): use gog_renderer_new instead of gog_renderer_new_for_pixbuf. 2007-09-27 Emmanuel Pacaud Fix rendering of marker outline. * goffice/utils/go-marker.c (go_marker_render): don't multiply line width by scale, scaling is already done by cairo_scale. 2007-09-25 Emmanuel Pacaud * goffice/graph/gog-renderer.c (gog_renderer_update): no need to clear the surface when it was just created. Force is_vector to FALSE here. 2007-09-25 Emmanuel Pacaud Restrict the drawing of the cairo surface cache to the event->region. * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_draw): here. 2007-09-25 Emmanuel Pacaud Use cairo for graph painting in GogControlFoocanvas. That avoids the conversion from cairo to pixbuf format. * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_draw): here. 2007-09-25 Emmanuel Pacaud Move cairo to/from pixbuf pixel data conversion from GOImage to go-cairo.c. * goffice/graph/gog-renderer.c (gog_renderer_get_pixbuf): adapt to new go_cairo_convert_data_to_pixbuf signature. * goffice/utils/go-cairo.c (go_cairo_convert_data_to_pixbuf), (go_cairo_convert_data_from_pixbuf): handle src != dst. * goffice/utils/go-image.c (pixbuf_to_cairo), (cairo_to_pixbuf): use go_cairo_convert_data functions. 2007-09-24 Emmanuel Pacaud * goffice/graph/gog-control-foocanvas.c (gog_control_foocanvas_update): remove unused gog_renderer_update zoom parameter. * goffice/graph/gog-graph.c (gog_graph_render_to_cairo), (gog_graph_render_to_cairo_vector): ditto. * goffice/gtk/go-graph-widget (update_image_rect): ditto. Use a cairo_surface for graph image cache, instead of pixbuf. Remove "cairo" and "is_vector" properties, they are internal variables. Also remove "zoom", it's unused. * goffice/graph/gog-renderer.c (gog_renderer_update): remove unused zoom parameter. Use a cairo_surface for caching. (gog_renderer_get_pixbuf): keep for now, and do the conversion from cairo format here. (gog_renderer_get_cairo_surface): new. (gog_renderer_export_image): remove unused gog_renderer_update zoom parameter. (gog_renderer_set_property): remove "zoom", "cairo" and "is_vector" property. (gog_renderer_get_property): ditto. (gog_renderer_class_init): ditto. 2007-09-24 Emmanuel Pacaud * goffice/utils/go-cairo (go_cairo_convert_data_from_pixbuf), (go_cairo_convert_data_to_pixbuf): new. 2007-09-27 Morten Welinder * goffice/utils/regutf8.c (go_regcomp): Add run-time check for missing pcre_compile2. 2007-09-24 Morten Welinder * goffice/gtk/goffice-gtk.c (go_widget_set_tooltip_text, go_tool_item_set_tooltip_text): New functions. * */*.c: switch to go_widget_set_tooltip_text. 2007-09-16 Jody Goldberg * goffice/graph/gog-plot.c (gog_plot_set_axis) : split out (gog_plot_set_axis_by_id) : from here. * goffice/graph/gog-axis-line.c (gog_axis_base_set_property) : renamed PROP_POSITION -> POSITION_STR, add added a PROP_POSITION to take the enum directly. (gog_axis_base_get_property) : ditto. (gog_axis_base_class_init) : ditto. (xy_process) : Be smarter about label positioning when crossing. If we're at a bound put it on the other side. 2007-09-15 Jean Brefort * goffice/graph/gog-axis-line.c: (xy_process): make axis lines always visible. * goffice/graph/gog-renderer.c: (gog_renderer_update): don't crash when pixbuf is initially NULL. [#477052] 2007-09-12 Emmanuel Pacaud Handle GOG_AXIS_SET_COLOR axis selection. * goffice/graph/gog-axis-line.c (gog_axis_base_view_point): here. 2007-09-12 Emmanuel Pacaud Fix manual position of axis labels. * goffice/graph/gog-axis.c (gog_axis_view_size_allocate): use bbox instead of view->allocation, which is not set yet when entering size_allocate. 2007-09-11 Morten Welinder * goffice/utils/go-marker.c (square_path, ...): Make static. 2007-09-10 Emmanuel Pacaud Fix backplane rendering regression (1 pixel offset). * goffice/graph/gog-grid.c (gog_grid_view_render): use GOPath API. 2007-09-10 Emmanuel Pacaud Don't show fill_type combo box in the radar plot series editor. * plugins/plot_radar/gog-radar.c (gog_polar_plot_class_init): use GogPolarSeries object type for series_type. (gog_rt_series_class_init): don't enable fill_type here... (gog_polar_series_class_init): ... but here. 2007-09-10 Emmanuel Pacaud Fix rendering of radar area plot outline. * goffice/graph/gog-renderer.c (gog_renderer_stroke_serie): call the right emit function. 2007-09-09 Jon K Hellan * goffice/gtk/goffice-gtk.c (go_gui_get_image_save_info): Don't close save as dialog after entering wrong image file extension. [#420451] * goffice/gtk/go-format-sel.c (find_builtin): Fix format selector crash. [#475136] 2007-09-09 Jean Brefort * goffice/utils/go-font.c: (go_font_new_by_index): don't ref a NULL font. 2007-09-08 Jody Goldberg * goffice/Makefile.am : use -Wl,-lhtmlhelp to avoid libtool getting irrate about no matching .dll * plugins/plot_radar/gog-radar.c (gog_radar_area_plot_init) : RadarArea defaults to having a fill. 2007-09-08 Jean Brefort * configure.in: applied patch from Claude Paroz. [#474037] 2007-09-05 Morten Welinder * goffice/utils/go-format.c (go_format_has_hour): New function. 2007-09-03 Jody Goldberg * configure.in : post release bump