Commit Graph

2783 Commits

Author SHA1 Message Date
Timm Bäder
bfabaa0bd6 meson: build some more tests 2017-05-03 15:10:52 +01:00
Timm Bäder
09ad2f9d31 meson: build tests/visuals 2017-05-03 15:10:52 +01:00
Timm Bäder
092f6d5c43 meson: Install libgtk and libgdk 2017-05-03 15:10:52 +01:00
Timm Bäder
8bf141b364 meson: Build all tests in tests/ 2017-05-03 15:10:52 +01:00
Timm Bäder
082cf3553d meson: Build gtk marshallers
And fix libgtk_dep/libgdk_dep to link_with the shared lib
2017-05-03 15:10:50 +01:00
Timm Bäder
6364231571 testdnd2: Don't pass a toplevel to gtk_drag_set_icon_widget 2017-04-25 20:30:37 +02:00
Timm Bäder
db4b1d28f5 label: Remove angle property 2017-04-25 20:30:37 +02:00
Timm Bäder
fb927d1993 box: Remove center child 2017-04-25 20:30:37 +02:00
Timm Bäder
066c1983ba actionbar: Add explicit center widget
The center widget in GtkBox was only introduced to use it in
GtkActionBar. However, the implementation there is much more complex
than it needs to be, so move the center widget into GtkActionBar instead
and later remove it from GtkBox.
2017-04-25 20:30:37 +02:00
Timm Bäder
c92b7d4224 box: Remove fill child property
GtkWidget:halign and GtkWidget:valign are sufficient
2017-04-25 20:30:37 +02:00
Timm Bäder
5729ea7744 box: Remove expand child property
GtkWidget already has hexpand/vexpand properties.
2017-04-25 20:30:37 +02:00
Timm Bäder
cc00fee386 testboxcss: Fix custom CSS
remove engine: parameter and add units to values
2017-04-24 15:16:08 +02:00
Matthias Clasen
d0f36a1793 testlist3: Handle dropping a row onto itself
Instead of spewing criticals, we should handle this
gracefully by doing nothing.
2017-04-22 21:39:48 -04:00
Matthias Clasen
2fed741b40 Fix the build 2017-04-22 11:30:33 -04:00
Matthias Clasen
8644e5f34d Refine the listbox dnd example
Add a drag handle, and demonstrate broken offsets.
2017-04-22 08:08:43 -04:00
Matthias Clasen
ff8cca77a2 Implement dnd for list box rows in an example
This shows very basic DND of list box rows.
2017-04-21 18:28:47 -04:00
Matthias Clasen
d779d0cb32 Avoid a compiler warning 2017-04-01 12:19:23 -04:00
Timm Bäder
9b70d9897d tests: Add widget focus test case
Shows an example of a widget that directly inherits from GtkWidget and
has multiple focusable children.
2017-03-31 09:50:40 +02:00
Matthias Clasen
e171f4930b Avoid redefining GNU_SOURCE
Gives a compiler warning with the wrong flags.
2017-03-23 15:15:12 +00:00
Philip Withnall
ed92c4bcc4 tests: Fix use of C99 inline declaration
We don’t claim to use them yet, even if we perhaps should.
2017-03-07 09:47:30 +00:00
Daniel Boles
f640749853 testheightforwidth: cleanups 2017-03-07 09:28:37 +00:00
Daniel Boles
bd89f79b8a testframe: label-yalign does nothing so don’t test
Since the border node was removed, this property has no effect.

https://bugzilla.gnome.org/show_bug.cgi?id=778886
2017-03-07 01:07:48 +00:00
Daniel Boles
aaa9ea6e3f testframe: Simplify initial setting of padding
Just start with both dimensions’ paddings at 0.
2017-03-07 00:30:24 +00:00
Daniel Boles
2eee3ef79c testframe: Add CheckButton to toggle border off/on
We should test this.
2017-03-07 00:30:23 +00:00
Daniel Boles
5470c263d1 testframe: Order controls better & improve labels
The :label-widget is drawn before the child, so put the controls that
set the alignment of the :label-widget before those that pad the child.

We set (horizontal|vertical) padding, not "[xy]thickness". Also change
to "label [xy]align" & use grid spacing, not spaces at end of Labels.
2017-03-07 00:17:28 +00:00
Daniel Boles
e44b551671 testframe: Minimise typecasts 2017-03-07 00:17:05 +00:00
Daniel Boles
9e5cac07b8 testframe: Set value before connecting callbacks
The value comes from the widget, and we were setting this after
connecting the callback, which applies the value to the widget…
2017-03-07 00:16:37 +00:00
Daniel Boles
ec5ebf82b6 testframe: Use a generic widget pointer 2017-03-07 00:16:37 +00:00
Daniel Boles
3290065079 testheightforwidth: Add missing unref 2017-03-06 20:58:13 +00:00
Daniel Boles
bf0ea7b7bc Fix the completely broken tests/testheightforwidth
This was ruined, with only 1 of the 8 subwindows rendering any content.

