2003-04-15 Hans Petter Jansson <hpj@ximian.com>
* e-table-header-utils.c (e_table_draw_elided_string): Don't unref
the layout that was passed in.
(e_table_header_draw_button): Always unref the layout when we're
done with it.
* e-tree-table-adapter.c (e_tree_table_adapter_load_expanded_state):
Free the id when we're done with it.
svn path=/trunk/; revision=20853
2003-02-13 Mike Kestner <mkestner@ximian.com>
* e-table-header-utils.c (e_table_header_draw_button): kill
a double unref on the pango_layout.
svn path=/trunk/; revision=19900
2002-12-16 Chris Toshok <toshok@ximian.com>
* e-table-header-utils.c (e_table_draw_elided_string): pass in the
pango layout so we don't have to create another one here. Also,
elide the string properly (same method that e-clipped-label uses)
and simplify the extent operations.
(e_table_header_compute_height): just use
pango_layout_get_pixel_size here.
(e_table_header_draw_button): make sure the clip rectangle is
NULL'ed on our gc, since random gtk calls seem to install one,
which sucks. Also, simplify the pango layout stuff a little.
svn path=/trunk/; revision=19142
2002-05-02 Christopher James Lahey <clahey@ximian.com>
* gal/widgets/e-popup-menu.c, gal/widgets/e-popup-menu.h
(e_popup_menu_create_with_domain): Added this function that lets
you specify the translation domain.
From gal/e-table/ChangeLog:
2002-05-02 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c (finish_editing): Add horizontal dividers
here too.
* e-table-config.c (create_global_store): Translate column headers
here.
* e-table-header-item.c (ethi_header_context_menu): Use
e_popup_menu_create_with_domain here.
* e-table-header-utils.c (e_table_header_draw_button): Translate
from utf8 here before drawing.
* e-table-memory-store.c, e-table-memory-store.h
(e_table_memory_store_insert_adopt_array): Changed the name of
this function from e_table_memory_store_insert_adopt.
(e_table_memory_store_insert_adopt): Added this function which
takes a ... list.
* e-table-utils.c (et_col_spec_to_col): Translate column titles to
utf8 here.
svn path=/trunk/; revision=16668
2001-10-23 Christopher James Lahey <clahey@ximian.com>
* e-table-field-chooser-item.c: Got rid of the gc argument to
e_table_header_draw_button.
(etfci_font_load): Just use the style font here.
* e-table-group-container.c (e_table_group_container_construct):
Changed this to just use the font from the style. Fixes Ximian
bug #11882.
* e-table-header-item.c: Got rid of the gc argument to
e_table_header_draw_button.
(ethi_font_load): Changed this to just fallback on the font from
the style if the fontname is NULL or doesn't load to a font.
Fixes Ximian bug #11882.
* e-table-header-utils.c, e-table-header-utils.h
(e_table_header_draw_button): Got rid of the gc parameter here and
changed to use the gc from the style of a button created for this
purpose, but not shown. Fixes Ximian bug #13251.
svn path=/trunk/; revision=13949
2001-04-23 Christopher James Lahey <clahey@ximian.com>
* e-table-header-utils.c (e_table_header_draw_button): Make pixbuf
columns show their title if there is space.
svn path=/trunk/; revision=9517
2000-12-13 Christopher James Lahey <clahey@helixcode.com>
* e-table-header-utils.c, e-table-header-utils.h
(e_table_header_width_extras): New function to calculate the extra
pixels per column header.
* e-table-header.c, e-table-header.h: Added a "width_extras"
argument which is used to calculate the correct minimum widths for
each column header after adding padding.
* e-table-item.c (_do_tooltip): Destroy the old tooltip window
when creating the new one.
(eti_event): Destroy the old tooltip window if the person presses
a key. Don't handle the tab key.
* e-table.c (et_state_to_header): Set the ETableHeader's
width_extras argument.
svn path=/trunk/; revision=6978
2000-12-01 Federico Mena Quintero <federico@helixcode.com>
Federico gets into pixel-perfect neurosis. Xmag is my best friend.
* e-table-item.c (eti_draw): Set the focus_gc stipple origin to
match the upper-left corner of the focus rectangle. This way
focusing will look consistent even among rows/columns with odd
pixel sizes. Also, make the focus rectangle span the whole cell;
there was one blank pixel column to the left of the rectangle.
* e-table-header-utils.c: New file with utilities for drawing
header buttons. This is so that ETableHeaderItem and
ETableFieldChooserItem can share the same code.
(e_table_header_compute_height): New function to compute the
height of a column button.
(make_composite_pixmap): New function to composite a pixbuf
against a solid background and make a pixmap out of the result.
This does some ultra-fancy fading-out of the original pixbuf if
the destination area is smaller than the source.
(compute_elision_length): New function to compute the elision
length in O(n log n) instead of O(n^2), for n = strlen (str).
(e_table_header_draw_button): New function to draw a header
button.
(e_table_draw_elided_string): New function to draw a string elided
to a maximum width.
* e-table-defines.h (HEADER_PADDING): Made the default padding be
1; now a header button's height is
content_height + 2 * (HEADER_PADDING + style->ythickness). This
is the correct way to measure button heights.
* e-table-field-chooser-item.c (etfci_find_button): Use
e_table_header_compute_height().
(etfci_reflow): Likewise.
(etfci_draw): Use e_table_header_draw_button().
(etfci_start_drag): Likewise.
(etfci_draw): Likewise.
(etfci_start_drag): Likewise.
(etfci_button_height): Removed function.
(draw_button): Removed function.
* e-table-header-item.c (draw_button): Removed function.
(e_table_header_item_get_height): Use e_table_header_compute_height().
(ethi_draw): e_table_header_draw_button().
(ethi_start_drag): Likewise.
(make_shaped_window_from_xpm): Fixed misspelling in function name.
(draw_button): Removed function.
* Makefile.am: Added e-table-header-utils.[ch].
svn path=/trunk/; revision=6766