Commit Graph

271 Commits

Author SHA1 Message Date
Matthias Clasen
92eab67a49 Add a list box selection testcase 2014-04-06 01:44:37 -04:00
Matthias Clasen
206d43dcb4 Add a testcase for icons with emblems
This is a testcase for
https://bugzilla.gnome.org/show_bug.cgi?id=726830
2014-03-24 20:17:21 -04:00
Matthias Clasen
ac907cd8aa Add a testcase for box sizing 2014-02-16 23:24:13 -05:00
Matthias Clasen
59099cd6e7 Add a test for model-based popovers
https://bugzilla.gnome.org/show_bug.cgi?id=723014
2014-02-07 15:11:51 -05:00
Matthias Clasen
be60724d08 Add a testcase for various dialog headerbar scenarios 2014-02-02 17:35:11 -05:00
Matthias Clasen
07f9b3ffa2 Add an action bar test
https://bugzilla.gnome.org/show_bug.cgi?id=721665
2014-01-07 08:46:37 -05:00
Matthias Clasen
d28ca4cdce Add an example for split headers
This shows how to deal with variability in window decorations
with split header bars.
2014-01-06 10:32:19 -05:00
Matthias Clasen
05907afc1c Add various tests for stock widgets
This test demonstrates that various deprecated ways
to construct buttons and menuitems still work as they
are supposed to, including always-show-image functionality.
2013-10-07 18:19:16 -04:00
Matthias Clasen
943d575ec3 Add GtkFlowBox
GtkFlowBox is a container that its children in a reflowing
grid, which can be oriented horizontally or vertically.

It is similar to GtkListBox in that the children can
be sorted and filtered, and by requiring a dedicated child
widget type, GtkFlowBoxChild. It is similar to GtkTreeView
in that is supports a full set of selection modes, including
rubberband selection.

This is the culmination of work that has happened in the
egg-list-box module, and earlier in libegg. The origins of
this code are the EggSpreadTable in libegg, which was written
by Tristan van Berkom. It was moved to egg-list-box and
renamed EggFlowBox by Jon McCann, and I gave it some finishing
touched in the flowbox-improvements branch of that module.
2013-10-06 23:31:17 -04:00
Matthias Clasen
e725b05f79 Add a testcase for custom levels in GtkLevelBar
This is related to https://bugzilla.gnome.org/show_bug.cgi?id=707695
2013-09-08 16:45:25 -04:00
Matthias Clasen
88293f89f0 Add a test for animated row insertion/removal
This is just a crude example for how to use revealers to
animate insertion and removal of rows in a listbox.
2013-08-26 23:07:05 -04:00
Matthias Clasen
6aa1d69978 Fix a copy-paste error 2013-07-01 13:18:22 -04:00
Matthias Clasen
cf006cbee3 Add a titlebar testcase
This is an experiment towards how we want client-side titlebars
to look.
2013-06-29 08:52:04 -04:00
William Jon McCann
fc71cbe5a6 Remove most of the stock API usage from the tests
With the exception of GtkActions and the tests for stock items.
2013-06-24 19:53:08 -04:00
Alexander Larsson
3c90b2c42c tests: Add testlist testing GtkListBox 2013-06-13 12:17:06 +02:00
Matthias Clasen
526958cd53 Add an interactive window sizing test 2013-05-25 11:42:28 -04:00
Benjamin Otte
172303f550 build: Move tests/reftests to testsuite/reftests 2013-05-15 15:37:17 +02:00
Benjamin Otte
edde840513 build: Move tests/css to testsuite/css 2013-05-15 15:37:17 +02:00
Benjamin Otte
2c8e719b5a build: Move tests/a11y to testsuite/a11y 2013-05-15 15:37:16 +02:00
Owen W. Taylor
8c68050af8 tests/scrolling-performance: Add a new test for GtkViewport performance
Add a test that takes four copies of the widget-factory widgets and
scrolls them around to test how smoothly we can scroll and draw.
2013-04-23 14:04:40 -04:00
Owen W. Taylor
b7063509f8 tests/animated-resizing: Split frame statistics out into a separate file
Split the code for computing frame rate and latency into a separate file
so we can use it from multiple tests.
2013-04-23 14:04:40 -04:00
Alexander Larsson
2b4c9983da Add tests/testbaseline 2013-04-23 05:58:07 +02:00
Matthias Clasen
0bd173e3d8 Forgotten file 2013-04-22 12:42:37 -04:00
Matthias Clasen
2e39c4bab8 Add GtkStack
Add separate GtkStack and GtkStackSwitcher widgets that are an
alternative to GtkNotebook. Additionally, GtkStack supports
animated transitions when changing pages.
These widgets were initially developed in libgd.
2013-04-21 21:51:24 -04:00
Benjamin Otte
4b75077ccd tests: Remove testmultiscreen example
There aren't multiple screens anymore, so no need to test that.