This commit fixes the responsible errors in the embedded GtkBuilder UIs:
 • Fix broken replace by commit fb3d9022ad
   of HBox with a Box having a broken orientation <property>
 • Replace VBox and [HV]Paned with GtkOrientable successors (properly!)
 • Remove use of Button:use_action_appearance, as this no longer exists

This commit also adds error reporting, in case other errors creep into
the GtkBuilder UI definitions, plus cleanup for the Builders and Windows
2017-03-06 20:37:38 +00:00
Timm Bäder
2aea8dfee9 togglebutton: Move :inconsistent to GtkCheckButton 2017-01-30 18:11:00 +01:00
Timm Bäder
66d584ce6e togglebutton: Move :draw-indicator property to GtkCheckButton
It's not used in GtkToggleButton at all, only in GtkCheckButton and
GtkRadioButton.
2017-01-30 18:11:00 +01:00
Daniel Boles
88ae92050e Remove tests/testtreemenu
Since GtkTreeMenu became a private class only used by GtkComboBox, all
this test actually did was to show a ComboBox constructed with a custom
CellArea. Now that the latter is no longer possible, the test just shows
a handful of settings that do nothing. Just test GtkComboBox directly.
2017-01-28 20:25:37 +00:00
Daniel Boles
439fcf7578 combobox: Remove property cell-area
The CellArea is going to become a pure implementation detail & be moved
to the .ui, instead of letting users mess with it (if anyone ever did).
2017-01-21 21:34:45 +00: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
Daniel Boles
d7c3d86f02 testcombo—Don’t set appears-as-list style property
List mode no longer exists, so this had no effect.
2017-01-19 22:10:59 +00:00
Matthias Clasen
2c7e567f05 Update callers
Adapt all our tests and examples to the new initialization api.
2017-01-19 13:50:17 -05:00
Benjamin Otte
fd762d203c tests: Add a rendernode test for borders 2017-01-11 18:33:09 +01:00
Timm Bäder
3d5a62a0c9 actionbar: Add revealed property
So we can show and hide it with a transition as well as bind another
property to it.
2017-01-08 14:57:11 +01:00
Benjamin Otte
d50b73f66d treeview: Remove gtk_tree_view_get_bin_window()
We don't want to expose GdkWindows in the public API.
2017-01-08 00:48:12 +01:00
Benjamin Otte
2571036c07 gsk: Turn GskTexture into a GObject 2017-01-01 19:53:36 +01:00
Benjamin Otte
c0c44c7b9c tests: Add linear gradient test 2016-12-26 17:22:02 +01:00
Benjamin Otte
573ceb0340 tests: Add a patternspec argument for test creation
That way, I don't need to recreate all the tests I don't care about.

This is particularly useful when I want to change the size of the
testcase.
2016-12-26 17:22:01 +01:00
Benjamin Otte
d7e867aa95 tests: Make rendernode --dump-variant actually work 2016-12-26 17:22:01 +01:00
Benjamin Otte
c7083a5d37 tests: Make sure number of runs is 1. 2016-12-26 17:22:01 +01:00
djb
476cadc7f8 tests: Remove executable bit from C files 2016-12-25 21:46:40 +00:00
Benjamin Otte
78582dd5e9 tests: Fix logic to detect argument length 2016-12-25 06:23:12 +01:00
Benjamin Otte
eacf725778 tests: Add a --runs argument to rendernode
This way we can rerun fast tests lots of times - not so much for
averaging times, but more for sysprof'ing.
2016-12-25 06:23:12 +01:00
Benjamin Otte
c99b46c46d tests: Add another test
In this test, Cairo is almost as fast as Vulkan. I wonder why.
2016-12-25 06:23:12 +01:00
Benjamin Otte
b97e4e8631 tests: Improve rendernode test further
- Print benchmark output in fallback path
- Always run rendering, even when no filename given
- Don't require a filename when running with --benchmark
2016-12-23 11:31:35 +01:00
Benjamin Otte
af6e7cc169 tests: Add rendernode-create-tests
Little tool that creates a bunch of test files to throw add the
rendernode binary.
They should really be part of a testsuite, but we have none, so OI just
put them here.
2016-12-23 08:11:01 +01:00
Benjamin Otte
4bb0c70c11 gsk: Add docs and error handling to serialization API 2016-12-23 08:11:01 +01:00
Benjamin Otte
4e866ec06b tests: Add some command-line flags to rendernode 2016-12-23 08:11:01 +01:00
Benjamin Otte
b0d5224de5 tests: Use gsk_renderer_render_texture()
Only keep the version that calls gsk_render_node_draw() if people
specify the --fallback option.

