summaryrefslogtreecommitdiff
path: root/gtk/gtktreeviewcolumn.c
Commit message (Collapse)AuthorAgeFilesLines
* GtkTreeviewColumn: don't focus-on-click header buttonsBUG_gtktreeview_headers_focus_on_click_GTK3Nelson Benítez León2020-04-301-0/+1
| | | | | | | | | | | currently when mouse clicking on a column header to sort it it is grabbing keyboard focus, this should not happen, keyboard focus should remain where it was before. This can be seen on the GtkFileChooser widget, when having the keyboard focus on the file list items and clicking on a column header to sort it the keyboard focus is now on the header.
* treeviewcolumn: Make a code snippet compileTimm Bäder2018-01-071-1/+1
|
* TreeViewCol: Fix SEGV on remove/add, + memory leakDaniel Boles2017-10-071-1/+0
| | | | | | | | | | | | | | Nulling priv->button in _unset_tree_view() is asymmetrical: we create it via init(), not _set_tree_view(), so we shouldn’t null in the latter. Worse, doing so manifests in criticals + a SEGV easily with basic use of testtreecolumns, removing the TVC from a TV then trying to add it to one Finally, the wrong null-out meant dispose() failed to unref the button, so it leaked. https://bugzilla.gnome.org/show_bug.cgi?id=728452 https://bugzilla.gnome.org/show_bug.cgi?id=788614
* TreeViewCol: Don’t try to disconnect null treeviewDaniel Boles2017-10-061-5/+6
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=788614
* treeviewcolumn: use g_clear_object when freeing cursorChristian Hergert2016-09-271-1/+1
| | | | | | There is the chance that the cursor returned NULL on systems with missing cursors. This defensively handles that by checking for a NULL cursor.
* Use NULL for generic marshallers in g_signal_new()Benjamin Otte2016-08-291-1/+1
| | | | | glib will use the correct marshaller automatically. And as a side effect, we also get all glib optimizations, like a va marshaller.
* introspection: This patch fixes nullable return values fixes for the ↵Alberto Ruiz2016-01-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | following symbols in gtk gtk_accel_group_query gtk_accel_group_from_accel_closure gtk_accel_label_get_accel_widget gtk_accessible_get_widget gtk_actionable_get_action_name gtk_app_chooser_get_app_info gtk_app_chooser_button_get_heading gtk_app_chooser_dialog_get_heading gtk_application_get_window_by_id gtk_assistant_get_nth_page gtk_binding_set_find gtk_builder_get_object gtk_builder_lookup_callback_symbol gtk_builder_get_application gtk_button_get_image gtk_cell_area_get_focus_from_sibling gtk_cell_renderer_start_editing gtk_cell_view_get_model gtk_cell_view_get_displayed_row gtk_clipboard_get_owner gtk_container_get_focus_child gtk_container_get_focus_vadjustment gtk_container_get_focus_hadjustment gtk_dialog_get_widget_for_response gtk_drag_get_source_widget gtk_drag_dest_get_target_list gtk_drag_source_get_target_list gtk_entry_completion_get_model gtk_entry_completion_compute_prefix gtk_expander_get_label_widget gtk_file_chooser_get_filename gtk_file_chooser_get_current_folder gtk_file_chooser_get_uri gtk_file_chooser_get_current_folder_uri gtk_file_chooser_get_preview_widget gtk_file_chooser_get_preview_file gtk_file_chooser_get_preview_filename gtk_file_chooser_get_preview_uri gtk_file_chooser_get_extra_widget gtk_file_chooser_get_filter gtk_file_chooser_native_get_accept_label gtk_file_chooser_native_get_cancel_label gtk_file_filter_get_name gtk_font_chooser_get_font_family gtk_font_chooser_get_font_face gtk_font_chooser_get_font gtk_font_chooser_get_font_desc gtk_font_chooser_get_font_map gtk_frame_get_label gtk_gesture_get_device gtk_gesture_get_window gtk_gl_area_get_error gtk_header_bar_get_title gtk_header_bar_get_subtitle gtk_header_bar_get_custom_title gtk_icon_info_get_filename gtk_icon_view_get_path_at_pos gtk_icon_view_get_model gtk_image_get_pixbuf gtk_image_get_animation gtk_label_get_mnemonic_widget gtk_label_get_attributes gtk_check_version gtk_menu_button_get_popup gtk_menu_button_get_menu_model gtk_menu_button_get_align_widget gtk_menu_button_get_popover gtk_menu_item_get_submenu gtk_menu_item_get_accel_path gtk_native_dialog_get_title gtk_native_dialog_get_transient_for gtk_notebook_get_nth_page gtk_notebook_get_tab_label_text gtk_notebook_get_menu_label gtk_notebook_get_menu_label_text gtk_notebook_get_group_name gtk_notebook_get_action_widget gtk_offscreen_window_get_surface gtk_offscreen_window_get_pixbuf gtk_paned_get_child1 gtk_paned_get_child2 gtk_places_sidebar_get_location gtk_places_sidebar_get_nth_bookmark gtk_plug_get_socket_window gtk_popover_get_default_widget gtk_progress_bar_get_text gtk_recent_filter_get_name gtk_recent_manager_lookup_item gtk_settings_get_default gtk_socket_get_plug_window gtk_stack_sidebar_get_stack gtk_stack_switcher_get_stack gtk_style_context_get_section gtk_style_context_get_parent gtk_style_context_get_frame_clock gtk_test_find_widget gtk_text_buffer_get_mark gtk_text_tag_table_lookup gtk_text_view_get_tabs gtk_text_view_toggle_cursor_visible gtk_text_view_get_window gtk_toolbar_get_nth_item gtk_tool_button_get_label gtk_tool_button_get_icon_name gtk_tool_button_get_label_widget gtk_tool_button_get_icon_widget gtk_tool_palette_get_drop_item gtk_tool_palette_get_drop_group gtk_tree_model_filter_convert_child_path_to_path gtk_tree_model_filter_convert_path_to_child_path gtk_tree_model_sort_convert_child_path_to_path gtk_tree_model_sort_convert_path_to_child_path gtk_tree_view_get_column gtk_tree_view_get_bin_window gtk_tree_view_column_get_widget gtk_tree_view_column_get_tree_view gtk_widget_get_frame_clock gtk_window_group_get_current_device_grab GtkTextBufferSerializeFunc
* treeview: Use a cssnode instead of regionsBenjamin Otte2015-10-221-1/+0
| | | | | This makes Treeview headers work again like before region support was removed.
* treeviewcolumn: Create button on initBenjamin Otte2015-10-221-33/+24
| | | | | This way, the button is always available and the code doesn't have to special case this condition.
* tree view column: Convert to g_object_notify_by_pspecMatthias Clasen2015-09-061-179/+166
| | | | This avoids pspec lookup overhead in g_object_notify.
* Use standard cursor namesMatthias Clasen2015-07-261-2/+3
| | | | | | | This changes GTK+ to use gdk_cursor_new_from_name() with the 'standard' css names, instead of GdkCursorType. https://bugzilla.gnome.org/show_bug.cgi?id=652085
* GtkTreeViewColumn: Fix a documentation typoMatthias Clasen2015-07-041-4/+4
|
* Stop using GDK_POINTER_MOTION_HINT_MASK in widgetsMatthias Clasen2015-03-221-1/+0
| | | | | | It is deprecated and no longer needed, and,as observed in https://bugzilla.gnome.org/show_bug.cgi?id=746253 it interferes with turning off event compression.
* GtkTreeViewColumn: a better way to avoid overlapMatthias Clasen2014-07-101-46/+10
| | | | | | | The overlap was caused by using pack-end for the arrow, which causes it to be allocated from the other end. Avoid the problem by using pack-start for both the title and the arrow, and reordering them according to xalign.
* GtkTreeView: Avoid overlapping sort indicatorMatthias Clasen2014-07-101-0/+30
| | | | Hide the sort indicator when it would overlap the column title.
* gtk: Don't use GObjectClass.constructorJasper St. Pierre2014-06-261-16/+6
| | | | Use the newer constructed instead, which has a fast path in GObject.
* treeviewcolumn: Avoid a device position queryCarlos Garnacho2014-06-111-5/+2
| | | | | This happens in an event handler, and the button event should be expected to have the right coordinates on the event window already.
* GtkTreeViewColumn: Use G_PARAM_EXPLICIT_NOTIFYMatthias Clasen2014-06-091-41/+34
|
* Revert "Use minimum/natural size semantics"Matthias Clasen2014-06-011-31/+31
| | | | | | | This reverts commit 6d53c2339f79baa0b295ecc614f41f9daab2e132. https://bugzilla.gnome.org/show_bug.cgi?id=731054 showed some major regressions caused by this commit.
* gtk: fix several out argument annotationsEvan Nemerson2014-05-271-4/+4
| | | | | | | These mostly just switch from allow-none to optional, nullable, or both, as necessary. https://bugzilla.gnome.org/show_bug.cgi?id=730745
* gtk: fix many callback annotations to include closure informationEvan Nemerson2014-05-271-1/+1
| | | | | | | | | Without this information introspection-based consumers don't realize they can include context information, but instead think that they receive an extra gpointer argument (which they don't know how to handle). https://bugzilla.gnome.org/show_bug.cgi?id=730745
* Deprecate GtkAligmentMatthias Clasen2014-05-231-3/+6
| | | | | | This has been dangling ever since 3.0. https://bugzilla.gnome.org/show_bug.cgi?id=645781
* treeview: Don't show missing imagesMatthias Clasen2014-05-171-0/+5
| | | | | | | | When a model is sortable, but the the column is not currently used for sorting, we want to reserve the space for showing the sort indicator. But we currently set the icon to 'missing-image', which is not great to show all over the place. So, just set the opacity to 0.
* Drop GtkArrow use in GtkTreeViewColumnMatthias Clasen2014-05-131-8/+6
| | | | | This is in preparation for GtkArrow getting deprecated. https://bugzilla.gnome.org/show_bug.cgi?id=729564
* docs: use Returns: consistentlyWilliam Jon McCann2014-02-191-25/+25
| | | | Instead of Return value:
* docs: use apostrophe in *'reWilliam Jon McCann2014-02-071-1/+1
|
* docs: use apostrophes in *n'tWilliam Jon McCann2014-02-071-1/+1
|
* docs: use proper apostropheWilliam Jon McCann2014-02-071-3/+3
| | | | https://wiki.gnome.org/Design/OS/Typography
* docs: Use markup for linksWilliam Jon McCann2014-02-071-2/+2
|
* GtkTreeViewColumn: fix critical warningClaudio Saavedra2014-02-061-2/+2
| | | | | | Do not call _column_autosize() if there is no treeview set yet. https://bugzilla.gnome.org/show_bug.cgi?id=723637
* docs: use proper quotesWilliam Jon McCann2014-02-051-5/+5
|
* docs: Identify examples that are C codeWilliam Jon McCann2014-01-291-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=723119
* docs: don't use <emphasis>William Jon McCann2014-01-281-1/+1
| | | | It is a little heavy handed. The text can speak for itself.
* docs: fix dnd docs linksWilliam Jon McCann2014-01-211-2/+3
|
* GtkTreeViewColumn: start padding at 0Ryan Lortie2013-09-301-1/+1
| | | | | | | | | | | | | | If we start with a padding of -1 then it can leak out of the size allocation request for the column when the treeview is empty. The GtkTreeView will then collect these -1 values and add them together, returning -n where 'n' is the number of columns. This is usually not a problem because treeviews tend to be used with a scrollbar and the width of the scrollbar will be added to this number bringing it into positive territory again. On Ubuntu, with overlay scrollbars, this is not the case, however. https://bugzilla.gnome.org/show_bug.cgi?id=703062
* Improve struct packing in various placesMatthias Clasen2013-09-211-1/+1
|
* gtk: Use new macros for defining private dataEmmanuele Bassi2013-07-091-5/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702996
* Deprecate gtk_widget_push_composite_child & friendsTristan Van Berkom2013-04-081-2/+0
| | | | | | | | Deprecate gtk_widget_push_composite_child, gtk_widget_pop_composite_child, gtk_widget_set_composite_name, gtk_widget_get_composite_name. This API is just bloat and was never useful, this patch deprecates it and removes all internal calls to the composite child APIs
* Add gtk_widget_(un)register_windowAlexander Larsson2013-02-071-2/+2
| | | | | | | | | | | | This replaces the previously hardcoded calls to gdk_window_set_user_data, and also lets us track which windows are a part of a widget. Old code should continue working as is, but new features that require the windows may not work perfectly. We need this for the transparent widget support to work, as we need to specially mark the windows of child widgets. https://bugzilla.gnome.org/show_bug.cgi?id=687842
* docs: Update docs for recent treeviewcolumn changesJohn Lindgren2013-01-171-21/+30
|
* docs: Don't mark up numbersBenjamin Otte2013-01-171-1/+1
|
* treeviewcolumn: always hide button widget if the header is not shownCarl-Anton Ingmarsson2013-01-171-3/+3
| | | | | | Fixes the following warning from appearing: Gtk-WARNING **: GtkTreeView 0xb44010 is mapped but visible child GtkButton 0xad9320 is not mapped
* Use minimum/natural size semanticsJohn Lindgren2013-01-151-31/+31
| | | | | | | | | | | | | | | | Rewrites gtk_tree_view_column_request_width() and gtk_tree_view_size_allocate_columns() to respect the minimum and natural sizes that are already being returned by gtk_cell_area_context_get_preferred_width(). The convoluted logic explained (not!) by this comment has been removed: “Only update the expand value if the width of the widget has changed, or the number of expand columns has changed, or if there are no expand columns, or if we didn't have an size-allocation yet after the last validated node.” This logic seems to have been a workaround for the “jumping” behavior fixed in 16195ad and is no longer necessary. https://bugzilla.gnome.org/show_bug.cgi?id=691751
* Use fixed width for resizingJohn Lindgren2013-01-151-51/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the hidden “resized-width” and “use-resized-width” properties from GtkTreeViewColumn and instead uses the “fixed-width” property to serve the same purpose. “fixed-width”, if set, will now override the auto-sized width (-1 is now a legal value meaning “not set”). Additional “cleanups” in this commit: 1. When the user resizes the column the “expand” property is now also set to FALSE, in order to prevent the column from suddenly jumping to a different width when the window is resized. 2. The code that translated mouse movement to column sizes has been simplified: the change in column width is now calculated directly from the distance the mouse cursor has traveled. Weird behavior that might have happened previously if the position of the column changed during resizing, is now prevented. 3. There was some lengthy logic handling the keyboard shortcuts used to resize treeview columns, which would call gtk_widget_error_bell() once the minimum or maximum width was reached. Instead of rewriting these checks I simply set the “fixed-width” property to what was requested, relying on the fact that it is already clamped between the minimum and maximum width during size allocation. I will greatly surprised if anyone notices the missing error bell. https://bugzilla.gnome.org/show_bug.cgi?id=691751
* treeviewcolumn: Show button if we're visibleBenjamin Otte2013-01-081-0/+2
| | | | Previously, we were happily working with a hidden button.
* Make accessible implementations publicMatthias Clasen2012-12-271-1/+1
| | | | | | | | | | | | | | This commit exposes the get_type() functions and standard headers for accessible implementations. This makes it possible to derive from the GTK accessible implementations without GType magic tricks. This is necessary, because we require the a11y type hierarchy to be parallel to the widget type hierarchy. So, if you derive a widget and need to adjust its a11y implementation, you have to be able to derive its accessible implementation. This commit probably exposes more than is absolutely necessary, it also exposes accessibles of widgets that are unlikely candidates for deriving from.
* docs: fix a number of typos and obsolete referencesCosimo Cecchi2012-07-021-3/+3
|
* Change FSF AddressJavier Jardón2012-02-271-3/+1
|
* docs: fix typos in functions' descriptionsJiří Klimeš2012-02-201-2/+2
| | | | | | | gtk_tree_view_set_hover_expand() gtk_tree_view_column_set_clickable() Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
* gtktreeviewcolumn: Use symbolic names for button numbersCarlos Garcia Campos2012-01-271-1/+1
|