Multiple displays can be tested with gtk-demo and testgtk.
2013-04-06 10:47:55 +02:00
Matthias Clasen
4fd67b8c62 Add a headerbar test
Add a testcase for GtkHeaderBar that shows how it can be used
without client-side decorations.
2013-03-18 01:03:39 -04:00
Owen W. Taylor
e77a96a0ea video-timer: add a test case for display at a constant frame rate
Add a test case that simulates the timing operaton that goes on
when showing a constant frame rate stream like a video - each
frame is shown at the VBlank interval that is closest to when it
would ideally be timed.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:51 -05:00
Owen W. Taylor
9690567d50 animated-resizing: enhance output
Show the average and standard deviation of the latency in addition to
the frame rate. Add options to print the output in machine-readable form,
and to control the frequency and total number of statistics that will be
output.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:51 -05:00
Owen W. Taylor
a69285da08 Compress motion synchronized with the paint cycle
When we have pending motion events, instead of delivering them
directly, request the new FLUSH_EVENTS phase of the frame clock.
This allows us to compress repeated motion events sent to the
same window.

In the FLUSH_EVENTS phase, which occur at priority GDK_PRIORITY_EVENTS + 1,
we deliver any pending motion events then turn off event delivery
until the end of the next frame. Turning off event delivery means
that we'll reliably paint the compressed motion events even if more
have arrived.

Add a motion-compression test case which demonstrates behavior when
an application takes too long handle motion events. It is unusable
without this patch but behaves fine with the patch.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:49 -05:00
Owen W. Taylor
623803c1fe Add a test of an animated resizing window
Add a test of a window with an animated size and contents. The
test accepts load factor command line argument to see how things
work as the drawing of the content requires more GPU resources.

https://bugzilla.gnome.org/show_bug.cgi?id=685460
2013-02-14 17:19:49 -05:00
Olivier Fourdan
7d9751130c tests: add a test for fullscreen mode
https://bugzilla.gnome.org/show_bug.cgi?id=691856
2013-01-25 13:16:57 +01:00
Bastien Nocera
9fef2dc0d1 gtkmenubutton: Add menu button widget
As used in Totem and gnome-contacts. The widget
takes either a GtkMenu or a GMenuModel to construct
its menu, and can be given a parent widget to use to
position the drop-down (as used in GtkMenuToolButton).

https://bugzilla.gnome.org/show_bug.cgi?id=668013
2012-06-15 17:24:42 +01:00
Matthias Clasen
2baba250b8 Revert "gtkmenubutton: Add menu button widget"
This reverts commit 9d35f7e512.
2012-05-30 14:45:24 -04:00
Bastien Nocera
9d35f7e512 gtkmenubutton: Add menu button widget
As used in Totem and gnome-contacts. The widget
takes either a GtkMenu or a GMenuModel to construct
its menu, and can be given a parent widget to use to
position the drop-down (as used in GtkMenuToolButton).

