Commit Graph

481 Commits

Author SHA1 Message Date
Matthias Clasen
4470e5bc93 gtk-demo: Some touchups
Make the theming style classes demo look a bit less odd.
2019-12-12 18:46:53 -05:00
Benjamin Otte
f8a7f30a0d builder: Add GtkBuilderScope
GtkBuilderScope is an interface that provides the scope that a builder
instance operates in.
It creates closures and resolves types. Language bindings are meant to
use this interface to customize the behavior of builder files, in
particular when instantiating templates.

A default implementation for C is provided via GtkBuilderCScope (to keep
with the awkward naming that glib uses for closures). It is derivable on
purpose so that languages or extensions that extend C can use it.

The reftest code in fact does derive GtkBuilderCScope for its own scope
implementation that implements looking up symbols in modules.

gtk-widget-factory was updated to use the new GtkBuilderCScope to add
its custom callback symbols.
So it does it different from gtk-demo, which uses the normal way of
exporting symbols for dlsym() and thereby makes the 2 demos test the 2
ways GtkBuilder uses for looking up symbols.
2019-12-12 19:39:23 +01:00
Matthias Clasen
41bb40feee widget factory: Fix more grid layout fallout 2019-12-09 21:29:03 -05:00
Matthias Clasen
da063a8aa5 Fix up widget-factory ui 2019-11-29 08:34:09 -05:00
Matthias Clasen
be74be0e3b widget-factory: Fix a popover menu
This one is manually constructed, and things have
changed enough for that to break. Fix it up.
2019-11-27 17:41:44 -05:00
Benjamin Otte
b025ee428c builder: Connect signals automatically
gtk_builder_connect_signals() is no longer necessary, because all the
setup that made it necessary to have this extra step is now done
automatically via the closure functions.
2019-11-22 17:42:31 +01:00
Benjamin Otte
27d05102ab builder: Remove user_data argument from gtk_builder_connect_signals()
This is pretty unused and gets in the way of the next steps.

A potential side effect is that for templates the widget was passed as
the user data argument. If that turns out to be important, we have to
special case that situation.
2019-11-22 07:46:18 +01:00
Timm Bäder
542b95e7e8 widget-factory: Remove double border around textview
Replace the scrolledwindow border with two separator on top/bottom.
2019-10-09 16:57:22 +02:00
Timm Bäder
bcd8941769 widget-factory: Skip xml files in background selection dialog
The default contains a xml file for an animated background, so don't try
loading it as a pixbuf.
2019-10-09 16:57:22 +02:00
Timm Bäder
b5b81dea7f modelbutton: Rework
Create all the widgets on demand and use a box layout to arrange them
instead of manual size allocation.

Also don't inherit from GtkButton
2019-10-09 16:57:21 +02:00
Matthias Clasen
9501fc2c14 Merge branch 'nested-popover-menu' into 'master'
Nested popover menus

See merge request GNOME/gtk!1076
2019-09-10 01:09:31 +00:00
Timm Bäder
c3f82534bd widget-factory: Use proper setter to set has-arrow 2019-09-09 17:36:26 +02:00
Timm Bäder
d223752c55 infobar: Inherit from GtkContainer
infobars being a GtkBox doesn't make sense.
Also implement infobars without exposing internal children.

Closes #1957 because it adds the bottom border.
2019-09-09 17:36:25 +02:00
Timm Bäder
e62f10d5f0 widget-factory: Add a spinbutton in a list 2019-09-09 17:36:23 +02:00
Matthias Clasen
bc8d2add04 widget-factory: Add more submenus
Split the "Checks & Radios" submenu in the menubar
into two, so we can test opening multiple submenus.
2019-09-08 19:02:06 -04:00
Timm Bäder
ee27587428 scale: Add a destroy notify to set_format_value_func
Closes #2098
2019-08-15 17:21:47 +02:00
Timm Bäder
ea5fc348fa scale: Replace format-value signal
There is no reason for this to be a signal, since multiple handlers
don't make sense anyway. It was also broken because the scale needs to
know when a signal handler is added so it can update the value
representation.

Replace the signal with a set_format_value_func function which allows us
to do that.

Fixes #113
2019-08-09 14:30:01 +02:00
Timm Bäder
20d7b7f59b widget factory: add a tooltip to a button in a popover 2019-07-30 07:05:45 +02:00
Timm Bäder
1459ca2c26 widget factory: Plug a memory leak 2019-07-07 07:24:00 +02:00
Daniel Boles
33bd7051f2 widget-factory: Use correct StyleProvider priority
We are an application, not a user.

