| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
In many cases, the default widget vfuncs work just fine,
combined with setting focusable.
|
|
|
|
|
|
|
|
|
|
| |
Add back a property that determines whether an individual
widget will accept focus or not. :can-focus prevents the
focus from ever entering the entire widget hierarchy
below a widget, and :focusable just determines if grabbing
the focus to the widget itself will succeed.
See #2686
|
|
|
|
|
|
|
|
| |
After the :can-focus change in the previous commit, widgets
need to set suitable focus and grab_focus implementations
to implement the desired focus behavior.
This commit does that for all widgets.
|
|
|
|
|
| |
We need this in popovers. Maybe it could be done better
by defining one-off custom widgets.
|
|
|
|
| |
Private type, no private struct needed.
|
|
|
|
|
|
|
|
|
| |
We don't need to cover every case with a va_marshaller, but there are a
number of them that are useful because they will often only be connected
to by a single signal handler.
Generally speaking, if I opened into a file to add a va_marshaller, I just
set all of them.
|
|
|
|
|
| |
The name just made it hard for people to find the
right gesture to use.
|
|
|
|
|
| |
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
|
|
|
|
| |
This should not be subclassed.
|
|
|
|
|
| |
Let GtkGizmo override the contains() implementation.
Update all callers to pass NULL for the contains_func.
|
|
|
|
|
|
|
|
|
| |
- Rename GtkLegacyLayout to GtkCustomLayout
- Use for() to iterate over children in GtkBinLayout
- Whitespace fixes for code imported from GtkBox
- Store the GtkLayoutChild instances inside LayoutManager
- Simplify the GtkLayoutManager API by dropping unnecessary arguments
- Fix the ownership model of GtkLayoutManager
|
| |
|
|
|
|
|
| |
Half of these calls will completely break if anybody ever uses CSS
transforms with them, but hey...
|
| |
|
|
|
|
|
| |
This works better than glyphs, avoiding the
uncertainties of font availability and fallback..
|
|
|
|
|
|
| |
If none of the glyphs we want are available, fall
back to using empty strings here, rather than causing
critical warnings.
|
|
|
|
|
|
| |
If the text style changes, or the display settings do, we need to update
the state labels to ensure that the glyphs are available in the font
we're using.
|
|
|
|
|
|
|
|
|
| |
Even though the IEC power glyphs are part of Unicode 9.0 (released in
2016) not all fonts have them.
To avoid showing the hexbox of doom when the system font does not have
the glyphs we'd like to use, add a fallback pair, using the old glyphs
we suggested when the labels were translatable.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unicode 9.0 introduced glyps for the "on" and "off" power states, in the
form of:
- U+23FD POWER ON SYMBOL, or ⏽
- U+2B58 HEAVY CIRCLE, or ⭘
With `HEAVY CIRCLE` as "power off symbol" selected to avoid adding yet
another circle to the standard.
Since we moved GtkSwitch to always show glyphs instead of (translatable)
strings, asking the localisation teams to either come up with a suitable
short string to replace the English "ON" and "OFF", or to fall back to
Unicode glyphs, we should ensure we're using the appropriate symbols to
begin with.
See also: gtk!503 for the corresponding gtk-3-24 change.
|
|
|
|
|
| |
This allows for smaller switches, and goes better with
modern themes that have round switches.
|
| |
|
|
|
|
|
| |
The values have been 0/0 for a long time now, so just drop the
GtkAllocation argument and replace it with width and height.
|
| |
|
| |
|
|
|
|
| |
Replace all usages of it with _compute_bounds
|
|
|
|
| |
As the clip is no longer needed, get rid of it.
|
|\
| |
| |
| |
| | |
Rename window to surface
See merge request GNOME/gtk!72
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an automated change doing these command:
git sed -f g gtk_widget_set_has_window gtk_widget_set_has_surface
git sed -f g gtk_widget_get_has_window gtk_widget_get_has_surface
git sed -f g gtk_widget_set_parent_window gtk_widget_set_parent_surface
git sed -f g gtk_widget_get_parent_window gtk_widget_get_parent_surface
git sed -f g gtk_widget_set_window gtk_widget_set_surface
git sed -f g gtk_widget_get_window gtk_widget_get_surface
git sed -f g gtk_widget_register_window gtk_widget_register_surface
git sed -f g gtk_widget_unregister_window gtk_widget_unregister_surface
git checkout NEWS*
|
|/
|
|
|
| |
Since we get the correct clip anyway from the gtk_widget_size_allocate
call above.
|
|
|
|
|
| |
Also add missing includes and sort them for all the widgets that relied
on that before.
|
|
|
|
|
|
|
| |
Remove all the old 2.x and 3.x version annotations.
GTK+ 4 is a new start, and from the perspective of a
GTK+ 4 developer all these APIs have been around since
the beginning.
|
|
|
|
| |
Follow the naming scheme for private headers.
|
| |
|
| |
|
|
|
|
| |
This avoids a bunch of strdups at startup.
|
| |
|
|
|
|
| |
We get a double coordinate.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Makes sense since we draw it over both labels. Also make this obvious by
using the default snapshot implementation.
|
|
|
|
|
|
| |
It's pretty simple and less code to just check whether the gesture
coords are inside the widget at the one place where we actually used the
flag.
|
|
|
|
|
| |
We only move the handle inside the content allocation, so we need to use
the content width when calculating the new handle_pos.
|
|
|
|
| |
This works automatically now
|
|
|
|
| |
The button was jut a stop-gap solution before GtkGizmo existed.
|
| |
|
| |
|
|
|
|
|
|
| |
It's not necessary anymore to receive input events. The pan gesture has
been set on the capture phase as the child widgets may capture during
bubbling.
|
|
|
|
|
|
|
|
|
|
| |
We now rely on toplevels receiving and forwarding all the events
the windowing should be able to handle. Event masks are no longer a
way to determine whether an event is deliverable ot a widget.
Events will always be delivered in the three captured/target/bubbled
phases, widgets can now just attach GtkEventControllers and let those
handle the events.
|
|
|
|
| |
This should have been done when the hierarchy was changed.
|