Commit Graph

1135 Commits

Author SHA1 Message Date
Chun-wei Fan
1063460db2 demos: Fix build
Include gtk/fallback-c89.c so that we can ensure that we have round(), and
that file already includes math.h
2017-01-20 18:17:33 +08:00
Benjamin Otte
8b118eb8b5 gtk-demo: Make icon counter work from ui file
Gets rid of update always being 1 frame late.
2017-01-07 03:44:25 +01:00
Benjamin Otte
dd406c8062 gtk-demo: Add GtkFishbowl
Avoids usage of GtkFixed where child properties eat up all the CPU time.
And that's kinda not what I want to benchmark.
2017-01-07 03:41:33 +01:00
Benjamin Otte
a7b0af5d8d gtk-demo: Allow locking of icon count in fishbowl demo
I'm not sure I'm proud of the hack to get the changing icon into the UI
file without having to write code. But it works.
2017-01-07 03:41:33 +01:00
Daniel Boles
eceb9add1f demos/icon-browser: increase default window size
...to get more than 1 row of icons to browse!

https://bugzilla.gnome.org/show_bug.cgi?id=776560

I've bumped the size a bit further, to 1024x768
2017-01-04 15:48:17 -05:00
Emmanuele Bassi
da43bfd272 demo: Fix the GLES fragment shader for GLArea
We have a couple of syntax errors, like 'f' modifier for floating point
values.
2016-12-14 20:56:01 +00:00
Matthias Clasen
197eaaacb7 gtk-demo: Add a demo for tabs
One of the least-appreciated features in pango.
It deserves a demo.
2016-11-29 16:39:21 -05:00
Matthias Clasen
71b859a9ce gtk-demo: Set local-only to FALSE for the file chooser
No good reason for that.
2016-11-17 08:52:28 -05:00
Caolán McNamara
dbcbaac982 spin entry should be a child of spin context
https://bugzilla.gnome.org/show_bug.cgi?id=774609
2016-11-17 06:10:27 -05:00
Matthias Clasen
cc0c286869 widget-factory: Better progressbar testing
Hook the two top progressbars up to the scale with marks.
Your turn, Lapo.
2016-11-14 08:48:24 -05:00
Benjamin Otte
04db216026 gtk-demo: Add fishbowl demo 2016-11-05 03:38:46 +01:00
Lapo Calamandrei
6660dc5186 widget-factory: use circular style class on the circular button...
...in place of the circular-button one, killing the custom style
shipped, realying on the theme style.
2016-10-18 13:19:02 +02:00
Matthias Clasen
149351048e Avoid 0/FALSE confusion
Since this is supposedly exemplary code, lets get it right.

https://bugzilla.gnome.org/show_bug.cgi?id=772683
2016-10-14 11:17:42 -04:00
Matthias Clasen
d7b446ec06 Add a --version option to gtk3-widget-factory
This was missing, for no good reason.
2016-09-11 11:25:50 -04:00
Matthias Clasen
ac95470c01 Add a --version option to gtk3-demo
This was missing, for no good reason.
2016-09-11 11:25:50 -04:00
Tristan Van Berkom
6be8979c64 Revert "widget factory: Adapt to new scrolled window behavior"
This reverts commit 37e913d76b.

This is no longer needed since the natural size propagation of
scrolled window children is now an optional behavior. Reverting
this also makes the widget factory scrolled window sizes behave
the same as with the gtk+ 3.20 branch.
2016-09-06 20:51:20 +09:00
Matthias Clasen
26f575014d gtk3-demo: Avoid underallocating columns
Setting a fixed width on the columns causes the headers to be
be underallocated. It is not necessary either.
2016-09-04 21:45:31 -04:00
Matthias Clasen
f7c87fb3b7 widget-factory: Fix smooth autoscrolling of scales
There is annoying interference between formatting the value
(for which we set the number of digits to show) and the small
frame-to-frame value changes that we do for autoscrolling.

To work around this, turn off the digits-based rounding entirely
and format the value ourselves with ::format-value.
2016-08-24 12:53:28 -04:00
Matthias Clasen
ceb18a989e gtk-demo: Make the scale demo fully functional
The adjustments need to have step-increment and page-increment
set up, or keynav and autoscrolling will not work.
2016-08-24 11:11:57 -04:00
Carlos Garnacho
5d99b7d538 demos: Use stateful actions for rings/strips in "Touch and Drawing Tablets" demo
https://bugzilla.gnome.org/show_bug.cgi?id=770026
2016-08-23 21:01:45 +02:00
Carlos Garnacho
ae29157a63 demos: Add pad support to "event axes" demo
And rename it to "Touch and Drawing Tablets", since it's no longer about
"axes" really.