https://bugzilla.gnome.org/show_bug.cgi?id=668013
2012-05-30 13:46:40 -04:00
Benjamin Otte
2da7a6d803 tests: Make testcellarea use an iconview 2012-05-07 00:12:26 +02:00
John Ralls
63b0149b84 Bug 655065 Build failure on OS X 10.7 Lion
Remove LDDADS and setting each object file's LDDAD to it; just set a global LDDAD.
2012-03-01 16:26:38 -08:00
Carlos Garcia Campos
1a26b9a90a tests: Add new test for kinetic scrolling 2012-03-01 16:25:22 -05:00
Cosimo Cecchi
cb316cb2a8 tests: add a test for GtkOverlay position style classes
https://bugzilla.gnome.org/show_bug.cgi?id=669342
2012-02-29 12:33:46 -05:00
Matthias Clasen
759765114f Add a simple color chooser test 2012-02-14 16:36:49 -05:00
Matthias Clasen
71efe31f16 Move widget-factory to demos/
Lets install this, for the benefit of artists everywhere.
2012-02-09 08:45:40 -05:00
Cosimo Cecchi
9283ca93c5 visuals: add a runner for visual GtkBuilder files
This is useful to sketch out in GtkBuilder widgets in different states
all at once, so that we can check theming is right for them.
Add some initial UI files for primary-toolbar and inline-toolbar widgets.
2012-01-12 17:05:36 -05:00
Matthias Clasen
0191f11a7a Add a test for the new session api 2012-01-08 02:15:49 -05:00
Matthias Clasen
8841c04e22 Some GMenu test code
This is some test code for constructing GtkMenus from GMenus.
2011-12-19 12:45:50 -05:00
Benjamin Otte
9da7cc776c tests: Add testtreechanging
It's just a treestore going crazy while the treeview has to keep up.
2011-11-25 15:12:45 +01:00
Matthias Clasen
9b0011be92 Don't use *_DISABLE_DEPRECATED
Instead of undefining the DISABLE_DEPRECATED guards,
define the GDK_DISABLE_DEPRECATION_WARNING macro where needed.
Also replace INCLUDES by AM_CPPFLAGS to shut up automake.
2011-11-01 22:14:45 -04:00
Christian Persch
eb2a54decf Add prop editors to testfontchooser{,dialog} 2011-09-13 12:55:21 +02:00
Alberto Ruiz
4bf22639d1 GtkFontChooser: Expose the new widget in gtk.h and add test cases 2011-08-15 18:57:55 -04:00
Alberto Ruiz
053d34dc47 GtkFontChooser: Added test for GtkFontSelectionDialog 2011-08-15 18:57:54 -04:00
Alberto Ruiz
077d897fa4 GtkFontChooser: Added a test program 2011-08-15 18:57:52 -04:00
Benjamin Otte
f76c439897 tests: Add first shot at an accessibility dump tool
The tool works like this:
  ./accessibility-dump [FILE ...]
If no files are given, all files with the extension ".ui" in the current
directory are taken. For every file "test.ui", the following steps are
performed:
1) test.ui is loaded using GtkBuilder
2) The accessible for the window is loaded
3) The information of accessible is converted into a string using a
   syntax defined in this test file
4) The generated string is diffed with the file "test.txt"
5) If the diff is empty, the test is a success, if not, the test fails.
6) The diff is output when the test runner is run with --verbose

So to add a test named "test", create a file called "test.ui", put it
into this directory. Then create the expected output file "test.txt",
put it into this directory too. You can create the initial version of
this file by invoking "./accessibility-dump --verbose test.ui". The
output will contain the expected text and can be copy/pasted into the
text file.
2011-07-05 16:07:57 -04:00
Cosimo Cecchi
71eb9d123d tests: import the widget-factory test for theming
Courtesy of Andrea Cimitan <andrea.cimitan@canonical.com>.
2011-06-17 11:51:14 -04:00
William Jon McCann
be7f734aff tests: Add simple test for image clipboard 2011-06-14 16:06:33 -04:00
Ignacio Casal Quinteiro
cfb2a45f9a overlay: add initial version of gtkoverlay 2011-06-12 23:27:18 -04:00
Benjamin Otte
a105edbf78 tests: Add a cute demo and test app for the new box css
It contains a live editor for CSS, that thing finds lots of bugs...
2011-06-02 02:03:51 +02:00
Matthias Clasen
cf86c7c9bb Move demos around
The pixbuf-demo gets its own subdirectory, the other small
tests move from demos/ to tests/.
2011-05-26 00:32:31 -04:00
Benjamin Otte
64fd32cdef tests: Add a test for the CSS parser
Tests in the parser need 1 or 2 files:
1) test.css
2) test.ref.css (optional, defaults to test.css)

