To avoid another case like bug #587014, add GSignalAccumulator functions
to all ETable and ETree signals that return a flag to indicate the signal
has been handled.
See commit e9dc381d3a for an example of
the kind of problems not having a GSignalAccumulator can cause.
Signals changed:
ETree::click
ETree::right-click
ETree::white-space-event
ETable::click
ETable::key-press
ETable::right-click
ETable::start-drag
ETable::white-space-event
ETableItem::click
ETableItem::right-click
ETableItem::start-drag
ETableGroup::click
ETableGroup::key-press
ETableGroup::right-click
ETableGroup::start-drag
2009-02-16 Milan Crha <mcrha@redhat.com>
** Fix for bug #550114
* widgets/table/e-table-group.h:
* widgets/table/e-table-group.c:
* widgets/table/e-table-group-container.c:
* widgets/table/e-table-group-leaf.c:
Replaced 'compute_mouse_over' with 'get_mouse_over', now works
with cached values 'motion_row', 'motion_col'.
* widgets/table/e-table.c: (e_table_get_mouse_over_cell):
Mouse position not required anymore, remove it too then.
* calendar/gui/e-calendar-table.h: (ec_query_tooltip):
* calendar/gui/e-calendar-table.c: (ec_query_tooltip): Offer it to others too.
* calendar/gui/e-calendar-table.c: (query_tooltip_cb): Use above funtion.
Show proper tooltip in table with grouping columns.
* calendar/gui/e-memo-table.c: (query_tooltip_cb), (e_memo_table_init):
Show tooltips in memo view too.
svn path=/trunk/; revision=37275
2008-07-15 Milan Crha <mcrha@redhat.com>
** Part of fix for bug #329821
* e-table-item.c: (find_cell): Do not consider last row's height
till the bottom.
* e-table-item.h: (e_table_item_compute_mouse_over):
* e-table-item.c: (e_table_item_compute_mouse_over):
* e-table-group-container.c: (etgc_compute_mouse_over),
(etgc_class_init):
* e-table-group-leaf.c: (etgl_compute_mouse_over),
(etgl_class_init):
* e-table.h: (e_table_get_mouse_over_cell):
* e-table.c: (e_table_get_mouse_over_cell):
* e-table-group.h: (struct ETableGroupClass),
(e_table_group_compute_mouse_over):
* e-table-group.c: (e_table_group_compute_mouse_over),
(etg_class_init): Be able to calculate mouse-over position
correctly,
relatively to the ETableItem.
svn path=/trunk/; revision=35778
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
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
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
2002-11-05 Mike Kestner <mkestner@ximian.com>
* e-table-col.[ch] : GObjectify
* e-table-column-specification.[ch] : GObjectify
* e-table-config.[ch] : GObjectify
* e-table-group-leaf.c : use GObject api for models
* e-table-group.c : use GObject api for models
* e-table-header-item.c : use GObject api for models
* e-table-header.c : use GObject api for models
* e-table-selection-model.c : use GObject api for models
* e-table-sort-info.[ch] : GObjectify
* e-table-sorted.[ch] : GObjectify
* e-table-sorter.c : use GObject api for models
* e-table-specification.c : use GObject api for models
* e-table-state.[ch] : GObjectify
* e-table-subset-variable.[ch] : GObjectify
* e-table-subset.[ch] : GObjectify
* e-table.c : use GObject api for models
svn path=/trunk/; revision=18571
2001-09-24 Federico Mena Quintero <federico@ximian.com>
* e-table-group.c (e_table_group_add): Assert that the virtual
method is implemented instead of being forgiving.
(e_table_group_add_array): Likewise.
(e_table_group_add_all): Likewise.
(e_table_group_remove): Likewise.
(e_table_group_increment): Likewise.
(e_table_group_decrement): Likewise.
(e_table_group_row_count): Likewise.
(e_table_group_set_focus): Likewise.
(e_table_group_get_focus): Likewise.
(e_table_group_get_focus_column): Likewise.
(e_table_group_get_printable): Likewise.
(e_table_group_compute_location): Likewise.
(e_table_group_get_cell_geometry): Likewise.
(etg_destroy): Clear the fields after we unref them.
* e-table-group-leaf.c (etgl_destroy): Clear the fields after we
unref them.
(e_table_group_leaf_construct): Subsets should not be sunk. Do
not ref/sink the subset.
* e-table-header.c (e_table_header_add_column): Document the fact
that the header assumes ownership of the column.
svn path=/trunk/; revision=13102
2001-08-24 Christopher James Lahey <clahey@ximian.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group-leaf.h, e-table-group.c, e-table-group.h: Added
start_drag signals.
* e-table-item.c, e-table-item.h (eti_event): Send the start_drag
signal. Fixes Ximian bug #807.
* e-table.c, e-table.h, e-tree.c, e-tree.h: Added start_drag
signal. Made default handler start drag & drop if we're set to
automatically handle dnd. Ripped out the code to handle watching
events for dnd since start_drag does this now.
svn path=/trunk/; revision=12437
2001-08-08 Christopher James Lahey <clahey@ximian.com>
* e-table-group-leaf.c, e-table-group-leaf.h (etgl_key_press):
Check for row >= 0 here.
(etgl_destroy): Disconnect from all the signals we connect to on
our ETableItem here.
svn path=/trunk/; revision=11766
2001-05-22 Christopher James Lahey <clahey@ximian.com>
* e-table-group-leaf.c (etgl_double_click): The double_click
signal on the table item now emits the model row instead of the
view row so don't do the view to model conversion here.
svn path=/trunk/; revision=9924
2001-04-28 Jason Leach <jasonleach@usa.net>
(Make the alternating row colors a option in ETableSpecification
instead of a compiled in #define)
* e-table-specification.c (e_table_specification_load_from_node):
Read in the "alternating-row-colors=bool" option for
ETableSpecifications. Default value is true so unless it is
specified to be false, row colors will alternate.
(e_table_specification_save_to_node): Save the alternating row
color options here.
* e-table.c (et_build_groups): Pass down the alternating row
colors through to the ETableGroup.
* e-table-group-container.[ch]: Handle the new alternating row
colors
option here, passing it to ETableItem.
* e-table-group-leaf.[ch]: Here too.
* e-table-item.c (eti_get_cell_background_color): Got rid of the
#define ALTERNATE_COLORS, replaced with truth check for
ETableItem::alternating_row_colors.
* e-tree.c: Make ETree recognize alternating row color options as
well.
svn path=/trunk/; revision=9622
2001-04-25 Jason Leach <jasonleach@usa.net>
* e-table-group-leaf.c (etgl_set_arg): One-line fix (missing a
'break' at the end of the ARG_SELECTION_MODEL case).
svn path=/trunk/; revision=9561
2001-03-30 Christopher James Lahey <clahey@ximian.com>
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
e-table-item.h, e-table.c, e-tree.c: Changed the signal
"table_selection_model" to just be "selection_model" everywhere
and made it be ESelectionModels instead of ETableSelectionModels
for generality.
* e-table-item.c (eti_event): Make right arrow and left arrow
accessible as events that can be caught.
* e-tree-sorted.c, e-tree-sorted.h (e_tree_sorted_orig_position):
Added this function.
svn path=/trunk/; revision=9041
2001-03-20 Christopher James Lahey <clahey@ximian.com>
* configure.in: Bumped the version number to 05.99.9.
From gal/e-table/ChangeLog:
2001-03-20 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c: Turn on the vertical grid.
* e-table-group-container.c, e-table-group-container.h,
e-table-group-leaf.c, e-table-group-leaf.h, e-table-item.c,
e-table-item.h: Replaced the "drawgrid" argument with
"horizontal_draw_grid" and "vertical_draw_grid" arguments.
* e-table-specification.c, e-table-specifcation: Replaced the
draw_grid setting with the horizontal_draw_grid and
vertical_draw_grid settings. If the draw-grid property is set in
a ETableSpecification it is still obeyed and overrides the
vertical-draw-grid and horizontal-draw-grid properties.
* e-table.c, e-table.h, e-tree.c, e-tree.h: Deal with the
horizontal_draw_grid and vertical_draw_grid changes.
* e-tree-model.h: Added a missing include.
svn path=/trunk/; revision=8846
2001-02-27 Christopher James Lahey <clahey@ximian.com>
* gal/e-text/e-completion-view.c: Changed
e_table_selection_model_clear to e_selection_model_clear.
* tests/test-tree-3.c: Changed E_TABLE_CURSOR_LINE to
E_CURSOR_LINE.
From gal/e-table/ChangeLog:
2001-02-27 Christopher James Lahey <clahey@ximian.com>
* e-table-click-to-add.c, e-table-group-container.c,
e-table-group-container.h, e-table-group-leaf.c,
e-table-group-leaf.h, e-table-item.c, e-table-item.h,
e-table-specification.c, e-table-specification.h, e-table.c,
e-table.h: Changed a lot of the ETableSelectionModels to
ESelectionModels, a lot of the ETableSorters to ESorters, all the
ETableCursorModes to ECursorModes, and all of the
ETableForeachFuncs into EForeachFuncs.
* e-table-defines.h: Moved ETableForeachFunc and ETableCursorMode
to e-selection-model.h.
* e-table-selection-model.c, e-table-selection-model.h: Made this
a subclass of ESelectionModel which simple connects to an
ETableModel.
* e-table-sorter.c, e-table-sorter.h: Made this a subclass of
ESorter so that implements the same semantics it used to.
svn path=/trunk/; revision=8422
2001-02-23 Christopher James Lahey <clahey@ximian.com>
* gal/Makefile.am (libgal_la_LIBADD): Added
e-table/e-table-sorting-utils.lo.
From gal/e-table/ChangeLog:
2001-02-23 Christopher James Lahey <clahey@ximian.com>
* Makefile.am (libetable_la_SOURCES): Added
e-table-sorting-utils.c.
(libetableinclude_HEADERS): Added e-table-sorting-utils.h.
* e-table-group-container.c: Implemented add_array method. Use
add_array to implement add_all instead of using add. Did some
general clean up.
* e-table-group-leaf.c, e-table-group-leaf.h: Implemented
add_array method. Changed everything to use an ETableSubset
variable instead of an ETableSortedVariable. Implemented it as
ETableSortedVariable if there's grouping involved and ETableSorted
if there isn't.
* e-table-group.c, e-table-group.h: Added add_array method. Added
unused get_position code.
* e-table-sorted-variable.c, e-table-sorted-variable.h: Moved a
lot of the actual implementation of sorting to
e-table-sorting-utils.c. Got rid of the signal handlers here
since we weren't using them and ETableSubset has the proxy virtual
methods.
* e-table-sorted.c, e-table-sorted.h: Completely replaced these
files with a variation on ETableSortedVariable that doesn't have
the add methods and such but instead just mimics the source
model's set of rows completely.
* e-table-sorter.c, e-table-sorter.h: Added functions to get at
the arrays here.
* e-table-sorting-utils.c, e-table-sorting-utils.h: Utility
functions for doing sorting.
* e-table-subset-variable.c, e-table-subset-variable.h: Added
add_array method.
* e-table-subset.c, e-table-subset.h: Made it so that the signal
hookups to the source model's signals are virtual methods.
* e-table.c, e-table.h: Don't call add_all and add and remove type
functions if not grouped. Don't rebuild for sort changes unless
it was either grouped before or will be grouped now.
svn path=/trunk/; revision=8374
2001-01-25 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h, e-table-item.c, e-table-item.h:
Documented. Added a "cursor_activated" signal. Removed some
unused functions (e_table_group_get_count and
e_table_group_get_ecol).
* e-table-selection-model.c, e-table-selection-model.h: Added a
"cursor_activated" signal. Call it when the user changes the
selection to match the cursor.
* e-table.c, e-table.h: Added a "cursor_activated" signal. Fixed
the e_table_compute_location function to take into account the
scrolled position.
svn path=/trunk/; revision=7808
2000-12-14 Christopher James Lahey <clahey@helixcode.com>
* e-table-group-container.c, e-table-group-leaf.c,
e-table-group.c, e-table-group.h: Removed the set cursor and get
cursor methods from ETableGroup.
* e-table.c (e_table_get_cursor_row, e_table_set_cursor_row):
Changed this to use the ETableSelection directly instead of going
through the grouping structure. This seems to fix a bug in
evolution's folder list for some people.
svn path=/trunk/; revision=7018