forked from AuroraMiddleware/gtk
add a gtk_list_store_sort_iter_changed line for some special case ...
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value): add a gtk_list_store_sort_iter_changed line for some special case ... (#96647 (issue 1), testcases from Soeren Sandmann and Daniel Elstner). Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org> Inconsistent state for toggle renderers, requested by Paolo Bacchilega in #88130. * gtk/gtktreeprivate.h: move GtkCellRendererInfo here. * gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away, fix some indentation issues. * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init), (gtk_cell_renderer_toggle_set_property), (gtk_cell_renderer_toggle_get_property), (gtk_cell_renderer_toggle_render): add an inconsistent property. * gtk/gtkstyle.c (gtk_default_draw_check), (gtk_default_draw_option): support drawing inconsistent options/checks for cells. Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done), (gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid calling _editing_done twice (which has nasty side-effects). (#96647, (issue 2) testcase from Soeren Sandmann). Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org> #82739, patch from Padraig O'Briain. * gtk/gtktreeviewcolumn.[ch]: add gtk_tree_view_column_cell_get_position() Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org> Yes, this chunk breaks ABI compatibility. Owen knows about it and agreed with it. It doesn't break ABI that bad though, things will still work. Please keep it silent :P. This patch fixes some keynav issues reported by Narayana Pattipati in #81633. (Also mentioned in #92037 (Sun tracking bug)). * gtk/gtkmarshalers.list: add two silly marshalers * gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all), (gtk_tree_view_real_unselect_all), (gtk_tree_view_real_select_cursor_row), (gtk_tree_view_real_toggle_cursor_row), (gtk_tree_view_real_expand_collapse_cursor_row), (gtk_tree_view_real_start_interactive_search): change the return type from void to gboolean, update prototypes, functions, signals and entries in GtkTreeViewClass, (gtk_tree_view_class_init): add select_cursor_row binding for enter key, (gtk_tree_view_key_press): only navigate the header button if the header is also visible ... Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org> API bit of #75745, reported by Richard Hult. * gtk/gtkcellrenderer.h (GtkCellRendererState): add GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
This commit is contained in:
parent
621ae3a60c
commit
a09f497c36
71
ChangeLog
71
ChangeLog
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -1,3 +1,74 @@
|
||||
Tue Nov 26 22:26:04 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
|
||||
add a gtk_list_store_sort_iter_changed line for some special
|
||||
case ... (#96647 (issue 1), testcases from Soeren Sandmann and
|
||||
Daniel Elstner).
|
||||
|
||||
Tue Nov 26 22:18:06 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Inconsistent state for toggle renderers, requested by Paolo Bacchilega
|
||||
in #88130.
|
||||
|
||||
* gtk/gtktreeprivate.h: move GtkCellRendererInfo here.
|
||||
|
||||
* gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
|
||||
fix some indentation issues.
|
||||
|
||||
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
|
||||
(gtk_cell_renderer_toggle_set_property),
|
||||
(gtk_cell_renderer_toggle_get_property),
|
||||
(gtk_cell_renderer_toggle_render): add an inconsistent property.
|
||||
|
||||
* gtk/gtkstyle.c (gtk_default_draw_check),
|
||||
(gtk_default_draw_option): support drawing inconsistent
|
||||
options/checks for cells.
|
||||
|
||||
Tue Nov 26 22:14:14 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
|
||||
(gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
|
||||
calling _editing_done twice (which has nasty side-effects). (#96647,
|
||||
(issue 2) testcase from Soeren Sandmann).
|
||||
|
||||
Tue Nov 26 22:12:21 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
#82739, patch from Padraig O'Briain.
|
||||
|
||||
* gtk/gtktreeviewcolumn.[ch]: add
|
||||
gtk_tree_view_column_cell_get_position()
|
||||
|
||||
Tue Nov 26 22:06:29 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
Yes, this chunk breaks ABI compatibility. Owen knows about it and
|
||||
agreed with it. It doesn't break ABI that bad though, things will
|
||||
still work. Please keep it silent :P.
|
||||
|
||||
This patch fixes some keynav issues reported by Narayana Pattipati
|
||||
in #81633. (Also mentioned in #92037 (Sun tracking bug)).
|
||||
|
||||
* gtk/gtkmarshalers.list: add two silly marshalers
|
||||
|
||||
* gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
|
||||
(gtk_tree_view_real_unselect_all),
|
||||
(gtk_tree_view_real_select_cursor_row),
|
||||
(gtk_tree_view_real_toggle_cursor_row),
|
||||
(gtk_tree_view_real_expand_collapse_cursor_row),
|
||||
(gtk_tree_view_real_start_interactive_search): change the return
|
||||
type from void to gboolean, update prototypes, functions, signals and
|
||||
entries in GtkTreeViewClass,
|
||||
(gtk_tree_view_class_init): add select_cursor_row binding for
|
||||
enter key,
|
||||
(gtk_tree_view_key_press): only navigate the header button if the
|
||||
header is also visible ...
|
||||
|
||||
Tue Nov 26 22:05:48 2002 Kristian Rietveld <kris@gtk.org>
|
||||
|
||||
API bit of #75745, reported by Richard Hult.
|
||||
|
||||
* gtk/gtkcellrenderer.h (GtkCellRendererState): add
|
||||
GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
|
||||
|
||||
Tue Nov 26 18:28:58 GMT 2002 Tony Gale <gale@gtk.org>
|
||||
|
||||
* docs/tutorial/package-db-tutorial.sh:
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "gtkcellrenderer.h"
|
||||
#include "gtkintl.h"
|
||||
#include "gtktreeprivate.h"
|
||||
|
||||
static void gtk_cell_renderer_init (GtkCellRenderer *cell);
|
||||
static void gtk_cell_renderer_class_init (GtkCellRendererClass *class);
|
||||
@ -51,14 +52,6 @@ enum {
|
||||
PROP_CELL_BACKGROUND_SET
|
||||
};
|
||||
|
||||
#define CELLINFO_KEY "gtk-cell-renderer-info"
|
||||
|
||||
typedef struct _GtkCellRendererInfo GtkCellRendererInfo;
|
||||
struct _GtkCellRendererInfo
|
||||
{
|
||||
GdkColor cell_background;
|
||||
};
|
||||
|
||||
GType
|
||||
gtk_cell_renderer_get_type (void)
|
||||
{
|
||||
@ -102,7 +95,8 @@ gtk_cell_renderer_init (GtkCellRenderer *cell)
|
||||
cell->ypad = 0;
|
||||
|
||||
cellinfo = g_new0 (GtkCellRendererInfo, 1);
|
||||
g_object_set_data_full (G_OBJECT (cell), CELLINFO_KEY, cellinfo, g_free);
|
||||
g_object_set_data_full (G_OBJECT (cell),
|
||||
GTK_CELL_RENDERER_INFO_KEY, cellinfo, g_free);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -251,7 +245,10 @@ gtk_cell_renderer_get_property (GObject *object,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
GtkCellRenderer *cell = GTK_CELL_RENDERER (object);
|
||||
GtkCellRendererInfo *cellinfo = g_object_get_data (object, CELLINFO_KEY);
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
|
||||
cellinfo = g_object_get_data (object,
|
||||
GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
switch (param_id)
|
||||
{
|
||||
@ -377,7 +374,10 @@ static void
|
||||
set_cell_bg_color (GtkCellRenderer *cell,
|
||||
GdkColor *color)
|
||||
{
|
||||
GtkCellRendererInfo *cellinfo = g_object_get_data (G_OBJECT (cell), CELLINFO_KEY);
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
|
||||
cellinfo = g_object_get_data (G_OBJECT (cell),
|
||||
GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
if (color)
|
||||
{
|
||||
@ -482,7 +482,10 @@ gtk_cell_renderer_render (GtkCellRenderer *cell,
|
||||
GtkCellRendererState flags)
|
||||
{
|
||||
gboolean selected = FALSE;
|
||||
GtkCellRendererInfo *cellinfo = g_object_get_data (G_OBJECT (cell), CELLINFO_KEY);
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
|
||||
cellinfo = g_object_get_data (G_OBJECT (cell),
|
||||
GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
g_return_if_fail (GTK_IS_CELL_RENDERER (cell));
|
||||
g_return_if_fail (GTK_CELL_RENDERER_GET_CLASS (cell)->render != NULL);
|
||||
|
@ -32,7 +32,8 @@ typedef enum
|
||||
GTK_CELL_RENDERER_PRELIT = 1 << 1,
|
||||
GTK_CELL_RENDERER_INSENSITIVE = 1 << 2,
|
||||
/* this flag means the cell is in the sort column/row */
|
||||
GTK_CELL_RENDERER_SORTED = 1 << 3
|
||||
GTK_CELL_RENDERER_SORTED = 1 << 3,
|
||||
GTK_CELL_RENDERER_FOCUSED = 1 << 4
|
||||
} GtkCellRendererState;
|
||||
|
||||
typedef enum
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "gtkentry.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtkintl.h"
|
||||
#include "gtktreeprivate.h"
|
||||
|
||||
static void gtk_cell_renderer_text_init (GtkCellRendererText *celltext);
|
||||
static void gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class);
|
||||
@ -1328,6 +1329,16 @@ gtk_cell_renderer_text_editing_done (GtkCellEditable *entry,
|
||||
{
|
||||
const gchar *path;
|
||||
const gchar *new_text;
|
||||
GtkCellRendererInfo *info;
|
||||
|
||||
info = g_object_get_data (G_OBJECT (data),
|
||||
GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
if (info->focus_out_id > 0)
|
||||
{
|
||||
g_signal_handler_disconnect (entry, info->focus_out_id);
|
||||
info->focus_out_id = 0;
|
||||
}
|
||||
|
||||
if (GTK_ENTRY (entry)->editing_canceled)
|
||||
return;
|
||||
@ -1360,6 +1371,7 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
|
||||
{
|
||||
GtkCellRendererText *celltext;
|
||||
GtkWidget *entry;
|
||||
GtkCellRendererInfo *info;
|
||||
|
||||
celltext = GTK_CELL_RENDERER_TEXT (cell);
|
||||
|
||||
@ -1377,14 +1389,17 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer *cell,
|
||||
|
||||
gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1);
|
||||
|
||||
info = g_object_get_data (G_OBJECT (cell),
|
||||
GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
gtk_widget_show (entry);
|
||||
g_signal_connect (entry,
|
||||
"editing_done",
|
||||
G_CALLBACK (gtk_cell_renderer_text_editing_done),
|
||||
celltext);
|
||||
g_signal_connect (entry, "focus_out_event",
|
||||
G_CALLBACK (gtk_cell_renderer_text_focus_out_event),
|
||||
celltext);
|
||||
info->focus_out_id = g_signal_connect (entry, "focus_out_event",
|
||||
G_CALLBACK (gtk_cell_renderer_text_focus_out_event),
|
||||
celltext);
|
||||
|
||||
return GTK_CELL_EDITABLE (entry);
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <gtk/gtkcellrenderertoggle.h>
|
||||
#include "gtkintl.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtktreeprivate.h"
|
||||
|
||||
static void gtk_cell_renderer_toggle_get_property (GObject *object,
|
||||
guint param_id,
|
||||
@ -64,10 +65,10 @@ enum {
|
||||
PROP_ZERO,
|
||||
PROP_ACTIVATABLE,
|
||||
PROP_ACTIVE,
|
||||
PROP_RADIO
|
||||
PROP_RADIO,
|
||||
PROP_INCONSISTENT
|
||||
};
|
||||
|
||||
|
||||
#define TOGGLE_WIDTH 12
|
||||
|
||||
static guint toggle_cell_signals[LAST_SIGNAL] = { 0 };
|
||||
@ -133,6 +134,15 @@ gtk_cell_renderer_toggle_class_init (GtkCellRendererToggleClass *class)
|
||||
FALSE,
|
||||
G_PARAM_READABLE |
|
||||
G_PARAM_WRITABLE));
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_INCONSISTENT,
|
||||
g_param_spec_boolean ("inconsistent",
|
||||
_("Inconsistent state"),
|
||||
_("The inconsistent stae of the button"),
|
||||
FALSE,
|
||||
G_PARAM_READABLE |
|
||||
G_PARAM_WRITABLE));
|
||||
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_ACTIVATABLE,
|
||||
@ -177,6 +187,18 @@ gtk_cell_renderer_toggle_get_property (GObject *object,
|
||||
case PROP_ACTIVE:
|
||||
g_value_set_boolean (value, celltoggle->active);
|
||||
break;
|
||||
case PROP_INCONSISTENT:
|
||||
{
|
||||
/* Move out of here when more properties start to use the info
|
||||
* thing. I put it here to not affect performance, this property
|
||||
* is not going to be used much.
|
||||
*/
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
cellinfo = g_object_get_data (object, GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
g_value_set_boolean (value, cellinfo->inconsistent);
|
||||
}
|
||||
break;
|
||||
case PROP_ACTIVATABLE:
|
||||
g_value_set_boolean (value, celltoggle->activatable);
|
||||
break;
|
||||
@ -204,6 +226,16 @@ gtk_cell_renderer_toggle_set_property (GObject *object,
|
||||
celltoggle->active = g_value_get_boolean (value);
|
||||
g_object_notify (G_OBJECT(object), "active");
|
||||
break;
|
||||
case PROP_INCONSISTENT:
|
||||
{
|
||||
/* read comment in _get_property */
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
cellinfo = g_object_get_data (object, GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
cellinfo->inconsistent = g_value_get_boolean (value);
|
||||
g_object_notify (G_OBJECT (object), "inconsistent");
|
||||
}
|
||||
break;
|
||||
case PROP_ACTIVATABLE:
|
||||
celltoggle->activatable = g_value_get_boolean (value);
|
||||
g_object_notify (G_OBJECT(object), "activatable");
|
||||
@ -283,11 +315,12 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
||||
GtkCellRendererState flags)
|
||||
{
|
||||
GtkCellRendererToggle *celltoggle = (GtkCellRendererToggle *) cell;
|
||||
GtkCellRendererInfo *cellinfo;
|
||||
gint width, height;
|
||||
gint x_offset, y_offset;
|
||||
GtkShadowType shadow;
|
||||
GtkStateType state = 0;
|
||||
|
||||
|
||||
gtk_cell_renderer_toggle_get_size (cell, widget, cell_area,
|
||||
&x_offset, &y_offset,
|
||||
&width, &height);
|
||||
@ -297,7 +330,12 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell,
|
||||
if (width <= 0 || height <= 0)
|
||||
return;
|
||||
|
||||
shadow = celltoggle->active ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
|
||||
cellinfo = g_object_get_data (G_OBJECT (cell), GTK_CELL_RENDERER_INFO_KEY);
|
||||
|
||||
if (cellinfo->inconsistent)
|
||||
shadow = GTK_SHADOW_ETCHED_IN;
|
||||
else
|
||||
shadow = celltoggle->active ? GTK_SHADOW_IN : GTK_SHADOW_OUT;
|
||||
|
||||
if ((flags & GTK_CELL_RENDERER_SELECTED) == GTK_CELL_RENDERER_SELECTED)
|
||||
{
|
||||
|
@ -717,6 +717,8 @@ gtk_list_store_real_set_value (GtkListStore *list_store,
|
||||
retval = TRUE;
|
||||
if (converted)
|
||||
g_value_unset (&real_value);
|
||||
if (sort && GTK_LIST_STORE_IS_SORTED (list_store))
|
||||
gtk_list_store_sort_iter_changed (list_store, iter, old_column);
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -2266,7 +2268,6 @@ gtk_list_store_sort_iter_changed (GtkListStore *list_store,
|
||||
gtk_tree_model_rows_reordered (GTK_TREE_MODEL (list_store),
|
||||
tmp_path, NULL,
|
||||
new_order);
|
||||
|
||||
gtk_tree_path_free (tmp_path);
|
||||
g_free (new_order);
|
||||
}
|
||||
|
@ -32,6 +32,8 @@ BOOLEAN:OBJECT,BOXED,BOXED
|
||||
BOOLEAN:INT,INT
|
||||
BOOLEAN:VOID
|
||||
BOOLEAN:BOOLEAN
|
||||
BOOLEAN:NONE
|
||||
BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN
|
||||
ENUM:ENUM
|
||||
INT:POINTER
|
||||
NONE:BOOLEAN
|
||||
|
@ -3623,6 +3623,10 @@ gtk_default_draw_check (GtkStyle *style,
|
||||
draw_part (window, style->text_gc[state_type], area, x, y, CHECK_TEXT);
|
||||
draw_part (window, style->text_aa_gc[state_type], area, x, y, CHECK_AA);
|
||||
}
|
||||
else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
|
||||
{
|
||||
draw_part (window, style->text_gc[state_type], area, x, y, CHECK_INCONSISTENT_TEXT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3712,6 +3716,11 @@ gtk_default_draw_option (GtkStyle *style,
|
||||
height - 4,
|
||||
0, 360*64);
|
||||
}
|
||||
else if (shadow_type == GTK_SHADOW_ETCHED_IN) /* inconsistent */
|
||||
{
|
||||
draw_part (window, widget->style->fg_gc[state_type],
|
||||
area, x, y, CHECK_INCONSISTENT_TEXT);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -195,6 +195,21 @@ struct _GtkTreeViewPrivate
|
||||
GtkDestroyNotify search_destroy;
|
||||
};
|
||||
|
||||
/* cool ABI compat hack */
|
||||
#define GTK_CELL_RENDERER_INFO_KEY "gtk-cell-renderer-info"
|
||||
|
||||
typedef struct _GtkCellRendererInfo GtkCellRendererInfo;
|
||||
struct _GtkCellRendererInfo
|
||||
{
|
||||
GdkColor cell_background;
|
||||
|
||||
/* text renderer */
|
||||
gulong focus_out_id;
|
||||
|
||||
/* toggle renderer */
|
||||
gboolean inconsistent :1;
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
||||
#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \
|
||||
|
@ -839,6 +839,8 @@ gtk_tree_store_real_set_value (GtkTreeStore *tree_store,
|
||||
retval = TRUE;
|
||||
if (converted)
|
||||
g_value_unset (&real_value);
|
||||
if (sort && GTK_TREE_STORE_IS_SORTED (tree_store))
|
||||
gtk_tree_store_sort_iter_changed (tree_store, iter, old_column);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
@ -223,16 +223,16 @@ static void gtk_tree_view_set_adjustments (GtkTreeView *tree
|
||||
static gboolean gtk_tree_view_real_move_cursor (GtkTreeView *tree_view,
|
||||
GtkMovementStep step,
|
||||
gint count);
|
||||
static void gtk_tree_view_real_select_all (GtkTreeView *tree_view);
|
||||
static void gtk_tree_view_real_unselect_all (GtkTreeView *tree_view);
|
||||
static void gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
static gboolean gtk_tree_view_real_select_all (GtkTreeView *tree_view);
|
||||
static gboolean gtk_tree_view_real_unselect_all (GtkTreeView *tree_view);
|
||||
static gboolean gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
gboolean start_editing);
|
||||
static void gtk_tree_view_real_toggle_cursor_row (GtkTreeView *tree_view);
|
||||
static void gtk_tree_view_real_expand_collapse_cursor_row (GtkTreeView *tree_view,
|
||||
gboolean logical,
|
||||
gboolean expand,
|
||||
gboolean open_all);
|
||||
static void gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view);
|
||||
static gboolean gtk_tree_view_real_toggle_cursor_row (GtkTreeView *tree_view);
|
||||
static gboolean gtk_tree_view_real_expand_collapse_cursor_row (GtkTreeView *tree_view,
|
||||
gboolean logical,
|
||||
gboolean expand,
|
||||
gboolean open_all);
|
||||
static gboolean gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view);
|
||||
static void gtk_tree_view_row_changed (GtkTreeModel *model,
|
||||
GtkTreePath *path,
|
||||
GtkTreeIter *iter,
|
||||
@ -401,7 +401,7 @@ static void gtk_tree_view_real_start_editing (GtkTreeView *tree_view,
|
||||
guint flags);
|
||||
static void gtk_tree_view_stop_editing (GtkTreeView *tree_view,
|
||||
gboolean cancel_editing);
|
||||
static void gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view);
|
||||
static gboolean gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view);
|
||||
static GtkTreeViewColumn *gtk_tree_view_get_drop_column (GtkTreeView *tree_view,
|
||||
GtkTreeViewColumn *column,
|
||||
gint drop_position);
|
||||
@ -755,8 +755,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, select_all),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
_gtk_marshal_BOOLEAN__NONE,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
|
||||
tree_view_signals[UNSELECT_ALL] =
|
||||
g_signal_new ("unselect_all",
|
||||
@ -764,8 +764,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, unselect_all),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
_gtk_marshal_BOOLEAN__NONE,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
|
||||
tree_view_signals[SELECT_CURSOR_ROW] =
|
||||
g_signal_new ("select_cursor_row",
|
||||
@ -773,8 +773,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, select_cursor_row),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__BOOLEAN,
|
||||
G_TYPE_NONE, 1,
|
||||
_gtk_marshal_BOOLEAN__BOOLEAN,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
G_TYPE_BOOLEAN);
|
||||
|
||||
tree_view_signals[TOGGLE_CURSOR_ROW] =
|
||||
@ -783,8 +783,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, toggle_cursor_row),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
_gtk_marshal_BOOLEAN__NONE,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
|
||||
tree_view_signals[EXPAND_COLLAPSE_CURSOR_ROW] =
|
||||
g_signal_new ("expand_collapse_cursor_row",
|
||||
@ -792,8 +792,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, expand_collapse_cursor_row),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN,
|
||||
G_TYPE_NONE, 3,
|
||||
_gtk_marshal_BOOLEAN__BOOLEAN_BOOLEAN_BOOLEAN,
|
||||
G_TYPE_BOOLEAN, 3,
|
||||
G_TYPE_BOOLEAN,
|
||||
G_TYPE_BOOLEAN,
|
||||
G_TYPE_BOOLEAN);
|
||||
@ -804,8 +804,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, select_cursor_parent),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
_gtk_marshal_BOOLEAN__NONE,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
|
||||
tree_view_signals[START_INTERACTIVE_SEARCH] =
|
||||
g_signal_new ("start_interactive_search",
|
||||
@ -813,8 +813,8 @@ G_PARAM_READABLE));
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_STRUCT_OFFSET (GtkTreeViewClass, start_interactive_search),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_NONE__NONE,
|
||||
G_TYPE_NONE, 0);
|
||||
_gtk_marshal_BOOLEAN__NONE,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
|
||||
/* Key bindings */
|
||||
gtk_tree_view_add_move_binding (binding_set, GDK_Up, 0,
|
||||
@ -878,6 +878,12 @@ G_PARAM_READABLE));
|
||||
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_space, 0, "select_cursor_row", 1,
|
||||
G_TYPE_BOOLEAN, TRUE);
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_Return, 0, "select_cursor_row", 1,
|
||||
G_TYPE_BOOLEAN, TRUE);
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_ISO_Enter, 0, "select_cursor_row", 1,
|
||||
G_TYPE_BOOLEAN, TRUE);
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_KP_Enter, 0, "select_cursor_row", 1,
|
||||
G_TYPE_BOOLEAN, TRUE);
|
||||
|
||||
/* expand and collapse rows */
|
||||
gtk_binding_entry_add_signal (binding_set, GDK_plus, 0, "expand_collapse_cursor_row", 3,
|
||||
@ -3606,6 +3612,7 @@ gtk_tree_view_key_press (GtkWidget *widget,
|
||||
|
||||
/* FIXME: this is prolly broken when we go bidi */
|
||||
if (tree_view->priv->columns &&
|
||||
GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE) &&
|
||||
(event->keyval == GDK_Left || event->keyval == GDK_Right))
|
||||
{
|
||||
gint width = 0;
|
||||
@ -7369,29 +7376,35 @@ gtk_tree_view_move_cursor_start_end (GtkTreeView *tree_view,
|
||||
gtk_tree_path_free (path);
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_select_all (GtkTreeView *tree_view)
|
||||
{
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
if (tree_view->priv->selection->type != GTK_SELECTION_MULTIPLE)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
gtk_tree_selection_select_all (tree_view->priv->selection);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_unselect_all (GtkTreeView *tree_view)
|
||||
{
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
if (tree_view->priv->selection->type != GTK_SELECTION_MULTIPLE)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
gtk_tree_selection_unselect_all (tree_view->priv->selection);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
gboolean start_editing)
|
||||
{
|
||||
@ -7402,13 +7415,13 @@ gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
cursor_path = NULL;
|
||||
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
if (tree_view->priv->cursor)
|
||||
cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
|
||||
|
||||
if (cursor_path == NULL)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
_gtk_tree_view_find_node (tree_view, cursor_path,
|
||||
&cursor_tree, &cursor_node);
|
||||
@ -7416,7 +7429,7 @@ gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
if (cursor_tree == NULL)
|
||||
{
|
||||
gtk_tree_path_free (cursor_path);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gtk_get_current_event_state (&state);
|
||||
@ -7428,7 +7441,7 @@ gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
if (gtk_tree_view_start_editing (tree_view, cursor_path))
|
||||
{
|
||||
gtk_tree_path_free (cursor_path);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
_gtk_tree_selection_internal_select_node (tree_view->priv->selection,
|
||||
@ -7447,9 +7460,11 @@ gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view,
|
||||
gtk_tree_view_row_activated (tree_view, cursor_path, tree_view->priv->focus_column);
|
||||
|
||||
gtk_tree_path_free (cursor_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_toggle_cursor_row (GtkTreeView *tree_view)
|
||||
{
|
||||
GtkRBTree *cursor_tree = NULL;
|
||||
@ -7457,21 +7472,21 @@ gtk_tree_view_real_toggle_cursor_row (GtkTreeView *tree_view)
|
||||
GtkTreePath *cursor_path = NULL;
|
||||
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
cursor_path = NULL;
|
||||
if (tree_view->priv->cursor)
|
||||
cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
|
||||
|
||||
if (cursor_path == NULL)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
_gtk_tree_view_find_node (tree_view, cursor_path,
|
||||
&cursor_tree, &cursor_node);
|
||||
if (cursor_tree == NULL)
|
||||
{
|
||||
gtk_tree_path_free (cursor_path);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
_gtk_tree_selection_internal_select_node (tree_view->priv->selection,
|
||||
@ -7486,11 +7501,11 @@ gtk_tree_view_real_toggle_cursor_row (GtkTreeView *tree_view)
|
||||
gtk_widget_grab_focus (GTK_WIDGET (tree_view));
|
||||
gtk_tree_view_queue_draw_path (tree_view, cursor_path, NULL);
|
||||
gtk_tree_path_free (cursor_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_expand_collapse_cursor_row (GtkTreeView *tree_view,
|
||||
gboolean logical,
|
||||
gboolean expand,
|
||||
@ -7501,17 +7516,17 @@ gtk_tree_view_real_expand_collapse_cursor_row (GtkTreeView *tree_view,
|
||||
GtkRBNode *node;
|
||||
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
cursor_path = NULL;
|
||||
if (tree_view->priv->cursor)
|
||||
cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
|
||||
|
||||
if (cursor_path == NULL)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
if (_gtk_tree_view_find_node (tree_view, cursor_path, &tree, &node))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
gtk_widget_grab_focus (GTK_WIDGET (tree_view));
|
||||
gtk_tree_view_queue_draw_path (tree_view, cursor_path, NULL);
|
||||
@ -7522,9 +7537,11 @@ gtk_tree_view_real_expand_collapse_cursor_row (GtkTreeView *tree_view,
|
||||
gtk_tree_view_real_collapse_row (tree_view, cursor_path, tree, node, TRUE);
|
||||
|
||||
gtk_tree_path_free (cursor_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
|
||||
{
|
||||
GtkRBTree *cursor_tree = NULL;
|
||||
@ -7532,21 +7549,21 @@ gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
|
||||
GtkTreePath *cursor_path = NULL;
|
||||
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
cursor_path = NULL;
|
||||
if (tree_view->priv->cursor)
|
||||
cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
|
||||
|
||||
if (cursor_path == NULL)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
_gtk_tree_view_find_node (tree_view, cursor_path,
|
||||
&cursor_tree, &cursor_node);
|
||||
if (cursor_tree == NULL)
|
||||
{
|
||||
gtk_tree_path_free (cursor_path);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (cursor_tree->parent_node)
|
||||
@ -7571,6 +7588,8 @@ gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
|
||||
gtk_widget_grab_focus (GTK_WIDGET (tree_view));
|
||||
gtk_tree_view_queue_draw_path (tree_view, cursor_path, NULL);
|
||||
gtk_tree_path_free (cursor_path);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Cut and paste from gtkwindow.c */
|
||||
@ -7599,7 +7618,7 @@ send_focus_change (GtkWidget *widget,
|
||||
gdk_event_free (fevent);
|
||||
}
|
||||
|
||||
static void
|
||||
static gboolean
|
||||
gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view)
|
||||
{
|
||||
GtkWidget *window;
|
||||
@ -7607,16 +7626,16 @@ gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view)
|
||||
GtkWidget *search_dialog;
|
||||
|
||||
if (! GTK_WIDGET_HAS_FOCUS (tree_view))
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
if (tree_view->priv->enable_search == FALSE ||
|
||||
tree_view->priv->search_column < 0)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
search_dialog = g_object_get_data (G_OBJECT (tree_view),
|
||||
GTK_TREE_VIEW_SEARCH_DIALOG_KEY);
|
||||
if (search_dialog)
|
||||
return;
|
||||
return FALSE;
|
||||
|
||||
/* set up window */
|
||||
window = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
@ -7662,6 +7681,8 @@ gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view)
|
||||
|
||||
/* search first matching iter */
|
||||
gtk_tree_view_search_init (entry, tree_view);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* this function returns the new width of the column being resized given
|
||||
|
@ -90,17 +90,17 @@ struct _GtkTreeViewClass
|
||||
gboolean (* move_cursor) (GtkTreeView *tree_view,
|
||||
GtkMovementStep step,
|
||||
gint count);
|
||||
void (* select_all) (GtkTreeView *tree_view);
|
||||
void (* unselect_all) (GtkTreeView *tree_view);
|
||||
void (* select_cursor_row) (GtkTreeView *tree_view,
|
||||
gboolean (* select_all) (GtkTreeView *tree_view);
|
||||
gboolean (* unselect_all) (GtkTreeView *tree_view);
|
||||
gboolean (* select_cursor_row) (GtkTreeView *tree_view,
|
||||
gboolean start_editing);
|
||||
void (* toggle_cursor_row) (GtkTreeView *tree_view);
|
||||
void (* expand_collapse_cursor_row) (GtkTreeView *tree_view,
|
||||
gboolean (* toggle_cursor_row) (GtkTreeView *tree_view);
|
||||
gboolean (* expand_collapse_cursor_row) (GtkTreeView *tree_view,
|
||||
gboolean logical,
|
||||
gboolean expand,
|
||||
gboolean open_all);
|
||||
void (* select_cursor_parent) (GtkTreeView *tree_view);
|
||||
void (* start_interactive_search) (GtkTreeView *tree_view);
|
||||
gboolean (* select_cursor_parent) (GtkTreeView *tree_view);
|
||||
gboolean (* start_interactive_search) (GtkTreeView *tree_view);
|
||||
|
||||
/* Padding for future expansion */
|
||||
void (*_gtk_reserved0) (void);
|
||||
|
@ -3267,3 +3267,37 @@ _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell_renderer,
|
||||
gint *start_pos,
|
||||
gint *width)
|
||||
{
|
||||
GList *list;
|
||||
gint current_x = 0;
|
||||
gboolean found_cell = FALSE;
|
||||
GtkTreeViewColumnCellInfo *cellinfo;
|
||||
|
||||
list = gtk_tree_view_column_cell_first (tree_column);
|
||||
for (; list; list = gtk_tree_view_column_cell_next (tree_column, list))
|
||||
{
|
||||
cellinfo = list->data;
|
||||
if (cellinfo->cell == cell_renderer)
|
||||
{
|
||||
found_cell = TRUE;
|
||||
break;
|
||||
}
|
||||
current_x += cellinfo->real_width;
|
||||
}
|
||||
|
||||
if (found_cell)
|
||||
{
|
||||
if (start_pos)
|
||||
*start_pos = current_x;
|
||||
if (width)
|
||||
*width = cellinfo->real_width;
|
||||
}
|
||||
|
||||
return found_cell;
|
||||
}
|
||||
|
@ -222,6 +222,11 @@ void gtk_tree_view_column_cell_get_size (GtkTreeViewCol
|
||||
gboolean gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column);
|
||||
void gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell);
|
||||
gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column,
|
||||
GtkCellRenderer *cell_renderer,
|
||||
gint *start_pos,
|
||||
gint *width);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user