cherry-pick of !974
2019-07-02 09:09:47 +01:00
Matthias Clasen
fcf92eb6e7 widget-factory: Redo the context menu example
Redo the context menu on the page1 text view in
terms of actions.
2019-06-13 11:59:51 +00:00
Matthias Clasen
17ec958f30 Rename GtkPopoverBar to GtkPopoverMenuBar
Clarity over beauty.
2019-06-09 17:42:07 +00:00
Matthias Clasen
f1eb0724bd widget-factory: Move the popover bar to the ui file 2019-06-09 17:38:54 +00:00
Matthias Clasen
3d56a89506 widget-factory: Don't use Return as accel
This is a bad idea, as it interacts badly with
general use of Return for activation.
2019-06-09 17:38:54 +00:00
Matthias Clasen
d48a8fddab widget factory: Add mnemonics in popovers
These don't work!
2019-06-09 17:38:54 +00:00
Matthias Clasen
4d191aa0b5 widget factory: Redo the menubar with a model
No UI change intended, except for the fact that
actions don't do inconsistent states for checks
and radios.
2019-06-09 17:38:54 +00:00
Matthias Clasen
609f1659bd Rationalize popover menu apis
Make gtk_popover_new_from_model() return a GtkPopoverMenu,
rename it to gtk_popover_menu_new_from_model() and add
a relative_to argument to gtk_popover_menu_new().

Update all callers.
2019-06-09 17:38:54 +00:00
Matthias Clasen
0755491b77 widget factory: Add a context menu example
This is also taken from
https://gitlab.gnome.org/Teams/Design/os-mockups/blob/master/menus/menu-design-patterns.png
2019-06-09 17:38:53 +00:00
Matthias Clasen
06470c2378 widget factory: Improve manual popover menu example
Set up the size group, so things line up.
2019-06-09 17:38:53 +00:00
Matthias Clasen
84243d0f55 widget-factory: Redo the new-style menu
Do this from a menu model first, since that
is easier to get right.
2019-06-09 17:38:53 +00:00
Matthias Clasen
b4aac42605 widget-factory: Add another popover menu example
This one is taken from
https://gitlab.gnome.org/GNOME/gtk/issues/1824
2019-06-09 17:38:53 +00:00
Benjamin Otte
098f182d8f widget-factory: Show proper separators 2019-06-04 06:11:44 +02:00
Matthias Clasen
7f65e5f96b Rename GtkGestureMultiPress to GtkGestureClick
The name just made it hard for people to find the
right gesture to use.
2019-05-29 17:10:46 +00:00
Matthias Clasen
302d2a04ae Stop using gtk_widget_get_surface
Replace all uses of gtk_widget_get_surface by
gtk_native_get_surface.
2019-05-28 20:25:16 +00:00
Matthias Clasen
25aef96d5d popover: Rename modal to autohide
This is the term we use for the surface,
and it matches the behavior a bit better
than modal.

Update all callers.
2019-05-28 20:25:15 +00:00
Matthias Clasen
e95e39cbd3 widget-factory: Add some animation in a popover 2019-05-24 07:44:21 -04:00
Matthias Clasen
4594d82b14 widget-factory: Reinstate flat menu buttons 2019-05-21 19:05:41 -04:00
Matthias Clasen
3030e887a4 widget-factory: menu buttons can't have children
GtkMenuButton is no longer a container, so we
can't pack children in it.
2019-05-19 04:15:49 +00:00
Matthias Clasen
5368f98dd5 demos: Stop using gtk_button_clicked 2019-05-18 14:33:41 -04:00
Matthias Clasen
9d16715eb3 Merge branch 'menubutton-no-button' into 'master'
Menubutton: don't derive from GtkButton

