Files
evolution/widgets/table/e-table-defines.h
Federico Mena Quintero f70c74f371 Federico gets into pixel-perfect neurosis. Xmag is my best friend.
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
2000-12-02 17:35:22 +00:00

24 lines
490 B
C

#ifndef __E_TABLE_DEFINES__
#define __E_TABLE_DEFINES__ 1
#define BUTTON_HEIGHT 10
#define BUTTON_PADDING 2
#define GROUP_INDENT (BUTTON_HEIGHT + (BUTTON_PADDING * 2))
/* Padding around the contents of a header button */
#define HEADER_PADDING 1
#define MIN_ARROW_SIZE 10
typedef void (*ETableForeachFunc) (int model_row,
gpointer closure);
/* list selection modes */
typedef enum
{
E_TABLE_CURSOR_LINE,
E_TABLE_CURSOR_SIMPLE,
} ETableCursorMode;
#endif