| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
We want to allow setting a property to its
current value, while still having a precondition
for widget->parent being NULL otherwise.
|
|
|
|
|
|
|
|
| |
Escape XML tags in gi-docgen oriented comment e.g. from <child> to
`<child>`, so that they don't become HTML tag on the final webpage.
This fix includes everything from commit ff46ea64 and #5312.
Fixes #5312
|
|
|
|
|
|
|
| |
This provides and alternative to add children
in ui files.
Related: #5350
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
across a few domains that show up in documentation.
| domain | current | suggestion |
|--------|---------|------------|
| [GtkButton](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkbutton.c#L691) | "Buttons can has a flat appearance" | "Buttons can have a flat appearance" |
| [GtkCenterBox](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkcenterbox.c#L275) | "pas %NULL" | "pass %NULL" |
| [GtkEditable](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkeditable.c#L466) | "the text to append" | "the text to insert" |
| [GtkFlowbox](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkflowbox.c#L4921) | "the are equal" | "they are equal" |
| [GtkSelectionModel](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkselectionmodel.c#L550) | "Call this when a the selection changes" | "Call this when a selection changes" |
| [GtkWIndow](https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkwindow.c#L5321) | "(e.g. the user or the window manager" | "(e.g. the user or the window manager)" |
|
|
|
|
|
| |
Include gtkprivate.h for I_() and glib-i18n.h for
gettext macros.
|
|
|
|
|
|
|
|
| |
Those property features don't seem to be in use anywhere.
They are redundant since the docs cover the same information
and more. They also created unnecessary translation work.
Closes #4904
|
|
|
|
|
|
|
|
| |
Remove a boatload of "or %NULL" from nullable parameters
and return values. gi-docgen generates suitable text from
the annotation that we don't need to duplicate.
This adds a few missing nullable annotations too.
|
| |
|
|
|
|
|
| |
Convert link format, add an example image, add
property annotations. General cleanup.
|
|
|
|
|
| |
There are a few widgets that gained an accessible role, which means
adding an "Accessibility" section in their description.
|
|
|
|
|
| |
Widgets that just provide grouping and layout to other widgets should
not be relevant to the accessible tree.
|
|
|
|
|
| |
gtkcssnodeprivate.h was mainly used for repositioning CSS nodes in
gadgets, and gadgets are gone now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
|
| |
|
|
|
|
|
|
|
|
|
| |
It feels slightly wrong to have GtkOrientable operate on widgets, but at
least what happens when an orientable widget changes orientation should
be part of GtkWidget.
This will allow to add more state changes without accessing widget state
from the outside of gtkwidget.c.
|
|
|
|
|
| |
In many cases, the default widget vfuncs work just fine,
combined with setting focusable.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
And use it in GtkCenterBox, different widgets following.
|
|
|
|
|
| |
These serve no purpose anymore - widgets don't
have surfaces, unless they're a GtkNative.
|
| |
|
|
|
|
|
| |
The values have been 0/0 for a long time now, so just drop the
GtkAllocation argument and replace it with width and height.
|
|
|
|
|
| |
So widget order matches css order. We will do the same thing with GtkBox
eventually.
|
| |
|
| |
|
|
|
|
| |
As the clip is no longer needed, get rid of it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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*
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This avoids a bunch of strdups at startup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch makes that work using 1 of 2 options:
1. Add all missing enums to the switch statement
or
2. Cast the switch argument to a uint to avoid having to do that (mostly
for GdkEventType).
I even found a bug while doing that: clearing a GtkImage with a surface
did not notify thae surface property.
The reason for enabling this flag even though it is tedious at times is
that it is very useful when adding values to an enum, because it makes
GTK immediately warn about all the switch statements where this enum is
relevant.
And I expect changes to enums to be frequent during the GTK4 development
cycle.
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=785280
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Initialize these variables, so gcc doesn't complain.
|
|
|
|
|
| |
We need to take baseline-position into account during measure
as well.
|
|
|
|
|
|
|
|
|
| |
When there is no externally allocated baseline, we should
do the same thing that GtkBox does, and determine one from
the children that want baseline alignment.
This commit adds a GtkCenterBox::baseline-position property
with setters and getters.
|
|
|
|
|
| |
This missing pair of parens was causing expanding children
to overlap.
|
|
|
|
| |
This is just a leftover that has no effect whatsoever.
|
| |
|
|
|
|
| |
This is copied more or less directly from GtkBoxGadget.
|
|
|
|
| |
This is generally expected of containers where it makes sense.
|
|
|
|
| |
Implement request modes fully.
|
|
|
|
|
| |
We expand the center child first, but only as far
as we can keep it centered.
|
|
|
|
|
|
| |
Make it possible to fill the slots by using the
type attribute on child nodes. This is necessary
since GtkCenterBox does not derive from GtkContainer.
|
|
|
|
|
| |
We prefer to give the center widget its natural size,
and we center it as long as possible.
|
|
|
|
| |
Any slot may be unfilled, not just the center one.
|
|
|
|
|
| |
It provides functionality that GtkBox used to have,
and is generally useful.
|