See merge request GNOME/gtk!853
2019-05-18 13:13:48 +00:00
Matthias Clasen
0eb7784785 Update all users for menubutton changes 2019-05-18 13:06:32 +00:00
Timm Bäder
8e9ac826a1 widget-factory: Add icon-dropshadow class to large icon
Looks stupid without the shadow.
2019-05-18 13:47:59 +02:00
Matthias Clasen
92e21c3f1c Drop the can-default property
It was added at a time when default buttons
had a very large external border that would disrupt
aligment. Not a problem nowadays.
2019-04-28 23:28:39 +00:00
Matthias Clasen
fe3796ed5b widget-factory: Stop setting has-default in ui files
We can just set the default-widget property. The
special handling for has-default in ui files is
going away.
2019-04-28 23:21:51 +00:00
Matthias Clasen
aab803b7ae widget-factory: Make a resizing popover
Add an expander to a popover to test how
changing sizes works with popovers.
2019-04-27 18:00:22 +00:00
Matthias Clasen
e1200230c4 widget-factory: Add some nested popovers
These are mainly for stress-testing our
popover implementations.
2019-04-27 17:50:22 +00:00
Matthias Clasen
d3ad816d63 widget-factory: Add non-modal popovers
This makes is easy to test moving the toplevel
or repositioning the parent while the popover
is shown.
2019-04-27 17:50:14 +00:00
Matthias Clasen
f4e32f29e1 widget-factory: Update copyright line
Update the years to 2019, and use some better typography.
2019-04-16 18:09:46 -04:00
Matthias Clasen
226e0eadf0 widget-factory: Add an Inspector menu item
Just because we can.
2019-04-16 18:06:12 -04:00
Emmanuele Bassi
31b65e6721 demos: Update GtkGrid definitions in UI files 2019-04-05 00:12:26 +01:00
Matthias Clasen
41bb875221 widget-factory: Rename to org.gtk.WidgetFactory4 2019-04-02 00:27:33 +00: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
Emmanuele Bassi
3d6a456c85 Add release info to our demo apps
The appstream-util check performed by Flatpak on recent GNOME SDKs has
become more stringent, and now it requires a <release> tag in the
AppData XML file. If we don't have it, the Flatpak bundles of gtk-demo
and gtk-widget-factory will fail on our CI infrastructure.
2019-03-28 12:16:53 +00:00
Matthias Clasen
6b050a277e Convert ui files
Run gtk4-builder-tool simplify --3to4 over all ui files.
2019-03-27 20:03:59 -04: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
Benjamin Otte
ad5c5d477e revealer: Add swing transitions
And make the revealer on page 2 of the widget-factory use one.
2019-03-07 15:06:12 +01:00
Matthias Clasen
9e0c471b03 entry, spin button: Drop redundant API
Avoid duplicating GtkEditable APIs. Port existing users.
2019-02-28 16:34:00 -05:00
Matthias Clasen
ddea11b7b8 widget-factory: Use notebook pages in the ui file
This is the new way of doing things.
2019-02-21 00:31:17 -05:00
Matthias Clasen
0e11944166 widget-factory: Don't set can-focus on entries
The focus needs to be on the text inside, now.
2019-02-19 00:25:59 -05:00
Matthias Clasen
82fdd483d2 Add a missing icon
The view-refresh-symbolic icon is used in the data list
of the inspector. So ship it in gtk. No need to have
it in the demos, then.
2019-02-13 12:49:31 -05:00
Matthias Clasen
ce5f198c93 widget-factory: Include our own icons
Add enough icons as resources that gtk4-widget-factory
works without an installed icon theme.
2019-02-12 21:37:02 -05:00
Matthias Clasen
131c225598 Merge branch 'wip/jimmac/app-icons' into 'master'
Wip/jimmac/app icons

Closes #1658

See merge request GNOME/gtk!572
2019-02-09 15:09:59 +00:00
Matthias Clasen
a72b91ec94 Fix icon installation
This makes the apps pick up their awesome new icons.
2019-02-08 21:38:14 -05:00
Matthias Clasen
e0dac3ab73 widget-factory: Reinstate some lost properties
The code in gtk-builder-tool to preserve properties
has a bug, It lost these.
2019-02-08 10:34:32 -05:00
Matthias Clasen
4ace873046 Update ui files to new stack syntax
This conversion was done with the help of gtk4-builder-tool.
2019-02-08 00:09:44 -05:00
Matthias Clasen
ad9c2a624f stack: Convert child properties to a child meta object
Create a GtkStackPage public object which holds the former
child properties of GtkStack.

Adjust all callers.
2019-02-08 00:09:44 -05:00
Jakub Steiner
786322426a app icons: use new style
- update symbolic and fullcolor icons to use the new style
 See https://gitlab.gnome.org/GNOME/Initiatives/issues/2 for more info.

Fixes issue #1658
2019-02-06 16:01:14 +01:00
Emmanuele Bassi
589cb19715 demos: Drop the '+' from GTK
The demos have user-visible text that should refer to "GTK", not "GTK+"
any more.
2019-02-05 10:19:57 +01:00
Matthias Clasen
883d5d8584 box: Remove the position child property
The position child property is problematic, since it
requires us to emit notification for all children when
inserting a child early in the list of children.

