aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header-utils.c
Commit message (Collapse)AuthorAgeFilesLines
* Tons of cleanups of the following sort: - remove unused vars - removeKjartan Maraas2006-01-301-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-30 Kjartan Maraas <kmaraas@gnome.org> * e-timezone-dialog/e-timezone-dialog.c: (get_zone_from_point): * menus/gal-view-menus.c: * misc/e-attachment-bar.c: (calculate_height_width), (update_remote_file), (e_attachment_bar_get_attachment), (class_init): * misc/e-attachment.c: (async_progress_update_cb), (download_to_local_path): * misc/e-calendar-item.c: (e_calendar_item_get_arg), (e_calendar_item_realize), (e_calendar_item_ensure_days_visible): * misc/e-calendar.c: (e_calendar_drag_motion), (e_calendar_drag_leave), (e_calendar_focus): * misc/e-canvas-background.c: (ecb_get_property): * misc/e-canvas.c: (e_canvas_class_init), (pick_current_item): * misc/e-cell-date-edit.c: (e_cell_date_edit_do_popup), (e_cell_date_edit_show_popup): * misc/e-cell-percent.c: * misc/e-charset-picker.c: (e_charset_picker_bonobo_ui_populate): * misc/e-config-page.c: (e_config_page_class_init): * misc/e-dateedit.c: (e_date_edit_set_date), (e_date_edit_set_date_and_time_of_day), (on_date_popup_date_selected): * misc/e-dropdown-button.c: (e_dropdown_button_class_init): * misc/e-expander.c: (get_expander_bounds), (e_expander_expose), (is_in_expander_panel): * misc/e-filter-bar.c: (option_changed), (build_items): * misc/e-image-chooser.c: (e_image_chooser_init), (image_drag_data_received_cb): * misc/e-map.c: (e_map_size_allocate), (e_map_button_press), (e_map_button_release), (e_map_motion), (e_map_zoom_to_location), (e_map_zoom_out), (update_render_point), (repaint_point), (zoom_in_smooth): * misc/e-multi-config-dialog.c: (impl_response): * misc/e-reflow.c: (e_reflow_realize), (e_reflow_event): * misc/e-search-bar.c: (clear_search), (search_now_verb_cb), (entry_activated_cb), (activate_button_clicked_cb), (clear_button_clicked_cb): * misc/e-selection-model.c: (e_selection_model_key_press): * misc/e-send-options.c: (delay_until_date_changed_cb), (e_sendoptions_get_need_general_options): * misc/e-unicode.c: (e_stripped_char): * table/e-cell-progress.c: (eprog_draw_border), (eprog_draw), (eprog_event): * table/e-cell-spin-button.c: (ecsb_event), (ecsb_focus), (ecsb_unfocus), (ecsb_dispose): * table/e-cell-text.c: (ect_draw), (ect_show_tooltip): * table/e-cell-toggle.c: (etog_draw), (etog_event): * table/e-cell-tree.c: (ect_max_width): * table/e-cell-vbox.c: * table/e-table-click-to-add.c: (etcta_event): * table/e-table-config.c: (create_global_store): * table/e-table-field-chooser-dialog.c: * table/e-table-field-chooser-item.c: (etfci_find_button), (etfci_reflow), (etfci_get_property), (etfci_realize): * table/e-table-field-chooser.c: (e_table_field_chooser_class_init): * table/e-table-group-container.c: (etgc_unrealize): * table/e-table-group.c: (e_table_group_new): * table/e-table-header-item.c: (e_table_header_item_get_height), (ethi_realize), (ethi_event): * table/e-table-header-utils.c: (e_table_draw_elided_string), (e_table_header_draw_button): * table/e-table-item.c: (eti_set_property), (eti_get_property), (eti_draw), (eti_event), (eti_cursor_change): * table/e-table-scrolled.c: (e_table_scrolled_class_init): * table/e-table-search.c: * table/e-table-sort-info.c: (e_table_sort_info_save_to_node): * table/e-table.c: (table_canvas_reflow_idle), (table_canvas_size_allocate), (canvas_vbox_event), (click_to_add_event), (do_drag_motion), (e_table_class_init): * table/e-tree-scrolled.c: (e_tree_scrolled_class_init): * table/e-tree.c: (tree_canvas_reflow_idle), (tree_canvas_size_allocate), (e_tree_drag_get_data), (do_drag_motion), (e_tree_class_init): * text/e-text.c: (e_text_set_property), (e_text_draw), (_do_tooltip), (primary_clear_cb), (_get_position), (e_text_command): Tons of cleanups of the following sort: - remove unused vars - remove extraneous semi-colons - add some comments where assignments were done without using the results later - remove break; statements after return foo; - add casts in some places to be more type correct - rename variables with name clashes - s/if/ifdef in some cases - mark some code static - remove some unused functions - use guint for 1-bit bitfields svn path=/trunk/; revision=31371
* Added widgets in INCLUDES.Kaushal Kumar2005-06-231-1/+1
| | | | | | | | | | | | 2005-06-23 Kaushal Kumar <kakumar@novell.com> * e-util/Makefile.am, widgets/e-timezone-dialog/Makefile.am, addressbook/gui/search/Makefile.am, plugins/groupwise-features/Makefile.am: Added widgets in INCLUDES. Updated the include paths to use misc instead of widgets/misc. svn path=/trunk/; revision=29574
* Retired GAL from Head. The relevant files have moved inside evolution.Kaushal Kumar2005-06-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-06-17 Kaushal Kumar <kakumar@novell.com> * Retired GAL from Head. The relevant files have moved inside evolution. Thanks to JP Rosevear for performing the cvs surgery. The files have been moved in the following order. evolution/e-util <- gal/gal/util evolution/a11y <- gal/gal/a11y evolution/a11y/e-table <- gal/gal/a11y/e-table evolution/a11y/e-text <- gal/gal/a11y/e-text evolution/widgets/table <- gal/gal/e-table evolution/widgets/text <- gal/gal/e-text evolution/widgets/misc <- gal/gal/widgets evolution/widgets/misc/pixmaps <- gal/gal/widgets/pixmaps evolution/widgets/menus <- gal/gal/menus Following is the summary of changes done to fix the build:- - New files added to cvs repository, - a11y/e-table/Makefile.am - a11y/e-text/Makefile.am - widgets/table/Makefile.am - widgets/text/Makefile.am - widgets/misc/pixmaps/Makefile.am - iconv-detect.h - iconv-detect.c - Updated configure.in. - Updated all the relevant Makefile.am files. - Updated the include paths to replace all gal references. - Updated the marshal list to suit gal files requirements. svn path=/trunk/; revision=29522
* Port to Windows, initial commit:Tor Lillqvist2005-04-291-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-04-29 Tor Lillqvist <tml@novell.com> Port to Windows, initial commit: * configure.in: Check for Win32, define Automake conditional OS_WIN32. Check for regexec() perhaps in separate -lregex, define REGEX_LIBS if so. Require glib-2.0 >= 2.6 (and thus also gtk+-2.0 >= 2.6) so that we can use the gstdio wrappers for full support of non-ASCII filenames on Win32. Don't use -D_REENTRANT on Win32, has ne special meaning. * gal.pc.in: Require gtk+-2.0 >= 2.6 also here for consistency. * gal-zip.in: New file, used to build zipfile format distribution of gal for Win32. * configure.in * Makefile.am: Add gal-zip(.in). * */Makefile.am * */*.c: Harmonize -I and #include conventions. (Of course, this hasn't anything to do with Windows porting as such, I just got carried away...) Use only -I$(top_srcdir). Use paths to gal headers staring with "gal", except for headers from the same directory as the .c file, which are included as such. Include all gal headers using doublequotes. Sort #includes and remove duplicates and obvious redundancies. Include config.h first without any HAVE_CONFIG_H, then system headers, then other GNOME lib headers, than gal's own headers. Just include gtk.h instead of separate gtk*.h headers. Don't include gi18n.h, include e-i18n.h to use e_gettext() consistently. * gal/Makefile.am: Use -no-undefined on Win32 so that libtool agrees to build a shared library. Because of the bidirectional dependency between libgal and libgal-a11y we can build libgal-a11y sanely as a shared library on Win32, so we don't install any separate libgal-a11y at all. So, on Win32, link the stuff that goes into libgal-a11y also into libgal. Link with REGEX_LIBS. * gal/a11y/Makefile.am: See above. Just build a dummy static libgal-a11y on Win32 (can't convince Automake not to build the library at all on one platform using Automake ifdef, apparently). Then (this is a gross hack) explicitly remove the library after installation in the install-data-local rule. * gal/e-table/Makefile.am * gal/e-table/e-table-config.c: Rename ETABLE_GLADEDIR to GAL_GLADEDIR for consistency. * gal/e-table/e-cell-date.c: No localtime_r() in Microsoft's C library, but its localtime() *is* thread-safe. * gal/e-table/e-cell-text.c * gal/e-table/e-cell-tree.c * gal/e-table/e-cell-vbox.c * gal/e-text/e-text.c * gal/widgets/e-unicode.c: Remove unnecessary inclusion of gdkx.h. * gal/e-table/e-cell-tree.c (ect_realize): Instead of the Xlib macro None (whose value is zero), use the corresponding zero-valued enums from the appropriate GDK type. * gal/e-table/e-table-config.c * gal/e-table/e-table-field-chooser.c * gal/menus/gal-define-views-dialog.c * gal/menus/gal-view-instance-save-as-dialog.c * gal/menus/gal-view-new-dialog.c * gal/widgets/e-categories-master-list-array.c * gal/widgets/e-categories-master-list-dialog.c * gal/widgets/e-categories.c: Use g_build_filename() to construct pathnames at run-time instead of compile-time. On Windows the macros GAL_GLADEDIR and GAL_IMAGESDIR expand to function calls, in order to support installing in a freely chosen location. * gal/e-table/e-table-item.c * gal/e-table/e-cell-vbox.c: Instrad of the Xlib GrabSuccess, use GDK_GRAB_SUCCESS (which has the same value). * gal/e-table/e-table-specification.c (e_table_specification_load_from_file) * gal/e-table/e-table.c (e_table_load_specification) * gal/e-table/e-tree-table-adapter.c (open_file) * gal/menus/gal-view-instance.c (load_current_view) * gal/menus/gal-view-instance.c (load_current_view): On Win32, convert filename to the locale character set before passing to xmlParseFile() which doesn't use UTF-8 filenames. Use gstdio wrappers. * gal/util/Makefile.am: Define GAL_PREFIX as $prefix. Define GAL_LOCALEDIR, GAL_GLADEDIR and GAL_IMAGESDIR also here for e-win32-reloc.c. Include e-win32-reloc.c on Win32. * gal/util/e-iconv.c (e_iconv_init): Use g_win32_getlocale() on Windows. * gal/util/e-util.c * gal/util/e-xml-utils.c: Use g_mkstemp() instead of non-portable mkstemp(). Use GLib pathname manipulation functions. Use gstdio wrappers. * gal/util/e-util-private.h: New file. Contains just Win32 bits for now that redefine the directory names from the Makefile as functions calls. * gal/util/e-win32-reloc.c: New file. Contains a minimal DllMain() and functions to support freely chosen installation location on Windows. * gal/util/e-xml-utils.c: No fsync() in the Microsoft C library. * gal/windgets/Makefile.am: Add -I$(top_srcdir)/gal for consistency with the sibling Makefile.am files. * gal/widgets/e-canvas.c: Instead of the Xlib AlreadyGrabbed, use GDK_GRAB_ALREADY_GRABBED. svn path=/trunk/; revision=29249
* fixes for compiler warningsRadek Doulik2004-06-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-06-10 Radek Doulik <rodo@ximian.com> * e-cell-text.c (layout_with_preedit): removed unused variable * e-tree.c (e_tree_get_item): added cast added #include <atk/atkregistry.h> * e-table-one.c (one_finalize): removed unused variable * e-table-item.c: added #include "gal/a11y/e-table/gal-a11y-e-table-item.h" for gal_a11y_e_table_item_factory_get_type prototype * e-table-header-utils.c (e_table_header_draw_button): removed unused variable * e-table-config.c (get_source_model_col_index): removed unused variable * e-table-click-to-add.c (finish_editing): added cast (etcta_event): ditto * e-cell-toggle.c: added #include "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have gal_a11y_e_cell_registry_add_cell_type prototype * e-cell-text.c (layout_with_preedit): removed unused variable (build_layout): ditto (ect_event): ditto (e_cell_text_commit_cb): ditto * e-cell-popup.c: added #include "gal/a11y/e-table/gal-a11y-e-cell-registry.h" to have gal_a11y_e_cell_registry_add_cell_type prototype svn path=/trunk/; revision=26284
* Change the shadow type for the arrows here, so that themes that do handleRodney Dawes2004-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2004-02-12 Rodney Dawes <dobey@ximian.com> * gal/widgets/gal-combo-box.c (gal_combo_box_init): Change the shadow type for the arrows here, so that themes that do handle the use of shadow types with arrows, draw things correctly, instead of following what the old default gtk+ did in 1.x 2004-02-12 Rodney Dawes <dobey@ximian.com> * e-cell-popup.c (ecp_draw): * e-cell-spin-button.c (ecsb_draw): * e-table-header-utils.c (e_table_header_draw_button): Change the shadow type for the arrows here, so that themes that do handle the use of shadow types with arrows, draw things correctly, instead of following what the old default gtk+ did in 1.x 2004-02-12 Rodney Dawes <dobey@ximian.com> * e-vscrolled-bar.c (e_vscrolled_bar_init): Change the shadow type for the arrows here, so that themes that do handle the use of shadow types with arrows, draw things correctly, instead of following what the old default gtk+ did in 1.x svn path=/trunk/; revision=24720
* Don't unref the layout that was passed in. (e_table_header_draw_button):Hans Petter Jansson2003-04-161-2/+2
| | | | | | | | | | | | | | 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
* kill a double unref on the pango_layout.Mike Kestner2003-02-141-2/+0
| | | | | | | | | 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
* pass in the pango layout so we don't have to create another one here.Chris Toshok2002-12-171-90/+46
| | | | | | | | | | | | | | | | 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
* GObject port work.Chris Toshok2002-11-171-133/+185
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-16 Chris Toshok <toshok@ximian.com> * e-cell-checkbox.[ch]: GObject port work. * e-cell-combo.[ch]: same. * e-cell-date.[ch]: same. * e-cell-float.[ch]: same. * e-cell-number.[ch]: same. * e-cell-pixbuf.[ch]: same. * e-cell-popup.[ch]: same. * e-cell-progress.[ch]: same. * e-cell-size.[ch]: same. * e-cell-spin-button.[ch]: same. * e-cell-text.[ch]: same. * e-cell-toggle.[ch]: same. * e-cell-tree.[ch]: same. * e-cell-vbox.[ch]: same. * e-cell.[ch]: same. * e-table-col.c: same. * e-table-column.c: same. * e-table-config-field.[ch]: same. * e-table-config.c: same. * e-table-config.glade: same. * e-table-field-chooser-dialog.[ch]: same. * e-table-field-chooser-item.[ch]: same. * e-table-field-chooser.[ch]: same. * e-table-group-container.[ch]: same. * e-table-group-leaf.[ch]: same. * e-table-group.[ch]: same. * e-table-header-item.[ch]: same. * e-table-header-utils.[ch]: same. * e-table-header.c: same. * e-table-item.[ch]: same. * e-table-scrolled.[ch]: same. * e-table-utils.c: same. * e-table.[ch]: same. * e-tree-memory-callbacks.h: same. * e-tree-scrolled.[ch]: same. * e-tree-sorted-variable.c: same. * e-tree.[ch]: same. * test-check.c: same. * test-cols.c: same. * test-table.c: same. svn path=/trunk/; revision=18801
* merging the gal-2 branch back to the trunk.Mike Kestner2002-11-011-6/+8
| | | | | | merging the gal-2 branch back to the trunk. svn path=/trunk/; revision=18471
* Added this function that lets you specify the translation domain.Christopher James Lahey2002-05-031-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed the license announcement at the top of these files.Christopher James Lahey2001-10-271-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-10-26 Christopher James Lahey <clahey@ximian.com> * e-cell-checkbox.c, e-cell-checkbox.h, e-cell-combo.c, e-cell-combo.h, e-cell-date.c, e-cell-date.h, e-cell-number.c, e-cell-number.h, e-cell-pixbuf.c, e-cell-pixbuf.h, e-cell-popup.c, e-cell-popup.h, e-cell-size.c, e-cell-size.h, e-cell-spin-button.c, e-cell-spin-button.h, e-cell-string.c, e-cell-text.c, e-cell-text.h, e-cell-toggle.c, e-cell-toggle.h, e-cell-tree.c, e-cell-tree.h, e-cell.c, e-cell.h, e-table-click-to-add.c, e-table-click-to-add.h, e-table-col-dnd.h, e-table-col.c, e-table-col.h, e-table-column-specification.c, e-table-column-specification.h, e-table-column.c, e-table-config-field.c, e-table-config-field.h, e-table-config.c, e-table-config.h, e-table-defines.h, e-table-example-1.c, e-table-example-2.c, e-table-extras.c, e-table-extras.h, e-table-field-chooser-dialog.c, e-table-field-chooser-dialog.h, e-table-field-chooser-item.c, e-table-field-chooser-item.h, e-table-field-chooser.c, e-table-field-chooser.h, e-table-group-container.c, e-table-group-container.h, e-table-group-leaf.c, e-table-group-leaf.h, e-table-group.c, e-table-group.h, e-table-header-item.c, e-table-header-item.h, e-table-header-utils.c, e-table-header-utils.h, e-table-header.c, e-table-header.h, e-table-item.c, e-table-item.h, e-table-memory-callbacks.c, e-table-memory-callbacks.h, e-table-memory.c, e-table-memory.h, e-table-model.c, e-table-model.h, e-table-one.c, e-table-one.h, e-table-scrolled.c, e-table-scrolled.h, e-table-selection-model.c, e-table-selection-model.h, e-table-simple.c, e-table-simple.h, e-table-size-test.c, e-table-sort-info.c, e-table-sort-info.h, e-table-sorted-variable.c, e-table-sorted-variable.h, e-table-sorted.c, e-table-sorted.h, e-table-sorter.c, e-table-sorter.h, e-table-sorting-utils.c, e-table-sorting-utils.h, e-table-specification.c, e-table-specification.h, e-table-state.c, e-table-state.h, e-table-subset-variable.c, e-table-subset-variable.h, e-table-subset.c, e-table-subset.h, e-table-tooltip.h, e-table-tree.h, e-table-utils.c, e-table-utils.h, e-table-without.c, e-table-without.h, e-table.c, e-table.h, e-tree-memory-callbacks.c, e-tree-memory-callbacks.h, e-tree-memory.c, e-tree-memory.h, e-tree-model.c, e-tree-model.h, e-tree-scrolled.c, e-tree-scrolled.h, e-tree-selection-model.c, e-tree-selection-model.h, e-tree-simple.c, e-tree-simple.h, e-tree-sorted-variable.c, e-tree-sorted-variable.h, e-tree-sorted.c, e-tree-sorted.h, e-tree-table-adapter.c, e-tree-table-adapter.h, e-tree.c, e-tree.h, table-test.c, table-test.h, test-check.c, test-cols.c, test-table.c: Changed the license announcement at the top of these files. * e-cell-string.c: Removed unused file. svn path=/trunk/; revision=14154
* Got rid of the gc argument to e_table_header_draw_button.Christopher James Lahey2001-10-241-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make pixbuf columns show their title if there is space.Christopher James Lahey2001-04-241-2/+23
| | | | | | | | | 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
* Added #include <string.h> for strcmp(). Same for strlen().Kjartan Maraas2001-03-161-0/+1
| | | | | | | | | 2001-03-16 Kjartan Maraas <kmaraas@gnome.org> * e-cell-combo.c: Added #include <string.h> for strcmp(). * e-table-header-utils.c: Same for strlen(). svn path=/trunk/; revision=8757
* Step 2Miguel de Icaza2001-01-161-3/+3
| | | | svn path=/trunk/; revision=7521
* Rename from Helix Code -> XimianMiguel de Icaza2001-01-161-1/+1
| | | | svn path=/trunk/; revision=7520
* New function to calculate the extra pixels per column header.Christopher James Lahey2000-12-141-1/+9
| | | | | | | | | | | | | | | | | | | | | | 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
* Missed this file during the last commit.Chris Lahey2000-12-071-2/+4
| | | | svn path=/trunk/; revision=6817
* Federico gets into pixel-perfect neurosis. Xmag is my best friend.Federico Mena Quintero2000-12-031-0/+419
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