As for pad support in the demo, just keep it "simple", make the
controller handle all pad devices, and make all the actions have the
same callback.

https://bugzilla.gnome.org/show_bug.cgi?id=770026
2016-08-23 21:01:45 +02:00
Timm Bäder
bdb77b6cc2 widget-factory: Don't initially show popover
It'll  be set as the popover of a GtkMenuButton later anyway which will
hide it again.
2016-08-10 16:37:17 +02:00
Bastien Nocera
64739f46fc demos: Fix build failure
gtk+/demos/gtk-demo/css_blendmodes.c: In function ‘update_css_for_blend_mode’:
gtk+/demos/gtk-demo/css_blendmodes.c:49:26: error: format not a string literal, argument types not checked [-Werror=format-nonliteral]
                          blend_mode);
                          ^~~~~~~~~~

https://bugzilla.gnome.org/show_bug.cgi?id=769236
2016-07-29 11:02:50 -04:00
William Hua
8701e34f74 port to new gtk_menu_popup_at_* () functions
https://bugzilla.gnome.org/show_bug.cgi?id=756579
2016-07-19 09:38:54 -04:00
Matthias Clasen
93f20315d1 gtk3-demo: Simplify the blendmodes example a bit
Just put all of the template into the resource.
2016-07-04 09:59:25 -04:00
Matthias Clasen
507e58df4e gtk3-demo: Make blendmodes example non-resizable
It doesn't need to.
2016-07-03 18:29:21 -04:00
Georges Basile Stavracas Neto
1d93cc2b0b demo: add a demo for blend modes
After introducing the CSS blend mode enum values and including
the background-blend-mode CSS property, it is very important to
actually provide an example of the new feature.

This patch adds a new demo to gtk3-demo which shows how the
background-blend-mode CSS property works.

https://bugzilla.gnome.org/show_bug.cgi?id=768305
2016-07-03 17:24:47 -04:00
Carlos Garnacho
3b98a2d935 demos: Simplify popovers demo
Don't do much unconventional stuff here. This is a demo, not a test.

https://bugzilla.gnome.org/show_bug.cgi?id=767851
2016-06-21 17:56:21 +02:00
Matthias Clasen
e01f35ef5f gtk3-demo: Make the filter model example more interesting
Allow editing values in the first treeview, to see the derived
models update in real time.
2016-06-19 23:54:07 -04:00
Matthias Clasen
815cc23c4c gtk-demo: Use max-content-height in the popover example
This is what the property was invented for.
2016-06-19 23:07:17 -04:00
Matthias Clasen
c2534af15e gtk3-demo: Fix the modelbutton example
The color menu buttons didn't have the necessary target property
to be successfully activated.
2016-06-19 22:56:20 -04:00
Matthias Clasen
2fd984987d gtk-demo: Fix up some warnings
The search entry example was a bit sloppy in cleaning up its
sources, causing warnings.
2016-06-19 22:47:57 -04:00
Matthias Clasen
37e913d76b widget factory: Adapt to new scrolled window behavior
Set a max-content-width on some of the scrolled windows to
keep things looking mostly the same, now that GtkScrolledWindow
passes along the natural size of its child.
2016-06-19 22:16:11 -04:00
Matthias Clasen
5892bd72fa widget-factory: Use max-content-size in a popover
This gives a nice example of these properties in action,
in the "Open" popover on page 3.
2016-06-06 14:35:46 -04:00
Matthias Clasen
d36f866b27 gtk3-demo: Fix some css warnings
Update the font: syntax to follow css.
2016-05-30 16:19:19 -04:00
Matthias Clasen
4b8dfd8825 gtk-demo: Update no-drop cursor image
Adwaita is using a different cursor for this now.
2016-05-17 13:40:52 -04:00
Matthias Clasen
3078f182b0 gtk3-demo: Add context-menu cursor
The Adwaita cursor theme covers this one now.
2016-05-17 13:39:18 -04:00
Matthias Clasen
f8bc35b9a6 Fix scale length
The vertical scales should really be of the same length, so
add an empty value to be drawn by the other scale.
2016-05-10 15:41:03 -04:00
Timm Bäder
7b81b56f7b widget-factory: Let one of the scales draw a value
https://bugzilla.gnome.org/show_bug.cgi?id=766120
2016-05-10 21:24:50 +02:00
Matthias Clasen
ac5b48e40c gtk-demo: Fix revealer demo
This only used by luck before. We are changing a property from the
::notify handler for that property. Now that GtkRevealer is notifying
the property when it stops animations on unmap, we end up in a life
lock situation where we never make it out of the notify queue.