Remove the property from all ui files.
2019-01-23 19:30:47 -05:00
Timm Bäder
e9e40ddb42 box: Remove gtk_box_pack_start 2019-01-23 19:30:46 -05:00
Timm Bäder
494e9d750a dialog: Expose the content area as a separate GtkBox child
This way, the "vbox" internal child does not contain anything by
default. It previously did contain "internal" widgetry like the action
area.
2019-01-23 19:30:46 -05:00
Timm Bäder
3a13515777 Stop using GtkBox's pack-type child prop in UI files 2019-01-23 19:30:46 -05:00
Jeremy Bicha
52bcf7fd46 widget-factory: Add Keyboard Shortcuts menu item
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/916
2018-09-30 20:43:53 -04:00
Jeremy Bicha
43997fb550 widget-factory: Rename About menu item to About Widget Factory
This follows the recommendation in
https://gitlab.gnome.org/GNOME/Initiatives/wikis/App-Menu-Retirement
2018-09-30 20:43:51 -04:00
Jeremy Bicha
c59669d376 widget-factory: Move app menu contents to primary menu
GNOME Shell 3.32 will remove support for the app menu
so we need to move its contents to the primary (hamburger)
menu.

widget-factory already had a primary menu.

The only item in the app menu was About.

https://gitlab.gnome.org/GNOME/Initiatives/issues/4
2018-09-30 20:43:41 -04:00
Matthias Clasen
ca9aa23619 Add devel style to demos
Lets show this off. Its cool.
2018-09-05 20:10:41 -04:00
Guido Günther
8fb8303ba0 demos: Make desktop file names match the application id 2018-08-02 12:15:43 +02:00
Matthias Clasen
7dabc2a42c Merge branch 'master' into 'master'
widgetfactory: add separator tool item to presentation

See merge request GNOME/gtk!249
2018-07-19 18:06:25 +00:00
Günther Wutz
1d4ce5a544 widgetfactory: add separator tool item to presentation 2018-07-17 21:50:19 +02:00
Benjamin Otte
cbb1e74bb5 textview: Only create cairo context in gtktextdisplay.c
Everything else is done using GtkSnapshot now, including renaming the
draw_layer vfunc to snapshot_layer.
2018-07-14 05:27:54 +02:00
Timm Bäder
2cc6a3ee5c widget factory: Use GtkPicture for background selection
Showing those background images as 16×16 icons doesn't look very nice.
2018-07-08 21:50:59 +02:00
Carlos Garnacho
e08e15ba51 gtkentry: Use gestures for entry icons
Instead of doing all handling manually in the ::event vfunc,
set up drag/multipress gestures on icon images, and implement
emission of ::icon-press/release and DnD there.

As a side effect, the GdkEvent field in ::icon-press/release
signals has been dropped. Callers that might be interested on it
may still use gtk_get_current_event*().
2018-06-21 12:50:57 +02:00
Benjamin Otte
c2ec738a2e widget-factory: Put gesture into ui file 2018-04-26 17:59:41 +02:00
Matthias Clasen
f0f2dd743f widget-factory: add emoji completion to an entry 2018-04-23 18:54:43 -04:00
Benjamin Otte
9cecf123f3 widget-factory: Use a pixbuf instead of a surface
This gets rid of the last user of
gdk_cairo_surface_create_from_pixbuf().
2018-04-12 14:03:58 +02:00
Chun-wei Fan
19ce520c2d build: Fix linking demos on Visual Studio
The demos are now built as GUI programs, which will require the presence
of WinMain() on Visual Studio builds, unless we specify the entry point.

Pass the /entry:mainCRTStartup linker flag on Visual Studio builds for
the demo programs so that they can link properly.

https://bugzilla.gnome.org/show_bug.cgi?id=773299
2018-04-02 19:11:50 +08:00
Matthias Clasen
63a7d99d25 widget-factory: Enable all details in the font chooser
We want to see this here.
2018-04-01 19:36:54 -04:00
Matthias Clasen
47d79a4257 Add appdata for gtk4-widget-factory
This will let us build a better flatpak for gtk4-widget-factory.
2018-03-20 20:05:15 -04:00
Alexander Larsson
695d141f32 Merge branch 'rename-window-to-surface' into 'master'
Rename window to surface

See merge request GNOME/gtk!72
2018-03-20 16:16:57 +00:00
Matthias Clasen
b83ba41f2d Merge branch 'accessible-role' into 'master'
gtkbuilder: add accessibility role declaration

Closes #109

