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
Benjamin Otte
959f80e6e9
css: Implement filter
...
So far, it's only implemented for widgets, not for gadgets.
Not sure how to do it for gadgets without conflicts for widget gadgets
yet...
2016-12-31 02:49:47 +01:00
Benjamin Otte
def94f03e2
debug: Add GTK_DEBUG=snapshot
...
This causes the snapshotting algorithm to dump all widget nodes into
their own container node. We then name that group accordingly (ie
"GtkSwitch<0xdeadbeef>") so you can easily see which node belongs where.
The feature is toggleable in the inspector's visual tab.
There's a few problems with it, becuse GtkSnapshot optimized container
nodes away if they are not needed, so we are losing some widgets...
2016-12-20 19:26:40 +01:00
Benjamin Otte
9822fe81a3
snapshot: Implement gtk_snapshot_push_opacity()
...
Use it in GtkWidget's opacity handling.
2016-12-20 18:01:11 +01:00
Benjamin Otte
3d5173d4ac
gtk: Fix memleaks
...
It turns out, some simple getters - such as
gdk_drawing_context_get_clip() - love copying things before returning
them.
I guess somebody has to burn cycles...
2016-12-20 18:01:10 +01:00
Benjamin Otte
07d39299ea
gsk: Replace gsk_render_node_set_opacity()
...
... with gsk_opacity_node_new().
Also implement support for opacity in gtk_widget_snapshot() using this
new node.
2016-12-20 18:01:10 +01:00
Benjamin Otte
e6d423e0e2
gsk: Remove gsk_renderer_create_fallback()
...
Use gsk_render_node_draw() instead.
2016-12-20 18:01:10 +01:00
Piotr Drąg
a2da4ddceb
Use Unicode in translatable strings
...
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772371
2016-12-19 15:08:10 -05:00
Benjamin Otte
cb8483b0a6
gtk: Remove unneeded gtk_snapshot_push()/pop() calls
2016-12-09 21:39:43 +01:00
Benjamin Otte
f8932d643d
snapshot: Always create an initial node
...
This way we ensure that there is only one root node and everybody can
append() with impunity.
2016-12-09 21:39:43 +01:00
Timm Bäder
489aee5d00
widget: Remove unused adjust_* vfuncs
...
Expose them privately to gtksizerequest.c using normal functions
instead.
2016-12-07 18:12:54 +01:00
Timm Bäder
ea22bd9d40
widget: Use gtk_widget_measure to measure widget sizes
2016-12-07 08:19:22 +01:00