2007-10-21  Morten Welinder <[email protected]>

       * Release 0.5.1

2007-10-20  Emmanuel Pacaud <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       * goffice/graph/gog-child-button.c (gog_child_button_press_event_cb):
       do the signal connection only once.

2007-10-17  Morten Welinder  <[email protected]>

       * configure.in (CFLAGS): Properly handle GTK_DISABLE_DEPRECATED.

2007-10-17  Emmanuel Pacaud <[email protected]>

       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  <[email protected]>

       * 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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       * 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 <[email protected]>

       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 <[email protected]>

       * goffice/graph/gog-smoothed-curve.c (gog_smoothed_curve_view_render):
       warning fix.

2007-10-01  Jean Brefort  <[email protected]>

       * 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 <[email protected]>

       Documentation fixes.

2007-09-30  Emmanuel Pacaud <[email protected]>

       * goffice/gtk/goffice-gtk.c: removed unused
       go_cairo_set_source_pixbuf.

2007-09-29  Jean Brefort  <[email protected]>

       * goffice/graph/gog-smoothed-curve.c:
       (gog_smoothed_curve_view_render): fix rendering at the right place.

2007-09-29  Emmanuel Pacaud <[email protected]>

       * plugins/smoothing/gog-moving-avg.glade: fix spacing.

2007-09-29  Emmanuel Pacaud <[email protected]>

       * 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  <[email protected]>

       * 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 <[email protected]>

       * goffice/graph/gog-renderer.h: add missing G_END_DECLS.

2007-09-28  Morten Welinder  <[email protected]>

       * goffice/utils/formats.c (go_format_builtins): Add extra NULL for
       GO_FORMAT_MARKUP.  Fixes #480971.

2007-09-28  Emmanuel Pacaud <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       * 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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       * 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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       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 <[email protected]>

       * 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 <[email protected]>

       * goffice/utils/go-cairo (go_cairo_convert_data_from_pixbuf),
       (go_cairo_convert_data_to_pixbuf): new.

2007-09-27  Morten Welinder  <[email protected]>

       * goffice/utils/regutf8.c (go_regcomp): Add run-time check for
       missing pcre_compile2.

2007-09-24  Morten Welinder  <[email protected]>

       * 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 <[email protected]>

       * 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  <jean@acer>

       * 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 <[email protected]>

       Handle GOG_AXIS_SET_COLOR axis selection.

       * goffice/graph/gog-axis-line.c (gog_axis_base_view_point): here.

2007-09-12  Emmanuel Pacaud <[email protected]>

       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  <[email protected]>

       * goffice/utils/go-marker.c (square_path, ...): Make static.

2007-09-10  Emmanuel Pacaud <[email protected]>

       Fix backplane rendering regression (1 pixel offset).

       * goffice/graph/gog-grid.c (gog_grid_view_render): use
       GOPath API.

2007-09-10  Emmanuel Pacaud <[email protected]>

       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 <[email protected]>

       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  <[email protected]>

       * 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  <jean@acer>

       * goffice/utils/go-font.c: (go_font_new_by_index): don't ref
       a NULL font.

2007-09-08  Jody Goldberg <[email protected]>

       * 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  <jean@acer>

       * configure.in: applied patch from Claude Paroz. [#474037]

2007-09-05  Morten Welinder  <[email protected]>

       * goffice/utils/go-format.c (go_format_has_hour): New function.

2007-09-03  Jody Goldberg <[email protected]>

       * configure.in : post release bump