See merge request GNOME/gtk!69
2018-03-20 15:46:20 +00:00
Alexander Larsson
63e060a21d GtkWidget: Start renaming widget->window
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*
2018-03-20 15:21:12 +01:00
Alexander Larsson
391727bd0d GdkWindow -> GdkSurface initial type rename
This renames the GdkWindow class and related classes (impl, backend
subclasses) to surface. Additionally it renames related types:
GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType,
GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge

This is an automatic conversion using the below commands:

git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass

git sed -f g GdkWindow GdkSurface
git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing
git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING
git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2"
git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE
git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo

git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE"
git sed -f g "broadway_window" "broadway_surface"
git sed -f g "BroadwayWindow" "BroadwaySurface"
git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE"
git sed -f g "wayland_window" "wayland_surface"
git sed -f g "WaylandWindow" "WaylandSurface"
git sed -f g "X11_WINDOW" "X11_SURFACE"
git sed -f g "x11_window" "x11_surface"
git sed -f g "X11Window" "X11Surface"
git sed -f g "WIN32_WINDOW" "WIN32_SURFACE"
git sed -f g "win32_window" "win32_surface"
git sed -f g "Win32Window" "Win32Surface"
git sed -f g "QUARTZ_WINDOW" "QUARTZ_SURFACE"
git sed -f g "quartz_window" "quartz_surface"
git sed -f g "QuartzWindow" "QuartzSurface"

git checkout NEWS* po-properties
2018-03-20 11:40:08 +01:00
Samuel Thibault
9561b97dc4 Fix some accessibility issues in demos
Fixes #110
2018-03-19 18:07:25 +01:00
Samuel Thibault
bd986f9534 gtkbuilder: add accessibility role declaration
This allows to override the role declared to the atk stack.  For
instance,

<accessibility>
  <role type="static"/>
</accessibility>

allows to tell the accessibility stack that a label is just a message in
a message box.

Fixes #109
2018-03-19 18:07:06 +01:00
Timm Bäder
f595c0dc1b widget-factory: Fix some layout issues
We have to explicitly set some of these to their default values so
expand-set is TRUE and the boxes stop propagating their expansion state
up the hierarchy.
2018-01-19 09:53:39 +01:00
Matthias Clasen
351559fcfa Simplify all ui files again
Now even simpler!
2018-01-18 17:53:44 -05:00
Matthias Clasen
ca227af4ff widget-factory: Stop connecting to ::delete-event
We can use GtkWindow::hide-on-close instead
2018-01-16 14:14:09 -05:00
Timm Bäder
358c139a43 gl renderer: Rework once more
Last time, I swear.
2017-12-21 19:12:30 +01:00
Matthias Clasen
76b93f5598 widget-factory: Avoid a legacy event handler
We can use a gesture instead, here.
2017-12-12 19:46:10 -05:00
Matthias Clasen
029a84aa74 Fix fallout from the show-close-button rename
I had overlooked ui files. We should really
validate those during build.
2017-12-08 11:29:14 -05:00
Benjamin Otte
f53848c360 textview: Redo clipboard handling
Instead of using GtkClipboard and handling everything ourselves, we now
put GtkTextBuffer into the GdkClipboard and register (de)serializers for
text/plain.
2017-12-03 05:46:48 +01:00
Benjamin Otte
a59572f96d widget: gtk_widget_get_clipboard => gtk_widget_get_old_clipboard
Just rename the function, so the previous one can be used for the
new clipboard.
2017-12-03 05:46:47 +01:00
Matthias Clasen
4930153413 Finish conversion of pixbuf cell renderer icon size
Change the name of the property from stock-size to icon-size,
and make it an enum property instead of uint. This makes it
impossible to specify invalid numeric values in ui files, and
at the same time makes it possible to refer to the existing
values by their nick.

Fix up the callers.
2017-12-01 10:36:17 -05:00
Matthias Clasen
b9035fc3a6 widget-factory: Fix up icon size handling
Make the icon grid on page 2 work with our new
approach to icon sizes.
2017-12-01 10:29:53 -05:00
Matthias Clasen
2301d8d90b enums: Change GtkIconSize values
The new values are the ones we intend to keep. The old ones had
duplicated meanings and nobody knew which one to take.
2017-11-15 14:22:17 -05:00
Benjamin Otte
a7754a14b5 toolbar: Remove icon sizes 2017-11-15 14:22:16 -05:00
Benjamin Otte
9323d098a6 gdk: Cursors no longer have a display
Change constructors to reflect that.