The actual renderer selection works just as for regular GTK. The easiest
way to influence it is setting the GSK_RENDERER environment variable.
2016-12-23 08:11:01 +01:00
Benjamin Otte
b4ac7ffed4 tests: Add a simple test to convert rendernode to png
Takes a rendernode file, outputs a PNG. Nothing more.
2016-12-23 08:11:00 +01:00
Benjamin Otte
f2f5941d65 testgtk: Remove resize grips example
Resize grips are gone. And just showing an empty window is not terribly
exciting.
2016-12-20 18:01:12 +01:00
Benjamin Otte
15e8a22f08 gsk: Move gtk/gtkcairoblur.c to gsk/gskcairoblur.c 2016-12-20 18:01:11 +01:00
Benjamin Otte
795f38b4cc cellview: Remove code to modify the background
GtkCellView has a gadget, so peopl can do all their shenanigans with
CSS.

And the original use case (overriding the background so that the
cellview's GdkWindow shares the background color of the combobox) is
outdated since we have transparent backgrounds.
2016-12-19 05:36:06 +01:00
Benjamin Otte
ef75ca2d53 API: gdk: Remove gdk_window_process_updates()
We have a frame clock now.
2016-11-23 19:02:58 +01:00
Benjamin Otte
4850271ae8 API: Remove gtk_cairo_should_draw_window()
The answer is: Yes.
2016-11-23 18:48:38 +01:00
Benjamin Otte
dfd9150a82 build: Don't link against libgtk and libgdk
libgdk is statically linked these days, so if you link against it, all
of its symbols will exist twice: Once in libgtk.so and once in your
binary.
2016-11-20 11:19:32 +01:00
Benjamin Otte
fef2f96add tests: Remove outdated tests
The tests read a nonexisting colorprofile, try to convert stuff read
from the window into it, do things that gdk-pixbuf should test and
then aren't even integrated into the testuite.

Sheesh.
2016-11-20 08:33:13 +01:00
Matthias Clasen
c418ce0365 testgtk: Stop using gtk_micro_version
This will be going away soon
2016-11-19 12:28:52 -05:00
Matthias Clasen
158afb4ef9 Fix a signature mismatch
The new drawingarea draw func returns void.
2016-11-19 12:28:52 -05:00
Benjamin Otte
14b746eeaa tests: Remove styleexamples test
It's so outdated it doesn't even do anything useful anymore.

So I'll just assume nobody uses it.
2016-11-19 03:02:46 +01:00
Benjamin Otte
ca47c75272 tests: Use new drawing area APIs in testcairo 2016-11-19 03:02:46 +01:00
Benjamin Otte
4a604cf927 tests: Use drawing area in testellipsise 2016-11-19 03:02:46 +01:00
Benjamin Otte
915e791586 tests: Use new drawing area APIs 2016-11-19 03:02:46 +01:00
Benjamin Otte
fe23c3165e tests: Use a drawing area in motion-compression example 2016-11-18 21:44:25 +01:00
Benjamin Otte
e950d0cd8b tests: Use a drawing area in animated-resizing 2016-11-18 21:44:25 +01:00
Benjamin Otte
3ee2138ee7 tests: Use a drawing area in testpopup 2016-11-18 07:24:31 +01:00
Benjamin Otte
f2fb2da8bd tests: Make testtooltips not use the draw signal 2016-11-18 07:22:02 +01:00
Benjamin Otte
a57fe52fc6 tests: Produce load without waiting for draw signal 2016-11-18 07:15:12 +01:00
Benjamin Otte
4a06d22c7d tests: Use drawing area instead of draw signal 2016-11-18 07:14:28 +01:00
Timm Bäder
957274ed1a tests/styleexamples: Remove gtk_render_extension calls
The function doesn't exist anymore so there's nothing to test.
2016-11-17 16:48:57 +01:00
Benjamin Otte
0e93e39e74 tests: Remove subsurface test
It did lots of ubsupported things (like creating subsurfaces on every
platform).
2016-11-06 22:03:45 +01:00
Timm Bäder
96f382e5b0 tests/popupat: Remove references to noexistent widgets 2016-11-05 13:39:41 +01:00
Matthias Clasen
5c18bf79a1 Add a testcase for stacked headerbars
This currently has some theming issues.
This example is for Lapo to work those out.
2016-11-03 08:32:31 -04:00
Matthias Clasen
6ed58cfd50 Fix the build
testgtk.c had some dead code referring to GdkColor. Drop it.
2016-11-01 14:11:25 -04:00
Timm Bäder
5071206d60 widget: Remove app-paintable 2016-10-31 19:28:28 +01:00
Benjamin Otte
73cd739e19 API: widget: Remove gtk_widget_is_composited()
We don't need to clutter our API with functions that are easily
available elsewhere and effectively unused.
2016-10-29 04:49:47 +02:00
Benjamin Otte
d249e77bcb API: screen: Remove gdk_screen_is_composited()
Switch code to use gdk_display_is_composited() instead.

The new code also doesn't use a vfunc to query the property but rather
requires the backend to call set_composited()/set_rgba() to change the
value.
2016-10-29 04:49:47 +02:00
Benjamin Otte
a334316d5e API: widget: Remove GtkWidget::composited-changed signal
Nobody uses it.

If you need the functionality, listen to display changes on
your widget and then connect to the display's notify::composited.
2016-10-29 04:49:47 +02:00
Timm Bäder
90b133bb50 testframe: Fix css element name 2016-10-28 16:33:02 +02:00
Alexander Larsson
723b588b5d Make gdk.la and gsk.la a noninst helper library
This merged gtk, gdk and gsk into one library, making it possible to
have internal private APIs between gtk them, as well as producing more
efficient code.

https://bugzilla.gnome.org/show_bug.cgi?id=773100
2016-10-26 16:34:15 +02:00
Alexander Larsson
70935f0952 Drop support for offscreen GdkWindows
These complicate a lot of GdkWindow internals to implement features
that not a lot of apps use, and will be better achieved using gsk.
So, we just drop it all.
2016-10-25 09:54:37 +02:00
Rico Tzschichholz
24b917165b Remove stray "stock" references 2016-10-23 13:01:52 +02:00
Timm Bäder
d188912338 icontheme: Remove deprecated API 2016-10-22 19:08:29 +02:00
Timm Bäder
9992a616ef widget: Use ::measure vfunc to measure size
Add a new ::measure vfunc similar to GtkCssGadget's that widget
implementations have to override instead of the old get_preferred_width,
get_preferred_height, get_preferred_width_for_height,
get_preferred_height_for_width and
get_preferred_height_and_baseline_for_width.
2016-10-22 19:05:47 +02:00
Victor Toso
ebbfbc0bea tests: fix clipboard test by loading correct icon
The icon name changed from "terminal" to "utilities-terminal" in
Adwaita-icon-theme.

Signed-off-by: Victor Toso <victortoso@redhat.com>

https://bugzilla.gnome.org/show_bug.cgi?id=773113
2016-10-21 11:37:34 -04:00
Emmanuele Bassi
5cb804a808 build: Remove unused target variables
The foreigndrawing test has been removed.
2016-10-19 14:34:05 +01:00
Emmanuele Bassi
074c77e7ac gsk: Rework GskRenderer and GskRenderNode semantics
This commit changes the way GskRenderer and GskRenderNode interact and
are meant to be used.

GskRenderNode should represent a transient tree of rendering nodes,
which are submitted to the GskRenderer at render time; this allows the
renderer to take ownership of the render tree. Once the toolkit and
application code have finished assembling it, the render tree ownership
is transferred to the renderer.
2016-10-18 11:29:34 +01:00
Emmanuele Bassi
7afdd3fdb5 Initial implementation of GSK rendering pipeline
GSK is conceptually split into two scene graphs:

 * a simple rendering tree of operations
 * a complex set of logical layers

The latter is built on the former, and adds convenience and high level
API for application developers.

The lower layer, though, is what gets transformed into the rendering
pipeline, as it's simple and thus can be transformed into appropriate
rendering commands with minimal state changes.

The lower layer is also suitable for reuse from more complex higher
layers, like the CSS machinery in GTK, without necessarily port those
layers to the GSK high level API.

This lower layer is based on GskRenderNode instances, which represent
the tree of rendering operations; and a GskRenderer instance, which
takes the render nodes and submits them (after potentially reordering
and transforming them to a more appropriate representation) to the
underlying graphic system.
2016-10-18 11:29:34 +01:00
Timm Bäder
ead36206a3 Remove GtkActionGroup 2016-10-18 00:34:41 +02:00
Timm Bäder
f7d22fec7b Remove GtkRecentAction 2016-10-18 00:34:41 +02:00
Timm Bäder
d963ede668 Remove GtkUIManager 2016-10-18 00:34:41 +02:00
Timm Bäder
62b2949fa2 Remove GtkActivatable 2016-10-18 00:34:41 +02:00
Timm Bäder
41f5d3b14c Remove GtkToggleAction 2016-10-18 00:34:40 +02:00
Timm Bäder
53ab8eb46d Remove GtkRadioAction 2016-10-18 00:34:40 +02:00