Fix this by not restarting the animation if the widget is unmapped.
2016-05-07 16:22:13 -04:00
Matthias Clasen
c1d1042892 gtk3-demo: Add a close button to the markup window 2016-05-06 20:50:38 -04:00
Matthias Clasen
de3dabc865 gtk-demo: Don't duplicate text in markup example
I forgot to clear the buffer before inserting the new markup. Oops.
2016-05-06 20:47:49 -04:00
Emmanuele Bassi
872b5115ea demo: Add GLES support to the GtkGLArea demo
We need new shaders, and we need to select the correct shader when
building the program we use to render the triangle.
2016-04-25 14:35:02 +01:00
Carlos Garnacho
f1cbd9ca13 demos: Show slider/rotation axes in "Event axes" demo 2016-04-08 17:34:29 +02:00
Carlos Garnacho
48239ad720 gtk3-demo: Add tool information to "Event axes" demo
Print tool type and serial, if found.
2016-04-06 16:12:13 +02:00
Carlos Garnacho
8e917093df demos: Enable multidevice behavior on event-axes demo
On wayland we get separate master/slaves for each tablet, we will
need to receive crossing events for each master pointer if there's
more than one around.
2016-04-06 15:43:29 +02:00
Carlos Garnacho
b465ede53b demos: Set crossing events mask explicitly on event-axes demo. 2016-04-06 15:43:29 +02:00
Carlos Garnacho
89b7f859a4 gtk3-demo: Show multiple master devices on the "Event axes" demo 2016-04-06 15:43:29 +02:00
Stephen Chandler Paul
505dac94be gtk-demo: Add support for distance in event_axes
Signed-off-by: Stephen Chandler Paul <thatslyude@gmail.com>
2016-04-06 15:43:29 +02:00
Stephen Chandler Paul
6c2a078bf2 gtk-demo: Use GdkAxisUse instead of axis labels
Axis labels are very X specific, and are not really possible to port to other
backends such as Wayland. As such, it makes more sense to use GdkAxisUse and
GdkAxisUseFlag in order to determine the axis capabilities of a device and draw
their axes.

Signed-off-by: Stephen Chandler Paul <thatslyude@gmail.com>
2016-04-06 15:43:29 +02:00
Matthias Clasen
fab9c17b89 gtk3-demo: Show more button styles
Add examples for suggested-action and destructive-action
buttons in the style classes example.
2016-03-25 22:45:55 -04:00
Matthias Clasen
258ba6c8a4 gtk3-demo: Rename "CSS Theming" group
Call it just "Themeing" to avoid the repetition of CSS.
2016-03-25 22:45:55 -04:00
Matthias Clasen
73fe852be0 gtk-demo: Improve markup demo
Add squiggly underlines and background, and make the markup editable.

https://bugzilla.gnome.org/show_bug.cgi?id=763741
2016-03-21 13:32:40 -04:00
Carlos Garcia Campos
5107c4a75f gtk-demo: Rework foreigndrawing to use sizes from the theme
Instead of hardcoding the size of the widgets. This makes the output
closer to real widgets and fixes the blurry icons. I've also added a
scale.