While doing so, also add a fallback argument to the cursor constructors,
so it is now possible to create cursors with fallback.
2017-11-04 00:07:13 +01:00
Benjamin Otte
9151e0b9f5 stylecontext: Port to use display instead of screen 2017-10-31 03:05:54 +01:00
Timm Bäder
9115291515 widget-factory: Don't leak GPropertyAction instances 2017-10-06 16:30:20 +02:00
Daniel Boles
f4ffd261db widget-factory: Demo different Frame border-styles
This shows not all, but the interesting/less predictable styles, and
the ones that correspond to the :shadow-types that were here before.
2017-10-02 20:22:41 +01:00
Daniel Boles
06bf049b1a Revert "widget-factory: Usefully demo Frame shadow types"
This reverts commit 6ee2bf6286.

There is a way to get different kinds of borders: it's CSS. It's better
to keep the 4 Frames and demo the different styles we can do using CSS.
2017-10-02 19:50:02 +01:00
Daniel Boles
6ee2bf6286 widget-factory: Usefully demo Frame shadow types
Instead of showing the 4 types except for GTK_SHADOW_NONE, which are all
treated identically and provide no way for themes to differentiate, just
keep 2 Frames, and make one of them GTK_SHADOW_NONE to demo a flat Frame
2017-09-14 18:35:08 +01:00
Emmanuele Bassi
391d1a04ec Drop Autotools build
We are officially switching to Meson as the default build system for
GTK+.
2017-08-14 22:23:09 +01:00
Matthias Clasen
f54aca20ee widget-factory: Add a use of show-emoji-icon
This also serves as a testcase for nested popovers
that was missing in widget-factory so far.
2017-08-12 18:50:50 -04:00
Daniel Boles
1f1e156007 widget-factory: Add tooltip to Entry icon
just to show we can.
2017-08-03 20:43:03 +01:00
Timm Bäder
4cf39f65b2 widget-factory: fix page 3 widget expand
The treeview/listbox on the left side should not expand.
2017-07-19 21:27:16 -04:00
Timm Bäder
2d3f57a420 widget-factory: Show the status bar by default
Since the action is also active by default.
2017-07-19 21:27:14 -04:00
Timm Bäder
af7781ce0f widget-factory: Remove invisible-char usage for spin buttons 2017-07-19 21:27:11 -04:00
Daniel Boles
322d9ca550 widget-factory: Use :relief=none, not class .flat
The rest of the ui file follows that convention.
2017-05-13 21:50:22 +01:00
Emmanuele Bassi
17518ef89b build: Improve consistency of the "coding" style
We're mixing a lot of styles in the Meson build files. This is an
attempt at making everything slightly more consistent in terms of
whitespace and indentation.
2017-05-03 15:10:57 +01:00
Tim-Philipp Müller
7966ab6001 meson: demos: disable add_install_script() calls that don't work right yet
Errors out. Might really wants a script and not a binary.
2017-05-03 15:10:53 +01:00
Tim-Philipp Müller
b6722b0a36 meson: demos: update and sync up with Makefiles 2017-05-03 15:10:53 +01:00
Timm Bäder
0748c415da meson: Build gtk utils 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
5475768d32 Meson build v2 2017-05-03 15:10:50 +01:00
Timm Bäder
2c174319ea widget-factory: Fix listbox row alignment 2017-05-01 21:21:40 +02:00
Timm Bäder
fb927d1993 box: Remove center child 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
4945e28f08 widget-factory: Add dummy listbox placeholder
It doesn't do anything and isn't visible anyway, but it tests that
adding and removing placeholders works
2017-04-25 20:29:02 +02: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
Timm Bäder
020d366ed6 widget-factory: Remove some gtk3-widget-factory leftovers 2017-01-20 21:33:37 +01:00
Timm Bäder
8b3f5ce9a4 widget-factory: Adapt to GtkWidget visibility changes
Make the infobar and the toolbar invisible by default and remove all the
lines showing the other widgets.
2017-01-20 21:33:37 +01:00
Matthias Clasen
b355c80977 widget-factory: Add a system tab to the about dialog
Just for trying it out.
2017-01-12 15:30:11 -05:00
Timm Bäder
d45e5ef3dc widget-factory: Use GtkButton:icon-name to construct icon buttons 2016-12-04 12:00:45 +01:00
Matthias Clasen
23354ff6e7 widget-factory: Better progressbar testing
Hook the two top progressbars up to the scale with marks.
Your turn, Lapo.
2016-11-14 08:21:31 -05:00
Matthias Clasen
b2284ef48f Fix widget-factory appearance, a bit
Use margins instead of border-width, for now.
2016-10-26 14:42:11 -04: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
Chun-wei Fan
306fd15c34 demos: Fix 'make install'
We need to change gtk-update-icon-cache to gtk4-update-icon-cache, as that tool
has been renamed.
2016-10-26 18:30:09 +08:00
Lapo Calamandrei
bec95e55e4 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-19 16:07:02 +02:00
Timm Bäder
8cafd3c5a7 menuitem: Stop implementing GtkActivatable 2016-10-18 00:29:18 +02:00
Timm Bäder
7e16396cc5 button: Stop implementing GtkActivatable 2016-10-18 00:29:18 +02:00
Benjamin Otte
4df6ddad54 API: container: Remove gtk_container_set_border_width() 2016-10-16 18:18:58 +02:00
Timm Bäder
5b00a31c30 widget-factory: Stop using custom icon sizes 2016-10-16 18:17:21 +02:00
Timm Bäder
f45dadadd0 box: Remove 'padding' child property 2016-10-16 18:17:21 +02:00
Matthias Clasen
ce74c3a5a5 Re-add missing files 2016-10-07 11:17:49 -04:00
Matthias Clasen
b337b405a3 Make the demos build 2016-10-07 10:34:50 -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
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
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
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
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
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
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
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
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
Matthias Clasen
5f01e6924f widget-factory: Update levelbar example
Set reasonable level offsets.
2016-02-07 15:05:57 +01: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
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
Benjamin Otte
fe9301ac1b widget-factory: Make things compile again
1e1064398c broke the build.