The test instantiates a CSS provider, loads test.css, then dumps the
loaded file to test.out.css and then checks that that file matches
test.ref.css. If not, it dumps a diff between those two to the log and
fails.

You want to run the test with --verbose to get the output dumped to
stdout.
2011-05-18 21:58:43 +02:00
Matthias Clasen
1d647df176 Add a lock button widget
This is a special-purpose button that can be used together with
GPermission objects to control the sensitivity of system settings.

Suitable permission objects can e.g. be obtained from PolicyKit.

http://bugzilla.gnome.org/show_bug.cgi?id=626457
2011-05-06 22:44:38 -04:00
Tristan Van Berkom
d399a4acab Added GdkRGBA properties to GtkTextTag.
This now allows text view to render text with alpha values in
the text foreground and backgrounds, the work is almost complete,
currently the error-underline-color is still a GdkColor style property
and since we use only GdkRGBA for rendering it needs to be converted
and applied, probably a new rgba version of the style property should
also be introduced.

This commit adds tests/testtextview that must be run from the tests/
directory to show translucent text in action.
2011-05-06 17:05:10 -04:00
Benjamin Otte
363dbb6039 reftests: Add
Add a new test runner supposed to do a lot of generic tests. Run it like
this:

./gtk-reftest [OPTIONS] TESTFILE [TESTFILES...]

where FILE is a GtkBuilder ui file to run.

For a general test named "test", you want to have the following files:
1) test.ui
2) test.ref.ui
3) test.css (optional)
The test will then check that test.ui and test.ref.ui are rendered
identically with the provided css.

In detail, for every provided TESTFILE the test runner will:
1) Add the css to the default screen
2) Load the test.ui file and the test.ref.ui file
3) Grab the first GtkWindow subclass widget
4) gtk_widget_show() it and take a snapshot image of its contents into
   a cairo surface.
5) Compare the two images to be bitwise identical. If they are not, a
   diff image will be created hilighting the differences.
6) Save the images as png files to the output directory named:
   - test.out.png (rendering of test.ui)
   - test.ref.png (rendering of test.ref.ui)
   - test.diff.png (optional, differences from step 5)
7) Fail the test if the two images are not bitwise identical

Credit for the idea of reftests goes to Mozilla and in particular David
Baron. For a larger introduction of why reftests are useful, see
http://weblogs.mozillazine.org/roc/archives/2008/12/reftests.html
2011-05-03 15:40:48 +02:00
Matthias Clasen
524ce69bcb Bump the version to 3.0.0
At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
2011-02-10 14:41:02 -05:00
Matthias Clasen
9bd175536b Add a testcase for state propagation problems 2011-02-06 14:14:48 -05:00
Matthias Clasen
19092fe44f Add a testcase for cell positions 2011-02-05 01:24:21 -05:00
Matthias Clasen
5f04bf6429 Simple test for display-less widget creation 2011-02-04 22:06:25 -05:00
Benjamin Otte
9e401bef68 tests: Remove clientmessage test
Client messages will not be handled by GDK3 anymore, so no need to test
them.
2011-02-01 06:33:02 +01:00
Tristan Van Berkom
69b1bfb17b Added tests/testtoplevelembed. 2011-01-06 14:39:40 +09:00
Matthias Clasen
7799fbf239 Add GtkNumerableIcon
This is a subclass of GEmblemedIcon that can show a number or
short string as an emblem, overlayed on top of another emblem.

Written by Cosimo Cecchi
https://bugzilla.gnome.org/show_bug.cgi?id=637169
2011-01-05 16:33:15 -05:00
Tristan Van Berkom
26c3f1a26d Adding GtkTreeMenu class.
Added GtkTreeMenu class to automatically render
a GtkTreeModel into a GtkMenu hierarchy (will be
used by GtkComboBox for its dropdown menus). Included
an accompanying testcase tests/testtreemenu
2011-01-04 23:37:06 +09:00
Matthias Clasen
b555be06b7 Make styleexamples work
If we are keeping this code in source control, might as well
make it work.