https://bugzilla.gnome.org/show_bug.cgi?id=763758
2016-03-21 11:45:48 -04:00
Benjamin Otte
07a69b7247 gtk-demo: Fix copy/paste error
http://www.viva64.com/en/b/0383/
2016-03-20 05:32:35 +01:00
Carlos Garnacho
6fd05dfe53 gtk-demo: Handle GDK_TOUCH_CANCEL in event-axes demo
It is a thing in wayland, which means we leave traces from older
touches when the compositor takes over touch sequences in order
to handle a gesture.
2016-03-14 15:30:27 +01:00
Matthias Clasen
b7fd0147f7 gtk-demo: Fix a typo 2016-03-08 08:55:59 -05:00
Matthias Clasen
4357c22a89 gtk-demo: Update foreigndrawing example some more
The scrollbar changes need to take the theme's negative margins
into account.
2016-03-08 08:55:59 -05:00
Matthias Clasen
fdd3c912a0 gtk-demo: Try to fix foreigndrawing scrollbars
The node hierarchy and sizing has changed with the gadgetization
of range widgets.
2016-03-08 08:14:36 -05:00
Matthias Clasen
6d1cdaff7e gtk-demo: Use <accelerator>
Add an example of <accelerator> use in the builder example.
2016-03-05 23:44:03 -05:00
Matthias Clasen
7f9223b0c8 gtk-demo: Fix up the inline-toolbar example
The inline toolbar in the style classes demo should use
the icons toolbar-style to ensure that the buttons are square.
2016-03-04 20:50:21 -05:00
Matthias Clasen
435c8c9f0d gtk-demo: Strip newlines from g_warning and g_error
g_logv adds one for us already.
2016-02-28 12:23:12 -05:00
Matthias Clasen
0f3a211d35 gtk-demo: Simplify ui files a bit
Strip unneeded IDs.
2016-02-28 00:00:03 -05:00
Matthias Clasen
492fec6294 gtk-demo: Put hte app menu in a separate file
No need to cram it in the same file as the main window.
2016-02-27 23:43:06 -05:00
Matthias Clasen
9d5ad67c91 gtk-demo: Add some padding in sidebar
Add some padding on the right, to avoid the scrollbar and make
the sidebar appear balanced.
2016-02-27 23:35:33 -05:00
Matthias Clasen
87554eb57a widget-factory: Make the sliding opt-in
The sliding is a little disorienting, so turn it off by default
and add a checkbutton for it in the gear menu.
2016-02-27 23:12:15 -05:00
Matthias Clasen
a7a934a60c gtk3-demo: Update css
Clean up any deprecation warnings from the css examples in
gtk3-demo.
2016-02-27 22:39:09 -05:00
Matt Watson
a051e5677e widget-factory: transition pages
https://bugzilla.gnome.org/show_bug.cgi?id=762642
2016-02-25 19:49:45 -05:00
Benjamin Otte
d10bd41e43 widget-factory: Add myself
Actually, I wanted to have a radio toggle cell renderer for testing. But
hey, the commit message is supposed to say the important things!
2016-02-15 18:17:11 +01:00
Caolán McNamara
1d65e8b601 gtk-demo: add menu separator demo
doesn't much look like the menu separator in a real menu though.

https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 10:19:49 -05:00
Caolán McNamara
ee9c1c1449 gtk-demo: add combobox demos
https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 08:41:22 -05:00
Caolán McNamara
1131ae27a0 gtk-demo: add menu check and radio examples
note that if the "menu" context has no parent then the GTK_STATE_FLAG_NORMAL
menu entries are invisible against the white background.

https://bugzilla.gnome.org/show_bug.cgi?id=762080
2016-02-15 08:41:22 -05:00
Matthias Clasen
e0bf1289b9 gtk3-demo: Fontify all source files 2016-02-14 10:56:26 -05:00
Matthias Clasen
c0a61c2da3 gtk-demo: Streamline application
Avoid the odd #ifdef STANDALONE construction; we can show
multiple source files nowadays.
2016-02-14 10:56:26 -05:00
Matthias Clasen
fc90bd5e30 gtk-demo: Fix the size saving for CSD
We need to use gtk_window_get_size to get the correct size that
we can pass to gtk_window_set_default_size regardless of CSD
or not.
2016-02-14 10:56:26 -05:00
Matthias Clasen
3a499d61dc gtk-demo: Add window size saving example
Implement the recommendations from
https://wiki.gnome.org/HowDoI/SaveWindowState
in the Application Class example.
2016-02-13 23:03:18 -05:00
Matthias Clasen
7bca66e1ff gtk-demo: modernize the application demo
Subclass GtkApplication and GtkApplicationWindow
and use a template.
2016-02-13 23:03:18 -05:00
Matthias Clasen
29a7373802 widget-factory: Add an inline toolbar example
This pattern is still used in applications, so we should have it
represented here to keep it working well.
2016-02-13 17:11:59 -05:00
Caolán McNamara
5562f4f273 gtk-demo: spinbutton and menubar examples
https://bugzilla.gnome.org/show_bug.cgi?id=761900
2016-02-12 10:02:31 -05:00
Matthias Clasen
bfd254c932 gtk-demo: Add more foreign drawing examples
Add a notebook with an active tab.
Based on a patch by Caolan McNamara.
2016-02-10 21:20:34 -05:00
Caolán McNamara
671552043c gtk-demo: attempt at a notebook with active box-shadow in tab 2016-02-10 17:26:12 -05:00
Caolán McNamara
701cdda3dc gtk-demo: Add a menu to foreigndrawing
and demo that the block arrows require GTK_STATE_FLAG_DIR_LTR or
GTK_STATE_FLAG_DIR_RTL set to appear