When I run make, I should make sure to run it in the right directory.
And not in the gtk/ subdirectory that will never build widget-factory...
2015-12-16 16:28:34 +01:00
Benjamin Otte
1e1064398c widget-factory: Disconnect clipboard watcher on close
The clipboard emit events after the button we connected it to was
already destroyed (on application close for example), so make sure we
don't try to use that dead button.
2015-12-16 15:44:52 +01:00
Matthias Clasen
63c4b9226c widget-factory: Add an entry completion
This was missing so far.
2015-12-05 14:11:06 -05:00
Alexander Larsson
0af457639d TextView: Use saner coordinate space in draw_layer.
When I added the draw_layer vfunc it accidentally got passed a cairo_t
that was configured with to draw in the viewport coordinate space (rather
than the buffer coordinate space). This makes things unnecessary complex,
because you have to convert between the two.

The pixel cache is shared between the text and the layers, so there is
no way to use draw_layer to get a stationary overlay effect. Thus it makes
much more sense for the draw_layer vfunc to draw in the buffer space.

Just changing this would break ABI for existing code, so this is fixed
by adding new layer types and deprecating the old ones.

Also, we use the new layer types to fix gtk3-widget-factory.

https://bugzilla.gnome.org/show_bug.cgi?id=757856
2015-11-10 08:39:47 +01:00
Matthias Clasen
306b6c6024 widget-factory: Add another notebook example
This example shows a scrollable notebook with action widgets.
2015-11-08 21:08:38 -05:00
Matthias Clasen
ef1bc737b0 widget-factory: Stop using deprecated API 2015-11-03 23:24:13 -05:00
Matthias Clasen
3306ce6819 widget-factory: Add an automatic help overlay
This commit add some more keyboard shortcuts to gtk3-widget-factory,
and adds a help overlay documenting them. This examle uses the
automatic resource loading support in GtkApplication.
2015-10-21 15:33:22 -04:00
Benjamin Otte
7439a7efda widget-factory: Remove libcanberra support
GTK cannot depend on libcanberra-gtk which depends on GTK. This causes
a circular dependency and is especially neat if installed GTK is
different enough from uninstalled GTK.
2015-09-21 21:58:04 +02:00
Kouhei Sutou
921930907b Add missing $(EXEEXT)
https://bugzilla.gnome.org/show_bug.cgi?id=754629
2015-09-14 23:15:23 -04:00
Matthias Clasen
b9322433d3 Update all ui files again
Replace translatable="1" by translatable="yes" so
xgettext stays happy and extracts the strings.
2015-09-13 23:26:16 -04:00
Matthias Clasen
3a503b7ba1 widget-factory: Simplify the ui file 2015-09-12 11:24:37 -04:00
Matthias Clasen
cf237eccbe widget-factory: Add a lock button 2015-08-10 22:43:19 -04:00
Matthias Clasen
7d91ca3183 widget-factory: Test busy state
Makes it easy to test insensitive state of widgets.i
Also exposes brokenness in the shell busy indicator...
2015-07-30 10:36:34 -04:00
Matthias Clasen
13b4500f52 widget-factory: hook up callbacks to the tab close buttons
Just to show that buttons in notebook tabs work.
2015-07-24 12:22:19 -04:00
Matthias Clasen
fa29a01c26 widget-factory: Make the circular button do something 2015-06-14 21:37:58 -04:00
Matthias Clasen
2af2189347 widget-factory: More popover examples
Add an example for text input in a popover. This leads to nested
popovers with touch selection, and does not currently work.
2015-06-13 21:10:25 -04:00
Matthias Clasen
94fc9f5211 widget-factory: Add horizontally linked entries
It happens in some places, so artists need an example to
make it look good.
2015-06-13 21:10:25 -04:00
Matthias Clasen
fe219a25b7 widget-factory: Improve touch selection example
Make the check buttons not take focus on click, so the popover
stays open.
2015-06-09 15:50:50 -04:00
Matthias Clasen
359d1951bc widget-factory: Improve context menu example
Show the text formatting in the menu / popover.
2015-06-07 01:24:13 -04:00
Matthias Clasen
e1942a8bb9 widget-factory: Demonstrate custom context menu items
Add bold/italics/underline styling to the context menu of
the 'Lorem ipsum...' text view in page 1. The point is not
to show good UI for this kind of styling, but to demonstrate
custom actions in the context menu / touch selection.
2015-06-07 01:12:18 -04:00
Cosimo Cecchi
345f2a484b Use built-in gtk-update-icon-cache
To generate the icon cache files.