https://bugzilla.gnome.org/show_bug.cgi?id=638179
2011-01-03 12:34:23 -05:00
Robert Ancell
f4419be0d6 Fix DSO link issues 2010-12-22 15:01:50 +11:00
Matthias Clasen
07d49ee56a Merge libgdk and libgtk
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
  macros for each included backend, include it in gdk.h and install
  it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
2010-12-21 12:06:55 -05:00
Tristan Van Berkom
847581b67c Adding testverticalcells.c.
This test displays a GtkTreeViewColumn rendering a vertically
oriented GtkCellArea along side a horizontally oriented column
in the same treeview.
2010-12-05 22:15:03 +09:00
Tristan Van Berkom
0d786985a3 Merge branch 'master' into treeview-refactor
Conflicts:
	gtk/gtkmarshalers.list
	tests/Makefile.am
2010-12-05 00:36:37 +09:00
Matthias Clasen
31368f16cb Add the style example code used to generate illustrations 2010-12-04 15:39:37 +01:00
Carlos Garnacho
37f9f491d2 Make testgtk load CSS for custom styling. 2010-12-04 15:39:07 +01:00
Benjamin Otte
ba20a00570 tests: Remove disabled testtext example 2010-12-02 20:21:04 +01:00
Tristan Van Berkom
03a72118ad Merge branch 'master' into treeview-refactor
Conflicts:
	tests/Makefile.am
2010-12-02 13:58:02 +09:00
Cosimo Cecchi
4fe23cae78 app-chooser: other misc doc fixes 2010-11-30 17:27:53 +01:00
Cosimo Cecchi
cb916f2746 Merge branch 'master' into open-with-dialog
Conflicts:
	docs/reference/gtk/gtk3-sections.txt
	gtk/gtk.symbols
2010-11-30 16:27:28 +01:00
Emmanuele Bassi
0cd0e4091f Add GtkSwitch, a "light-switch" like widget
The GtkSwitch widget is a simple UI control that has two states: on and
off. Toggling between the states is possible by clicking the widget or
by dragging the handle.

https://bugzilla.gnome.org/show_bug.cgi?id=634987
2010-11-29 12:52:10 +00:00
Cosimo Cecchi
06f501fa07 app-chooser-button: rename GtkAppChooserComboBox -> GtkAppChooserButton 2010-11-29 12:19:18 +01:00
Cosimo Cecchi
183d75b812 app-chooser-combobox: make refresh properly work with custom items
The refresh implementation leaves the custom items in place, and just
refreshes the recommended applications.
2010-11-24 19:08:17 +01:00
Cosimo Cecchi
05bb715c51 app-chooser: rename GtkOpenWith to GtkAppChooser 2010-11-23 17:50:15 +01:00
Cosimo Cecchi
be18ca45f0 open-with: initial implementation of GtkOpenWithDialog 2010-11-23 16:51:38 +01:00
Tristan Van Berkom
85d6aa1627 Added test and scaffolding widget for GtkCellArea. 2010-11-09 01:26:38 +09:00
Cosimo Cecchi
c068e988a1 tests: add a test for pixbufs implementing the GIcon interface
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-08 11:31:01 +09:00
Cosimo Cecchi
fcfd494b78 tests: add a test for pixbufs implementing the GIcon interface
https://bugzilla.gnome.org/show_bug.cgi?id=634060
2010-11-05 16:28:32 +01:00
Tristan Van Berkom
3fe0fb4ed9 Added GtkScrollablePolicy property to scrollable interface
This patch adds the GtkScrollablePolicy type property to GtkScrollable
and implements it in all subclasses. GtkScrolledWindow observes this
property to make a good guess about when to show/hide scrollbars for
height-for-width content.

