Timm Bäder
65209da486
widget: Set :focus on focus children
2017-07-19 21:27:16 -04:00
Timm Bäder
d7056f5d22
revealer: Explain CSS oddities
2017-07-19 21:27:16 -04:00
Timm Bäder
36ab70ddf5
widget: Add baseline and out_clip parameters to size-allocate
...
Since setting a clip is mandatory for almost all widgets, we can as well
change the size-allocate signature to include a out_clip parameter, just
like GtkCssGadget did. And since we now always propagate baselines, we
might as well pass that one on to size-allocate.
This way we can also make sure to transform the clip returned from
size-allocate to parent-coordinates, i.e. the same coordinate space
priv->allocation is in.
2017-07-19 21:27:16 -04:00
Timm Bäder
95bd58ac00
widget: Don't propagate size-allocate if only the position changed
...
We can do this now so we should
2017-07-19 21:27:15 -04:00
Timm Bäder
2e6b1158ee
widget: Fix priv dereference in size_allocate_with_baseline
...
Accessing ->priv is only safe *after* the GTK_IS_WIDGET precondition, so
use the get_instance_private function instead.
2017-07-19 21:27:15 -04:00
Timm Bäder
6d9a0d432a
widget: Fix a widget/container mixup
2017-07-19 21:27:15 -04:00
Timm Bäder
3aeaeef070
window: Fix resizing with solid-csd
...
We can't use a 20px resize handle in that case so fall back to the
padding area of the window. Still ugly but it works.
2017-07-19 21:27:15 -04:00
Timm Bäder
edf0aeb92e
gtkapplication: g_dbus_proxy_new_sync can return NULL
...
Specifically, in the case where @error is set.
2017-07-19 21:27:15 -04:00
Timm Bäder
5fb27e2bd7
window: Fix annotations in get_size and get_position
2017-07-19 21:27:15 -04:00
Timm Bäder
0ebd8840a8
widget: Remove gtk_cairo_transform_to_window
...
Useless in a world without windows and cairo.
2017-07-19 21:27:15 -04:00
Timm Bäder
f637006b3e
popover: Add a contents node
...
Remove the special case in gtkwidget.c where we didn't draw any css
background/border for popovers. Instead, rely on themes to not style the
popover node and add a contents gizmo that gets the actual css styling.
We then requeste enough space for the popover to draw both the contents
and the arrow on the side.
2017-07-19 21:27:15 -04:00
Timm Bäder
097ab2baed
widget: Draw css box after pushing a opacity node
2017-07-19 21:27:15 -04:00
Timm Bäder
e2e91bf9bc
Fix a few documentation issues
2017-07-19 21:27:15 -04:00
Timm Bäder
c26731968b
testpopover: Remove expand GtkBox child properties
2017-07-19 21:27:15 -04:00
Timm Bäder
eb34c68ff4
widget: Move get_resize_needed to gtkwidget.c
...
It's only used in there so we don't need it in the private header.
2017-07-19 21:27:15 -04:00
Timm Bäder
831bcc5e0d
notebook: Allocate unmapped tabs
2017-07-19 21:27:15 -04:00
Timm Bäder
c4f6cea111
fix a few documentation problems
2017-07-19 21:27:15 -04:00
Timm Bäder
23f90e3d67
centerbox: Add some missing return value annotations
2017-07-19 21:27:15 -04:00
Timm Bäder
1e4d11b995
box: Ignore baselines when vertical
...
For now.
2017-07-19 21:27:15 -04:00
Timm Bäder
68c35bbe15
bbox: Don't report a horizontal baseline
2017-07-19 21:27:15 -04:00
Timm Bäder
f0d6cb5f40
widget: Propagate correct baseline
2017-07-19 21:27:15 -04:00
Timm Bäder
e19e3b72a3
widget: Always pass on baselines
2017-07-19 21:27:15 -04:00
Timm Bäder
fb2bb87bb1
widget: Simplify snapshot_child
2017-07-19 21:27:15 -04:00
Timm Bäder
55389cd97c
entry: Fix baseline alignment
...
Since we only look at priv->text_baseline later on, it would be useful
to actually set it to a useful value.
2017-07-19 21:27:15 -04:00
Timm Bäder
0726148ca5
widget: Draw debug nodes for widget margins too
2017-07-19 21:27:15 -04:00
Timm Bäder
fa5203e700
widget: Fix copy&paste error when creating debug nodes
2017-07-19 21:27:15 -04:00
Timm Bäder
6a7d903612
sizerequest: Add more assertions for baselines
...
min baselines must be <= natural baselines and both must lie inside the
content size of the widget.
2017-07-19 21:27:15 -04:00
Timm Bäder
cef4df1e7e
widget: Unset PRELIGHT and ACTIVE state flags in unmap
2017-07-19 21:27:15 -04:00
Timm Bäder
1dd716e66f
button: Reset in_button state in unmap
...
Since at that point the point is clearly not in the button anymore.
2017-07-19 21:27:15 -04:00
Timm Bäder
e276f1e844
label: Fix get_layout_index
...
Properly translate the given coordinates to layout coordinates. Fixes
clicking links and selecting text.
2017-07-19 21:27:15 -04:00
Timm Bäder
dd9c3fc8ab
textview: Invalidate entire widget
2017-07-19 21:27:15 -04:00
Timm Bäder
dc473b4180
textview: Remove size_changed check in size-allocate
...
It's broken and we only hit size-allocate when the size changes anyway.
2017-07-19 21:27:15 -04:00
Timm Bäder
f7bc5fcae3
linkbutton: Remove useless unrealize implementation
2017-07-19 21:27:15 -04:00
Timm Bäder
c8ca43ad51
stack: Fix under transitions
...
make sure we initialize both width and height with proper values.
2017-07-19 21:27:15 -04:00
Timm Bäder
2c958df789
eventbox: Remove window
2017-07-19 21:27:15 -04:00
Timm Bäder
82eafb8a2c
centerbox: Avoid accessing unset widgets
2017-07-19 21:27:15 -04:00
Timm Bäder
d832001baa
textview: Use correct size for cairo node bounds
2017-07-19 21:27:15 -04:00
Timm Bäder
451a991488
window: Move updates debugging to GtkWidget
...
Which has the necessary information.
2017-07-19 21:27:15 -04:00
Timm Bäder
995903e971
scale: Fix mark positions
...
Someone else will have to fix the css.
2017-07-19 21:27:15 -04:00
Timm Bäder
4eba9442df
range: Fix get_range_rect
...
get_own_allocation's position is relative to the given widget's origin,
not the parent.
2017-07-19 21:27:15 -04:00
Timm Bäder
468e75e43d
range: Fix mark positions
...
The values returned by gtk_range_compute_slider_position are relative
to the trough_widget (the slider's parent), not the slider widget
itself.
2017-07-19 21:27:15 -04:00
Timm Bäder
ed5b7fedb8
scale: Remove custom indicator drawing
...
it's a css node so we can simply use the background instead of the
foreground color in the theme.
2017-07-19 21:27:15 -04:00
Timm Bäder
5bb355f06f
scale: Fix mark indicator allocations
2017-07-19 21:27:15 -04:00
Timm Bäder
a8561bcc99
headerbar: don't measure own size
...
This is fallout from an earlier commit, we should be checking the
child's size of course, not repeatedly the headerbar's.
2017-07-19 21:27:15 -04:00
Timm Bäder
e25e1c54a4
levelbar: Don't underallocate block widgets
2017-07-19 21:27:15 -04:00
Timm Bäder
993998085f
range: Avoid division by zero
2017-07-19 21:27:15 -04:00
Timm Bäder
a0444b9c42
gtk4-demo: Add widgetbowl demo
...
Same as fishbowl, but with widgets
2017-07-19 21:27:15 -04:00
Timm Bäder
4b0da8682d
popover: set the shape on the correct window
...
the parent window is now the toplevel's window.
2017-07-19 21:27:15 -04:00
Timm Bäder
d25af7ce10
switch: Put the slider node last
...
Makes sense since we draw it over both labels. Also make this obvious by
using the default snapshot implementation.
2017-07-19 21:27:15 -04:00
Timm Bäder
4fb2fc7d89
drawingarea: Remove useless line from code example
...
backgrounds are drawn automatically now.
2017-07-19 21:27:15 -04:00