We want to avoid a dependency loop if possible; additionally, on some
Debian-based systems gtk-update-icon-cache maps to the GTK2 version of
the utility and the GTK3 version is renamed to
gtk-update-icon-cache-3.0.

To avoid a build dependency on GTK2, use the binary that we just built
in-tree.

https://bugzilla.gnome.org/show_bug.cgi?id=749593
2015-05-24 12:08:33 -07:00
Matthias Clasen
90a8118838 Add a main category to desktop files
This makes desktop-file-validate happy.
2015-05-14 15:28:22 -04:00
Matthias Clasen
ea3190d0ac gtk3-widget-factory: Simplify ui file 2015-05-04 08:02:32 -04:00
Matthias Clasen
8e82d0fba2 widget-factory: Fix toolbar on page 3
Set toolbar-style to 'icons' to avoid rectangular buttons.
2015-03-19 19:11:39 -04:00
Matthias Clasen
d5d28a5062 widget factory: Add an example for an insensitive model button
This will make it easier to make insensitive model buttons
appear properly in other themes.
2015-03-16 14:05:48 -04:00
Matthias Clasen
25b610ef5e widget-factory: Add an insensitive toolbutton
This will help getting their theming right in HighContrast.
2015-03-15 22:54:02 -04:00
Matthias Clasen
de239ca31b widget-factory: Add tab close buttons
This will make it easier to fix issues with such buttons
in HighContrast.
2015-03-15 22:44:33 -04:00
Matthias Clasen
8d58b64c28 widget-factory: Stop using follow-state
The property is no longer needed, cell renderers now
always follow state.
2015-03-15 22:44:33 -04:00
Matthias Clasen
e1100813e6 widget factory: Don't make file chooser local-only
There's no reason to.
2015-02-18 17:28:07 -05:00
Lars Uebernickel
f3110e4103 Rename GtkSidebar to GtkStackSidebar
GtkSidebar is too generic and doesn't fully convey what the widget does.

https://bugzilla.gnome.org/show_bug.cgi?id=744094
2015-02-13 18:01:56 +01:00
Matthias Clasen
35a8d3d770 widget-factory: Add a combo box separator example
This shows that combo box separators are currently broken
in Adwaita.
2015-01-10 20:14:24 -05:00
Benjamin Otte
f0a40b1a23 widget-factory: Don't pulse dead widgets
Causes crashes at cleanup and we don't want those.

Also, code gets simpler.
2014-12-19 19:20:06 +01:00
Carlos Soriano
eec9a74304 widget-factory: Add a discontinuous GtkScale with marks
So designers can tweak the marks and developers can see how a
discontinuos scale is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=741117
2014-12-05 13:23:05 +01:00
Rui Matos
e629aba1a2 Drop remaining traces of GTK_UPDATE_ICON_CACHE build variable
Commit 655c75cab7 removed the need for
this variable but left a couple of uses in. Drop them.
2014-12-01 18:32:56 +01:00
Matthias Clasen
5bf640d344 widget-factory: Add a treeview separator row
Suggested in https://bugzilla.gnome.org/show_bug.cgi?id=740851
2014-11-29 18:49:46 -05:00