https://bugzilla.gnome.org/show_bug.cgi?id=761828
2016-02-10 16:07:51 -05:00
Matthias Clasen
7ad6043478 gtk-demo: Improve the tag implementation
Add margins and make it so that clicking on margins next to
links does not activate them.
2016-02-10 00:07:37 -05:00
Matthias Clasen
5f01e6924f widget-factory: Update levelbar example
Set reasonable level offsets.
2016-02-07 15:05:57 +01:00
Carlos Garnacho
2c0446917d demos: Modify "Change display" demo to use seat grabs
The window picking feature was done through a pointer grab, replace
it by a seat grab on pointing devices.
2016-01-28 12:50:49 +01:00
Emmanuele Bassi
02800033d4 build: Missing build flags
The compiler and linker flags variables were renamed in the previous
commit.
2016-01-26 13:32:47 +00:00
Emmanuele Bassi
c8686f0c47 demo: Link against Harfbuzz
The font features demo started calling the Harfbuzz API directly
starting from commit 9de3b24c20. Harfbuzz
is an implicit dependency of Pango on some platforms, but it's not part
of the public dependencies; this means that we cannot expect to link to
Pango and automatically get Harfbuzz symbols to link against —
especially when things like --as-needed are in play.

This change triggered build failures on non-Unix platforms, fixed by
commit 2a9967731a, as well as build
failures in Continuous, with this error message:

/usr/lib/gcc/x86_64-gnomeostree-linux/4.9.3/../../../../x86_64-gnomeostree-linux/bin/ld:
font_features.o: undefined reference to symbol 'hb_tag_to_string'
//lib/libharfbuzz.so.0: error adding symbols: DSO missing from command
line
collect2: error: ld returned 1 exit status

In order to get the font features demo to build everywhere we should
take an explicit, though optional, check on Harfbuzz, and conditionally
build the font features demo with the right compiler and linker flags.
2016-01-26 11:46:48 +00:00
Chun-wei Fan
2a9967731a demos: Don't build font features demo on non-UNIX
The fonts features demo now uses fontconfig APIs via PangoFT2, which makes
the code not build on non-Linux, so only include this demo in the build
on UNIX.
2016-01-26 15:56:07 +08:00
Matthias Clasen
9de3b24c20 gtk-demo: Expand font features demo
Add more features to the list, allow selecting script/language
from the set that is supported by the font, indicate which
features are present in the font for the selected script/language,
and expand the default specimen to cover latin, cyrillic and
greek.
2016-01-25 22:26:21 -05:00
Matthias Clasen
ba582a4a19 One forgotten rename
Rename app-menu.ui to menus.ui in EXTRA_DIST too.
2016-01-24 20:10:45 -05:00
Matthias Clasen
792857c7b8 icon browser: Load app menu automagically
No need to manually create a builder and pass the resource to it,
just follow the conventions and have GtkApplication do it for us.
2016-01-24 20:01:33 -05:00
Matthias Clasen
873a024f5b widget-factory: Add a color editor example 2016-01-23 22:30:59 -05:00
Matthias Clasen
770e308c9e widget-factory: Ensure spinbuttons are sized right
GtkEntry now respects the padding set by the theme, so we
need to ask the spin buttons to show 2 characters, otherwise
they will be clipped.
2016-01-23 18:16:51 -05:00
Matthias Clasen
e1068255b3 gtk-demo: Fix font features sources
The resources had the prefix, causing the ui file not
to show up.
2016-01-19 22:47:19 -05:00
Matthias Clasen
cba7b2c56b Simplify foreign drawing example
This is code will be copied, so take out unnecessary complication.
2016-01-19 08:36:27 -05:00
Matthias Clasen
3fea7f296e gtk-demo: Add a progress bar to foreigndrawing
This is another commonly requested widget.
2016-01-18 23:40:38 -05:00
Matthias Clasen
7ee65da0e3 Add foreigndrawing example to gtk3-demo
This makes it easier accessible and nicer to refer to
from the documentation.
2016-01-10 15:32:53 -05:00
Timm Bäder
feba047574 gtk3-demo: Remove unused GtkCellView 2016-01-08 13:30:43 +01:00
Matthias Clasen
b387a966ce widget-factory: Make the notebook action truly circular
The sidebar-button class doesn't work out so well for this
since it has horizontal padding.
2016-01-04 21:32:19 -05:00
Matthias Clasen
e9aea98969 widget-factory: Rename outline radius in css
Rename all outline*radius properties to -gtk-outline*radius.
2015-12-22 16:20:09 -05:00