Most scrollable children do not do height-for-width *yet* but
most certainly will (toolpalette, treeview, iconview, textview
widgets all TODO), for scrollable widgets that do have a minimum
and natural size, it's important for them to observe the state
of this property in order to properly drive the scroll adjustments
according to the desired GtkScrollablePolicy. This patch makes
GtkViewport do this.

Patch also adds tests/testscrolledwindow.c to display the effects
of this property.
2010-10-26 10:15:56 +09:00
Matthias Clasen
8f0ae8e8a3 Add GtkGrid
GtkGrid is a container similar to GtkTable, without legacy
properties and unnecessary restrictions.
It does height-for-width geometry management.
2010-10-22 16:42:50 +02:00
Ryan Lortie
ab5fb5dee5 GtkApplication rewrite 2010-10-19 01:31:09 +02:00
Havoc Pennington
7597a35477 add tests/testexpand.c used to test the expand props on GtkWidget
There are two colored boxes with toggle buttons nested
inside several GtkBox. Toggling these to expand mode
should automatically propagate expansion up through
the several GtkBox such that resizing the window
results in resizing the colored boxes.

https://bugzilla.gnome.org/show_bug.cgi?id=628902
2010-10-13 10:49:04 -04:00
Tristan Van Berkom
e3cc39cb98 Removed all traces of GtkWrapBox from GTK+. 2010-10-13 22:26:44 +09:00
Owen W. Taylor
88cf547029 Fix handling of the geometry widget
The geometry widget feature of gtk_window_set_geometry_hints() has
never really worked right because the calculation that GTK+ did to
compute the base size of the window only worked when the geometry
widget had a larger minimum size than anything else in the window.

Setup:
* Move the GtkSizeGroup private functions to a new private header
  gtksizegroup-private.h
* Add the possibilty to pass flags to _gtk_size_group_queue_resize(),
  with the flag GTK_QUEUE_RESIZE_INVALIDATE_ONLY to suppress adding
  the widget's toplevel to the resize queue.
* _gtk_container_resize_invalidate() is added to implement that feature
* _gtk_widget_override_size_request()/_gtk_widget_restore_size_request()
  allow temporarily forcing a large minimum size on the geometry
  widget without creating resize loops.

GtkWindow:
* Compute the extra width/height around the geometry widget
  correctly; print a warning if the computation fails.
* Always make the minimum size at least the natural minimum
  size of the toplevel; GTK+ now fails badly with underallocation.
* Always set the base size hint; we were failing to set it
  properly when the specified minimum size was overriden, but
  it's harmless to always set it.

Tests:
* New test 'testgeometry' that replaces the 'gridded geometry' test
  from testgtk. The new test is roughly similar but creates a bunch
  of windows showing different possibilities.
* The testgtk test is removed. No need to have both.

https://bugzilla.gnome.org/show_bug.cgi?id=68668
2010-10-11 14:05:29 -04:00
Benjamin Otte
dceb149ca4 testgtk: Convert WM hints example to use gdk_window_set_icon_list()
gdk_window_set_icon() is about to go away.

Also removes the circles.xbm file and uses the oncluded openfile logo
instead.
2010-09-26 15:02:59 +02:00
Matthias Clasen
4f3e5e6ebc Add some minimal test for X error traps 2010-09-18 18:18:36 -04:00
Havoc Pennington
dc1940e99e Add testadjustsize test, to test new adjust size methods and related features
This will test size adjust, and interactions with other padding and border
2010-09-12 21:47:10 -04:00
Tristan Van Berkom
deaa351630 Added initial revision of GtkWrapBox container widget and test case. 2010-08-28 16:01:59 +09:00
Benjamin Otte
32c95ebe27 tests: remove testrgb test
This is in preparation for the GdkRGB removal
2010-08-10 21:02:25 +02:00
Matthias Clasen
75b9f68338 don't build testapplication on OS X
See bug 622827
2010-06-26 21:41:58 -04:00
Matthias Clasen
cc5500ad85 Remove pure gdk-pixbuf tests
These have been moved over to the gdk-pixbuf module.
2010-06-26 01:09:05 -04:00
Matthias Clasen
16ecf55832 Make GTK+ use an external gdk-pixbuf 2010-06-26 01:09:05 -04:00