Timm Bäder
6e9d857714
Widget: Shuffle focus code around
2017-03-31 09:50:40 +02:00
Timm Bäder
0153147ca2
widget: Allow focusing widgets with non-container parent
...
Especially if said parent also has can-focus set to FALSE, which is a
special-case we had before for GtkContainer instances.
2017-03-31 09:50:40 +02:00
Timm Bäder
cc05fc574c
window: Remove _gtk_window_set_is_toplevel
...
All GtkWindow instances are toplevels.
2017-03-31 09:50:39 +02:00
Timm Bäder
0d0cb6e192
widget: Emit ::focus regardless of container-ness and can-focus
2017-03-31 09:50:39 +02:00
Timm Bäder
885bcd9fe4
container: Remove focus_child pointer
...
Use GtkWidget's instead.
2017-03-31 09:50:39 +02:00
Timm Bäder
64544968e9
widget: Also reset focus on non-container widgets
2017-03-31 09:50:39 +02:00
Timm Bäder
43cdeee3c4
widget: Save pointer to focus child
...
Do the same thing GtkContainer does.
2017-03-31 09:50:39 +02:00
Timm Bäder
8f2d0bc5a3
widget: Fix checks in gtk_widget_snapshot()
...
If the widget isn't drawable anyway, just return;
If the widget needs an allocate, print a warning, since it indicates a
problem in the widget workflow (e.g. forgot to size_allocate a child
widget).
This maches the previous checks in gtk_widget_draw (with the same
problems).
2017-03-31 09:50:39 +02:00
Timm Bäder
653b766e30
widget: Add a GtkBuildable::add_child implementation
...
Just call gtk_widget_set_parent in there.
2017-03-31 09:50:38 +02:00
Christoph Reiter
e4b0bedb5d
gtk_widget_intersect: fix annotations
...
https://bugzilla.gnome.org/show_bug.cgi?id=773228
2017-03-30 11:19:32 +02:00
Timm Bäder
1aa37687be
widget: Prepend style classes to list when parsing
...
Since the later gtk_style_context_add_class doesn't care about the order
of the style classes, we can as well just prepend style classes to the
list and avoid the squared behavior when appending to a linked list.
2017-03-21 19:04:58 +01:00
Timm Bäder
73f8636687
widget: Remove direction-dependent margin code
...
Since margin-left and margin-right are gone, we don't have to care
about the difference between them and start/end anymore and we can just
save start as left and end as right.
2017-03-05 16:24:20 +01:00
Timm Bäder
f860ff8647
widget: Remove get_valign_with_baseline
...
This only existed for backwards compat reasons which aren't interesting
for gtk4.
2017-03-05 15:18:32 +01:00
Timm Bäder
a29343d4cf
widget: Reword size request documentation
2017-03-04 08:57:50 +01:00
Lionel Landwerlin
72801a27eb
widget: propagate scale factor upon reparenting a widget
...
When a widget is created, its default scale is the scale of the
primary screen (for instance 2). But once parented to another widget
its scale factor should be the one of its parent (if parented to a
widget on a screen at scale factor 1, it should be 1).
The problem is that we don't emit the notify::scale-factor signal when
reparenting happens.
https://bugzilla.gnome.org/show_bug.cgi?id=776821
2017-02-18 02:53:57 +00:00
Daniel Boles
02e9fb5a78
widget: Document signal mnemonic-activate
...
Name the extra bool argument, and move the explanatory paragraph from
the emitting method to the signal, with some minor tweaks to wording.
https://bugzilla.gnome.org/show_bug.cgi?id=778534
2017-02-15 21:44:29 +00:00
Timm Bäder
6a6b6549ea
widget: Remove get_preferred_width/height mention in warning
2017-02-14 16:56:55 +01:00
Timm Bäder
6c6ed7496c
widget: Remove gtk_widget_class_list_style_properties
...
Unused.
2017-01-30 18:11:00 +01:00
Timm Bäder
572639fed7
widget: Remove gtk_widget_get_preferred_size mention from docs
...
Mention gtk_widget_measure instead.
2017-01-22 15:01:53 +01:00
Timm Bäder
f05402ce2b
widget: Remove warning about already visible widgets
...
That was just added by mistake of course.
2017-01-22 14:48:28 +01:00
Timm Bäder
56a58655fe
Remove unnecessary gtk_widget_show calls
2017-01-22 14:38:21 +01:00
Piotr Drąg
e47bd31e6a
Fix CSS spelling in a translatable string
2017-01-20 23:46:38 +01:00
Timm Bäder
ab051fd53f
Don't hide windows and popovers in init()
...
Instead, don't make them visible in gtk_widget_init in the first place.
2017-01-20 21:51:05 +01:00
Timm Bäder
f4341ee9f7
widget: Remove show-all property
...
Doesn't make sense anymore now that gtk_widget_show_all is gone.
2017-01-20 21:37:07 +01:00
Timm Bäder
ea897c6df4
Remove gtk_widget_show_all
2017-01-20 21:37:04 +01:00
Timm Bäder
13b001b77c
widget: Remove show_all vfunc
2017-01-20 21:33:38 +01:00
Timm Bäder
fee788cd4a
widget: Be visible by default
2017-01-20 21:33:36 +01:00
Benjamin Otte
87497ca2e1
snapshot: Rename gtk_snapshot_translate_2d()
...
It's now called gtk_snapshot_offset().
2017-01-13 14:37:48 +01:00
Benjamin Otte
6055028c96
snapshot: Rename append APIs
...
Instead of having gtk_snapshot_append_foo_node(), just have
gtk_snapshot_append_foo(). Nobody needs to know that this internally
uses nodes.
2017-01-13 04:46:09 +01:00
Benjamin Otte
b58de2d16c
snapshot: Redo pop() API
...
gtk_snapshot_pop() => removed
gtk_snapshot_pop_and_append() => gtk_snapshot_pop()
So now there is no way to get a rendernode out of the snapshotting API
until you gtk_snapshot_finish().
2017-01-13 03:38:36 +01:00
Alexander Larsson
c00f8dce9f
GtkSnapshot: Always use int for the translation
...
We already take ints when setting the translation, so it can't
currently take any other values. Additionally, I was seeing large
costs in int -> double -> int for the rects in
gtk_snapshot_clips_rect(), as all callers really are ints (widget
allocations) and the clip region is int-based.
This change completely cleared a 2% rectangle_init_from_graphene from
the profile and is likely to have nice performance effects elsewhere
too.
2017-01-11 16:14:03 +01:00
Alexander Larsson
275185d415
widget: Avoid typechecks when accessing ->clip and ->allocation
2017-01-11 15:30:30 +01:00
Alexander Larsson
7bee22bcb6
Avoid some more type checks for internal calls
2017-01-11 15:27:51 +01:00
Alexander Larsson
65ad2541d7
Snapshot: Only record names if inspector is recording
...
Otherwise we do a lot of allocations and vprintf calls which are
not used.
2017-01-11 10:22:40 +01:00
Matthias Clasen
a013a16d1c
Use _gtk_widget_get_window more
...
This avoids type checks in places where we know it is safe.
2017-01-10 19:56:02 -05:00
Timm Bäder
deb458c656
widget: Document child/sibling accessors
2017-01-08 16:58:27 +01:00
Timm Bäder
9b76badb50
widget: Add construct-only css-name property
...
So we can set the css name of a widget to something that's not related
to the class name. If the css-name property is set to NULL, we will
still fall back to the one set using gtk_widget_class_set_css_name which
is alwasys non-NULL since GtkWidget itself sets it to "widget".
2017-01-08 16:44:46 +01:00
Timm Bäder
47d4ad71fb
Remove gtk_container_snapshot_child
...
Replace it with the already existing gtk_widget_snapshot_child.
2017-01-07 17:19:30 +01:00
Timm Bäder
5f98597a0c
Add gtk_widget_set_focus_child
...
With a very useful implementation, but at least now we don't get runtime
warnings.
2017-01-07 17:19:30 +01:00
Timm Bäder
52aed5d607
Add gtk_widget_snapshot_child
2017-01-07 17:19:30 +01:00
Timm Bäder
08d644c4a5
widget: Warn if children are left in finalize()
2017-01-07 17:19:30 +01:00
Timm Bäder
8960bb7c8e
widget: Fix :parent property type
...
Parent widgets can now also be widgets, not just containers.
2017-01-07 17:19:30 +01:00
Timm Bäder
5ab2377afa
widget: Remove gtk_widget_style_get_property
2017-01-07 17:19:30 +01:00
Timm Bäder
d77b288e65
widget: Implement create_path for widgets with non-container parent
2017-01-07 17:19:26 +01:00
Timm Bäder
af9d932e47
widget: Unparent widgets in dispose()
...
If they have a non-container parent.
2017-01-07 16:44:01 +01:00
Timm Bäder
ef44d05894
widget: Check for containerness before calling container API
2017-01-07 16:44:01 +01:00
Timm Bäder
8ef73660e4
widget: Implement map/unmap with child widgets
...
Once again, do what GtkContainer did before.
2017-01-07 16:44:01 +01:00
Timm Bäder
b15b9e028f
widget: Implement show_all
...
Do what gtk_container_forall did: show_all all children, then the widget
itself.
2017-01-07 16:44:01 +01:00
Timm Bäder
8a55a6975c
widget: Iterate over child widgets instead of gtk_container_forall
2017-01-07 16:44:01 +01:00
Timm Bäder
1e031cba99
widget: Add children and sibling pointers
...
and a (private) way to access them. We will later use these pointers to
manage children of non-container widgets and containers alike.
2017-01-07 16:44:00 +01:00