Matthias Clasen
cb3d61bb0e
inspector: Avoid a critical
...
If a layout manager does not have layout children,
quietly hide the layout page.
2019-04-05 19:44:16 +00:00
Matthias Clasen
ef9dc43474
Show layout children in the inspector
2019-04-05 19:15:55 +00:00
Matthias Clasen
74352e0bee
buildable: Remove a mention of <packing>
...
This is no longer a supported element in ui files.
2019-04-05 14:41:46 -04:00
Matthias Clasen
5c8a870510
print dialog: Rewrite example
...
The ui file example was still using GTK3 syntax
for GtkNotebooks.
2019-04-05 14:41:46 -04:00
Matthias Clasen
7a29462ca6
Fix the inspector
...
One of the inspector ui files was still using
child properties.
2019-04-05 14:41:46 -04:00
Matthias Clasen
ea7a43beb4
container: Reduce boilerplate
...
We no longer need to hand-roll the type registration,
since we no longer install our own param spec pool.
2019-04-05 12:01:43 +00:00
Matthias Clasen
70bf6d4b97
Drop child property related apis
...
We no longer have any child properties in
our containers, so drop the infrastructure for it.
2019-04-05 12:01:43 +00:00
Matthias Clasen
7cd9ea497b
builder-tool: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
a26f400576
paned: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
a97845c380
notebook: Stop using child properties
2019-04-05 12:01:43 +00:00
Matthias Clasen
08d8f2bb80
print dialog: Stop using gtk_container_child_get
...
The grid does not have child properties anymore.
2019-04-05 12:01:43 +00:00
Matthias Clasen
b14f0b8987
grid: Annotate out args as optional
...
They are optional, so annotate them as such.
2019-04-05 12:01:43 +00:00
Matthias Clasen
edbc99104f
searchbar: Fix a compiler warning
2019-04-05 05:10:33 +00:00
Matthias Clasen
285293ac17
file chooser: Fix some compiler warnings
2019-04-05 05:10:26 +00:00
Matthias Clasen
6f7d9f9613
A round of + removal
...
change GTK+ to GTK throughout gtkmain.c.
2019-04-05 05:07:32 +00:00
Matthias Clasen
fe822a0a24
builder-tool: Don't empty out <mark> elements
...
We were inadvertedly losing the content of <mark>
elements. Fix this, by marking (!) them as pcdata
elements.
2019-04-05 03:05:08 +00:00
Matthias Clasen
69d4081ff8
Merge branch 'wip/ebassi/grid-layout' into 'master'
...
Implement GtkGridLayout
See merge request GNOME/gtk!714
2019-04-05 02:42:55 +00:00
Emmanuele Bassi
cfcca335b1
Update GtkGrid definitions in GtkBuilder files
...
Convert packing properties to layout ones.
2019-04-05 00:08:18 +01:00
Emmanuele Bassi
3ea39210cd
builder-tool: Convert GtkGrid child properties
2019-04-05 00:04:14 +01:00
Emmanuele Bassi
faafd23225
Add convenience function for querying a child of GtkGrid
...
Getting the layout manager instance out of GtkGrid, and then querying
all layout properties can be tedious, especially for code that was
usually calling gtk_container_child_get().
To replace that, we can add a simple query function that returns the two
attach points and the spans.
2019-04-04 22:41:19 +01:00
Emmanuele Bassi
62acb80671
Port GtkGrid to use GtkGridLayout
2019-04-04 22:41:03 +01:00
Emmanuele Bassi
c4c897f921
Document GtkGridLayout
...
Add missing stanzas for properties and accessor functions.
2019-04-04 16:31:56 +01:00
Zander Brown
e493b9b702
inspector: Type info for misc pane
...
Replaces the class hierarchy page with a button/popover on the misc page
2019-04-03 23:50:24 +01:00
Emmanuele Bassi
6e0f1800c8
Add GtkGridLayout
...
Layout manager for grid-like widgets.
2019-04-03 19:03:58 +01:00
Matthias Clasen
2cc30f75a0
Merge branch 'wip/carlosg/drop-search-handle-event' into 'master'
...
Search improvements
See merge request GNOME/gtk!710
2019-04-03 13:28:58 +00:00
Carlos Garnacho
c9839b2069
paned: Set cursor on gizmo widget
...
We may avoid setting it on the paned widget depending on the pointer
position altogether, since the handle is now a widget. Also is more
likely to be correct as the implicitly grabbed widget will probably
be that one.
Fixes the paned losing the resize cursor after button press.
2019-04-03 13:26:40 +02:00
Carlos Garnacho
b842bf7bf5
gtk: Drop gtk_search_[entry|bar]_handle_event()
...
This is now unused, and unrecommended.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
1825aa377b
shortcutswindow: Drop usage of gtk_search_bar_handle_event()
...
Make it capture key events from the toplevel.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
e59c6abd91
filechooserwidget: Drop usage of gtk_search_entry_handle_event()
...
Just use gtk_event_controller_key_forward() to let know the search
entry of the Esc key being pressed.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
dc88a1ebc4
inspector: Fix prop-list search
...
Instead of handle_event(), use set_key_capture_widget().
Also, use the fact that we now propagate key events throughout the
stage, and connect to the GtkInspectorPropList instead of the toplevel.
We only want the search bar to be active while that widget is mapped
and able to receive events.
And also, handle the "search bar" visibility on ::search-started.
2019-04-03 13:23:34 +02:00
Carlos Garnacho
9cb9843367
searchentry: Add ::search-started signal
...
Users of search entries usually handled visibility (when initially hidden)
by checking the return value of gtk_search_entry_handle_event(). This does
not pan out with gtk_search_entry_set_key_capture_widget() since the return
value is not directly seen by the caller.
Add a ::search-started signal to cater for it, which gets emitted when the
search entry went from empty to non-empty.
2019-04-03 13:08:53 +02:00
Carlos Garnacho
95754aa71f
treeview: Fix variable typo
...
We actually want search_entry there, not search_window which is the
O-R window in the non-custom case.
2019-04-03 13:07:06 +02:00
Matthias Clasen
cf3aa570c2
inspector: Rename a few pages
...
"Global" and "Visual" are not very good names for
the content of these pages. Rename them to
"Information and "Settings".
2019-04-02 23:36:45 +00:00
Matthias Clasen
7c2ce72b5f
inspector: Manage visibility of stack pages
...
The hand-rolled stack combo we were using before
was looking at the visibility of the page itself
to show or hide items. Other stack switchers
expect us to use the GtkStackPage::visible
property for this.
2019-04-02 23:36:45 +00:00
Matthias Clasen
5371055495
inspector: Redo the object page switcher
...
The combobox for page switching was not very good.
Instead, do a sidebar that can be hidden.
2019-04-02 23:29:22 +00:00
Matthias Clasen
4d6acd5d76
inspector: Drop the child property page
...
Child properties are on the way out.
2019-04-02 23:08:17 +00:00
Matthias Clasen
285e67c044
inspector: Drop the class hierarchy page
...
This was just not useful enough to keep around.
2019-04-02 21:50:09 +00:00
Matthias Clasen
d7987e73c9
inspector: Drop the css selector page
...
This was just not useful enough to keep around.
2019-04-02 21:47:02 +00:00
Matthias Clasen
e13a8102b4
inspector: Drop the signals page
...
This was just not useful enough to keep around.
2019-04-02 21:39:47 +00:00
Matthias Clasen
12c4766dd0
inspector: Properly clean up
...
I got a crash in inspector code when I hit
cancel in the confirmation dialog for it.
2019-04-02 21:21:46 +00:00
Matthias Clasen
5c31c721af
Rename all settings schemas to avoid conflict
...
Rename all our settings schemas to the org.gtk.gtk4
prefix to avoid conflicting with the gtk3 schemas.
2019-04-02 19:27:34 +00:00
Matthias Clasen
7a08177a3d
Merge branch 'async-api' into 'master'
...
Small async api fixes
See merge request GNOME/gtk!701
2019-04-02 15:45:30 +00:00
Matthias Clasen
ad4142df19
Merge branch 'adwaita-selected-row-switch-fix-master' into 'master'
...
Adwaita: Fix switch slider border on selected row
Closes #1802
See merge request GNOME/gtk!704
2019-04-02 15:33:24 +00:00
Alex Monday
fabef39f7f
Adwaita: Fix switch slider border on selected row
...
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1802
2019-04-02 20:18:26 +05:00
Matthias Clasen
64fd5158bf
gdk: Change some async dnd api
...
The pattern we generally follow is to put the
async result right after the source object, in
finish functions. Do this for gdk_drop_read_finish.
2019-04-02 15:11:06 +00:00
Emmanuele Bassi
6e7748b266
Add API to access child transformations to GtkFixed
...
This is mostly convenience API around GtkFixedLayoutChild, but it should
push people towards using transformations with GtkFixed instead of just
using fixed positioning.
2019-04-02 15:48:46 +01:00
Emmanuele Bassi
447dfc029f
Remove GtkLayout
...
The need of a specialised fixed layout container that can be placed into
a GtkScrolledWindow ceased to exist once GtkScrolledWindow gained the
ability to automatically interpose a GtkViewport when adding a child
that does not implement GtkScrollable.
All the other justifications that led to the existence of GtkLayout as a
separate widget from GtkFixed have been largely made irrelevant in the
20 years since its inception.
2019-04-02 15:29:20 +01:00
Emmanuele Bassi
aed70a82c7
Add overflow:hidden to GtkFixed
...
This allows GtkFixed to clip children that are outside its allocation.
2019-04-02 15:14:53 +01:00
Matthias Clasen
e2fcca4e60
Rename debug settings to org.gtk.Settings.Debug4
...
This gives us the freedom to make changes without
interfering with GTK3.
2019-04-02 00:27:32 +00:00
Emmanuele Bassi
aacab81a3e
Fix location on renamed files
...
Commit 4152e14e32
renamed a bunch of
files, but did not fix the meson.build file that referenced them.
2019-04-01 13:52:27 +01:00
Matthias Clasen
4152e14e32
Namespace some auxiliary files
...
We install a few helper files for the ui file
format. Namespace these, to avoid conflict with
the same files in GTK3.
2019-04-01 08:30:39 -04:00
Matthias Clasen
57b3cd56d7
Drop gtkbuilder.rnc
...
This is just a leftover file in git.
2019-04-01 08:29:24 -04:00
Matthias Clasen
5b5a68c5db
Fix filechooser search
...
This makes the search entry show up again
when I type. There is still some misbehavior
where the entry loses focus again, and Escape
does not work to exit search.
2019-03-31 23:06:42 -04:00
Matthias Clasen
d2e0553384
Fix menuitem hover
...
We need to pay attention to details
of enter and leave events.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1795
2019-03-31 21:53:55 -04:00
Matthias Clasen
c2c4133eb0
Fix up the border/background-color removal
...
I overlooked one level of indirection here. Oops.
2019-03-31 20:43:19 -04:00
Matthias Clasen
058986714c
tooltips: Don't use a cursor_size of 0
...
This leads to flickering tooltips.
2019-03-31 16:17:08 -04:00
Matthias Clasen
0230cc55bc
Drop deprecated style context api
2019-03-31 15:35:20 -04:00
Matthias Clasen
6f5675ef3c
Stop using deprecated style context api
...
Use the non-deprecated one it wraps, instead.
Yes, this is cheating...
2019-03-31 15:35:20 -04:00
Matthias Clasen
396513183b
Merge branch 'fix-event-forwarding' into 'master'
...
Trigger bindings when forwarding key events
Closes #1793
See merge request GNOME/gtk!690
2019-03-31 18:27:24 +00:00
Benjamin Otte
720fd2cd40
textview: Fix comparison thinko
...
Apparently, we have no test that checks for actually drawing text, so
the thinko that caused all text to disappear in
4b07d28153
went unnoticed.
2019-03-31 20:22:05 +02:00
Matthias Clasen
da7cd6ae25
Trigger bindings when forwarding key events
...
This broke backspace handling in entries when an entry
completion is present.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1793
2019-03-31 14:04:35 -04:00
Matthias Clasen
8bae5348f9
text: Handle 'inverted' selections
...
We must handle selection_bound > cursor in
various places. This was lost in the big
entry refactoring.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1792
2019-03-31 12:36:09 -04:00
Mohammed Sadiq
56a88f107c
mediastream: fix documentation
2019-03-31 08:37:45 +05:30
Daniel Boles
96bf90abe4
Widget: Don't refer to the old get_preferred_*()
...
measure() replaced get_preferred_height() and get_preferred_width().
2019-03-30 19:47:50 +00:00
Matthias Clasen
f273eca7e3
revealer: Add a missing break
...
This was showing up as the slide-down transition
being broken.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1790
2019-03-29 10:57:51 -04:00
Benjamin Otte
9d0a42dc14
stack: Add a cube spin transition
...
Add a transition to GtkStack that pretends pages
are the sides or a cube, and switch them by
rotating the cube.
Use this transition in widget-factory.
2019-03-29 10:03:18 -04:00
Benjamin Otte
7918eaf677
picture: Don't cause warnings on load failures
...
When a file set via gtk_picture_set_file() can't be loaded, just
silently don't load it.
Reftest picture-load-invalid-file added for that case.
2019-03-29 09:56:52 +01:00
Benjamin Otte
b21882bcea
cssimagelinear: Make gradient offsets stay in [0, 1]
...
Fixes linear-gradient reftest
2019-03-29 09:56:52 +01:00
Benjamin Otte
d10a73f509
textview: Paint border windows in the right spot
...
Fixes textview-border-windows reftest
2019-03-29 09:56:52 +01:00
Benjamin Otte
38fbb6856c
headerbar: Duct-tape over the measure mess
...
Fixes various reftests.
The headerbar needs soeone to redo sizing.
2019-03-29 09:56:52 +01:00
Benjamin Otte
4b07d28153
textlayout: Allow querying empty areas
...
This only happens when the textview has no content, but it does happen
now that such a textview gets allocated 0x0 and not 1x1.
2019-03-29 09:56:52 +01:00
Benjamin Otte
5dd5ff5236
widgetpaintable: Don't emit signals on dispose
2019-03-29 09:56:52 +01:00
Matthias Clasen
6f470affef
Merge branch 'adwaita-radii-fixes-master' into 'master'
...
Adwaita radii fixes master
See merge request GNOME/gtk!628
2019-03-29 00:51:23 +00:00
Matthias Clasen
c30fc92b3e
builder-tool: Don't strip the xml declaration
...
This is useful for interoperability with other tools.
2019-03-28 19:28:05 -04:00
Matthias Clasen
7222bda146
file chooser entry: Fix a crash
...
The ::focus-out signal signature has changed. Adapt.
2019-03-28 18:55:36 -04:00
Matthias Clasen
eaae9650d9
popover menu: Fix a parameter name mismatch
2019-03-28 18:36:15 -04:00
Matthias Clasen
f20f02c416
overlay: Remove no-longer-existing api from header
2019-03-28 18:36:15 -04:00
Matthias Clasen
700183e5b6
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-28 16:37:21 -04:00
Matthias Clasen
8d993160c2
builder-tool: Small refactoring
...
Introduce a PropKind enum, since the collection of
booleans is getting out of hands.
2019-03-28 16:36:59 -04:00
Matthias Clasen
fc3cae34ec
builder-tool: Convert overlay child properties
2019-03-28 16:36:59 -04:00
Matthias Clasen
866640c0c2
overlay: Use a layout manager
...
This lets us get rid of the child properties,
by converting them to layout properties.
2019-03-28 16:36:59 -04:00
Emmanuele Bassi
208cae2f05
Do not leak unapplied layout properties
...
If the layout manager does not have a GtkLayoutChild, or if we cannot
apply layout properties, we should free them instead of leaking them.
2019-03-28 17:22:02 +00:00
Emmanuele Bassi
ecba428d52
Add missing handler for <layout> elements in UI files
...
The layout properties sub-parser needs to handle the parent tag.
2019-03-28 17:21:56 +00:00
Emmanuele Bassi
3f0f7c73e0
Connect LayoutManager to LayoutChild
...
If we want to inspect the type of layout properties exposed by a
GtkLayoutManager, we need a way to connect the layout manager type to
the GtkLayoutChild type it creates. In order to do so, we can set the
GtkLayoutChild type on a field of the GtkLayoutManagerClass structure.
Storing the GtkLayoutChild type on the class structure of the layout
manager also allows us to implement a default create_layout_child()
virtual function.
2019-03-28 16:58:00 +00:00
Emmanuele Bassi
65c394dbaa
Document how to define layout manager properties
2019-03-28 11:47:46 +00:00
Matthias Clasen
4d9f4ed14b
Merge branch 'gbsneto/install-header' into 'master'
...
build: Install gtkboxlayout.h
See merge request GNOME/gtk!676
2019-03-28 02:48:03 +00:00
Georges Basile Stavracas Neto
56d420c06e
boxlayout: Notify orientation changes
...
This was missing from the initial implementation, and
breaks the tests.
2019-03-27 23:34:03 -03:00
Matthias Clasen
dec2cf49dd
Merge branch 'child-properties' into 'master'
...
Remove some more child properties
See merge request GNOME/gtk!675
2019-03-28 02:04:42 +00:00
Georges Basile Stavracas Neto
3d524cc67d
build: Install gtkboxlayout.h
...
This is included by gtk.h, and thus required to build.
2019-03-27 22:55:07 -03:00
Matthias Clasen
396deb44fa
Convert ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 21:48:12 -04:00
Matthias Clasen
3631878cee
builder-tool: Rewrite paned child properties
2019-03-27 21:48:12 -04:00
Matthias Clasen
26de69eaae
paned: Replace the child properties
...
Replace the resize and shrink child properties
by resize-child1/2 and shrink-child1/2 properties.
2019-03-27 21:48:12 -04:00
Matthias Clasen
f89c93ea8e
Merge branch 'window-api-cleanup' into 'master'
...
GtkWindow api cleanup
See merge request GNOME/gtk!674
2019-03-28 00:14:51 +00:00
Matthias Clasen
7e88fcf24e
builder-tool: Rewrite toolbar child properties
2019-03-27 20:03:34 -04:00
Matthias Clasen
a443145a4d
toolbar: Remove the homogeneous and expand child properties
...
Replace these with GtkToolItem properties homogeneous
and expand-item.
2019-03-27 20:02:48 -04:00
Matthias Clasen
8c807303da
builder-tool: Rewrite GtkPopoverMenu::submenu
2019-03-27 18:38:29 -04:00
Matthias Clasen
5c2697633c
popover menu: Drop the submenu child property
...
We are using the GtkWidget::name property instead.
2019-03-27 18:37:57 -04:00
Matthias Clasen
4a1019bed0
popover menu: Add an api for adding submenus
...
This is a step towards removing the submenu
child property.
2019-03-27 17:53:48 -04:00
Matthias Clasen
2f358469af
Remove GtkWindow::role
...
...and the setter/getter for it.
This is a very old X session management thing, and you
will be hard-pressed to find a session manager that can
make use of it, and even harder-pressed to find apps
using it to their advantage.
2019-03-27 17:29:17 -04:00
Matthias Clasen
be944e0a31
file chooser: Stop setting a role
...
It does nothing.
2019-03-27 17:29:17 -04:00
Matthias Clasen
e5722367b3
Merge branch 'fixed-layout' into 'master'
...
Add GtkFixedLayout
See merge request GNOME/gtk!668
2019-03-27 18:51:04 +00:00
Matthias Clasen
7ac250dea7
Convert all ui files
...
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 13:36:24 -04:00
Matthias Clasen
c507160bf2
builder-tool: Rewrite pack-type
...
Replace GtkActionBar::pack-type and GtHeaderBar::pack-type
with child types when going from 3 to 4.
2019-03-27 13:36:24 -04:00
Matthias Clasen
84480b3da8
action bar: Drop pack-type
...
Drop the pack-type child property. Allow ui
files to direct children by adding a child
type for it.
2019-03-27 13:36:24 -04:00
Matthias Clasen
6c30b474f5
header bar: Drop pack-type
...
Drop the pack-type child property. Allow ui files
to direct children by adding a child type.
2019-03-27 13:36:24 -04:00
Matthias Clasen
2fd2c61d37
dialog: Stop using GtkHeaderBar::pack-type
...
We want to get rid of child properties.
2019-03-27 13:36:24 -04:00
Matthias Clasen
7843382784
text: Allow growing entries
...
Add a propagate-text-width property, which, when set,
makes the entry request a natural width that is just
enough to fit the content, within the limits given
by width-chars and max-width-chars.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1721
2019-03-27 01:42:00 -04:00
Matthias Clasen
544fe83864
search entry: Fix sizing
...
Use the same sizing approach we use for GtkEntry:
ignore icons when measuring. This ensures that
search entries don't change size as icons come
and go.
2019-03-27 01:42:00 -04:00
Matthias Clasen
8a9290d0ba
password entry: Fix sizing
...
Use the same sizing approach we use for GtkEntry:
ignore icons when measuring. This ensures that
password entries don't change size as icons come
and go.
2019-03-27 01:42:00 -04:00
Matthias Clasen
8d4343a550
Merge branch 'get_caret_offset_negative_one' into 'master'
...
Return -1 for AtkText::get_caret_offset on failure
See merge request GNOME/gtk!666
2019-03-26 23:14:48 +00:00
Matthias Clasen
c0aaa43122
Rename gdk_device_get_surface_at_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
562cc8b9ab
gtk: Stop using gtk_device_get_surface_at_position
...
We should always use the double variant of the api.
2019-03-26 18:12:55 -04:00
Matthias Clasen
03eb455c93
Rename gdk_device_get_position_double
...
We can drop the double suffix now.
2019-03-26 18:12:55 -04:00
Matthias Clasen
7e4707642a
gtk: Stop using gdk_device_get_position
...
We should always use the double variant of this api.
2019-03-26 18:12:55 -04:00
Matthias Clasen
21580309d3
Rename gdk_surface_get_device_position_double
...
Drop the _double suffix, now that the int version is gone.
2019-03-26 18:12:54 -04:00
Matthias Clasen
2d10a7b9c4
gtk: Stop using gdk_surface_get_device_position
...
Use the double version directly.
2019-03-26 18:08:32 -04:00
Matthias Clasen
eb4e7b9172
Remove GtkWindow::gravity
...
This was used to interpret the position passed
to gtk_window_move. Since that is gone, gravity
is no longer useful.
2019-03-26 17:55:29 -04:00
Matthias Clasen
0481f123ea
Drop gtk_window_move and gtk_window_get_position
...
These functions operate with global coordinates,
which are not available on Wayland.
2019-03-26 17:55:29 -04:00
Matthias Clasen
6f072c80db
treeview: Stop using gtk_window_move
...
It is going away. The search popup needs to be
redone using popovers.
2019-03-26 17:55:29 -04:00
Matthias Clasen
2ed533c3e1
file chooser: Stop using gtk_window_get_position
...
It is going away.
2019-03-26 17:55:29 -04:00
Matthias Clasen
f7d3815fa8
a11y: Don't support changing widget size and position
...
This does not make sense.
2019-03-26 17:55:29 -04:00
Matthias Clasen
d45996c728
Avoid root coordinates in begin_drag/move apis
...
Change the all the begin_drag and begin_move apis in
GdkSurface and GtkWindow to expect surface coordinates.
Update the x11 implementation to translate to root
coordinates where it matters. Wayland is ignoring the
coordinates anyway.
2019-03-26 15:57:11 -04:00
Emmanuele Bassi
060e30de3f
Turn GtkFixedLayoutChild:position into a transformation
...
This way we can transform children instead of just allocating them at an
offset.
2019-03-26 19:17:26 +00:00
Emmanuele Bassi
dd5c981b63
Use GtkFixedLayout in GtkFixed
...
Drop the child properties and the sizing code.
2019-03-26 18:15:13 +00:00
Emmanuele Bassi
9a4c19349e
Add GtkFixedLayout
...
A layout manager for fixed positioning.
2019-03-26 17:43:53 +00:00
Emmanuele Bassi
3389ddf6fc
Do not connect to a non-existing signal
...
The GtkWidget::parent-set signal was removed in ff6cd8f7
.
Instead of removing GtkLayoutChild instances associated to a widget
using notifications when the widget's parent changes, we can have
gtk_widget_unparent() call a method on GtkLayoutManager to remove any
eventual GtkLayoutChild instances associated to the widget.
2019-03-26 17:37:49 +00:00
Emmanuele Bassi
341660e056
Drop warning from GtkLayoutManager::get_request_mode()
...
We can return a sensible default value, so we don't really need to warn
about a missing implementation.
2019-03-26 17:37:49 +00:00
Martin Robinson
c8d250deb1
Return -1 for AtkText::get_caret_offset on failure
...
ATK now expects this virtual method to return -1 on failure. This allows
ATs to distinguish between a caret at position 0 and a failure.
2019-03-26 15:38:20 +01:00
Emmanuele Bassi
65965bed16
Changes after review
...
- 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
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
630442f31c
Parse layout properties
...
If a widget has a LayoutManager instance, then we want to parse layout
properties in UI description files; the grammar is similar to packing
properties in GtkContainer:
<child>
<object ...>
<property name="...">...</property>
<layout>
<property name="pname">value</property>
</layout>
</object>
</child>
The properties are applied after a child has been added to its parent,
to the parent's layout manager property should be set.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
d6dfa41f10
Add GtkBinLayout
...
Like GtkBin, but lets you lay out multiple children instead of just one.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
8cf06befc0
Port GtkSwitch to GtkLegacyLayout
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
128a34fe37
Add GtkLegacyLayout
...
GtkLegacyLayout is a layout manager for the transitional period between
the introduction of layout managers and the removal of GtkWidget virtual
functions for the size negotiation.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
1fed357752
Port GtkBox to GtkBoxLayout
...
We can delegate all the layout management to a GtkBoxLayout, now that we
have one.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
ef9863ab63
Add GtkBoxLayout
...
The same layout policy of GtkBox, without all the GtkContainer calories.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
5cbf6f5fbd
Add GtkLayoutChild
...
Layout managers needs a way to store properties that control the layout
policy of a widget; typically, we used to store these in GtkContainer's
child properties, but since GtkLayoutManager is decoupled from the
actual container widget, we need a separate storage. Additionally, child
properties have their own downsides, like requiring a separate, global
GParamSpecPool storage, and additional lookup API.
GtkLayoutChild is a simple GObject class, which means you can introspect
and document it as you would any other type.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
15fda18791
Rename the internal GtkLayoutChild type
...
The type is completely private to GtkLayout, so there's really no need
to namespace it.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
f7856e887e
Add GtkWidget:layout-manager
...
We can use a constructor property for existing container widgets with
a layout policy, and move the layout policy implementation out of the
widget itself and into a LayoutManager subclass.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
1b8595b5f2
Hook GtkLayoutManager into GtkWidget
...
We delegate the size request mode, the measuring, and the allocation of
a widget through a GtkLayoutManager instance, if one has been attached
to the widget; otherwise, we fall back to the widget's own implementation.
2019-03-26 00:11:27 +00:00
Emmanuele Bassi
24754c3259
Add GtkLayoutManager
...
A base abstract class for layout manager delegate objects.
Layout managers are associated to a single widget, like event
controllers, and are responsible for measuring and allocating the
children of the widget they are bound to.
2019-03-26 00:11:27 +00:00
Timm Bäder
ab7507150b
Doc comment fixup
2019-03-25 15:57:31 +01:00
Timm Bäder
e657d9d553
popover: Always measure contents gizmo
...
Otherwise we're getting warnings about allocating a widget we haven't
measured first, which is fair. The contents gizmo itself will later take
care about whether or not the real popover child is NULL.
2019-03-25 15:57:31 +01:00
Timm Bäder
36e00ae95e
popover: Don't try to compute_bounds of a NULL child
2019-03-25 15:57:30 +01:00
Matthias Clasen
160f1e581a
Remove a dead file
...
We are not using this anymore.
2019-03-24 20:48:35 -04:00
Matthias Clasen
661e195ffc
color editor: Don't warn if editing is cancelled
...
Thats a valid way to end color picking.
2019-03-24 20:47:26 -04:00
Benjamin Otte
551ced9ae4
Fix compile warning
2019-03-23 03:08:20 +01:00
Benjamin Otte
799cb39e08
Remove win32 themeing support
...
It was unused through all of GTK 3, so it is not worth supporting.
The best Windows themes do not make use of it at all.
2019-03-22 22:30:01 +01:00
Matthias Clasen
1ada7bbc02
Fix hover state handling
...
We were not paying enough attention to detail when updating
hover and focus state while generating crossing events. The
invariant that we need to preserve here is that when a widget
has focus or hover, its parent does too.
2019-03-22 16:35:20 -04:00
Matthias Clasen
81658105f7
Stop walking parent surfaces for crossing event generation
...
We basically don't have child surfaces anymore (the last
use in popovers is on the way out). This really needs
to be done in terms of widgets, not surfaces. For now,
just stop walking parent surfaces.
2019-03-22 16:35:20 -04:00
Benjamin Otte
d9ef734458
cssparser: Simplify
...
Remove the uint parser (and use the int parser in the one user of it).
And avoid unnecessarily going through a macro.
2019-03-22 19:55:34 +01:00