Matthias Clasen
351559fcfa
Simplify all ui files again
...
Now even simpler!
2018-01-18 17:53:44 -05:00
Matthias Clasen
182272c0ab
Revert "inspector: Stop adding event controllers to the object tree"
...
This reverts commit 8f3cb2658a
.
This didn't quite work out, since being in the object tree is
a prerequisite for showing up in the property editor.
2018-01-17 23:49:17 -05:00
Matthias Clasen
18dc994de7
inspector: Don't leak recordings
...
g_list_model_get_item is transfer full, so we need
to drop the references we get from it. This was showing
up while testing the GL texture cache in GtkGLArea.
2018-01-17 19:12:55 -05:00
Matthias Clasen
ab1f17cb9a
inspector: Stop using gdk_display_get_default_cursor_size
...
If the cursor theme size setting has no value, just hardcode 32.
Also, allow ridiculously large cursors, just for fun.
2018-01-16 23:25:50 -05:00
Matthias Clasen
370d666406
inspector: Avoid a critical
...
I forgot to initialized the text field when I added
it back.
2018-01-15 08:01:54 -05:00
Matthias Clasen
978c597e94
inspector: Some logging support
...
Add a way to toggle debug output on and off
from the inspector. For now, we don't add a
log viewer here, since that has the risk of
deadlock until we've the logging completely
separated by display, and also requires us
to install a log writer function, which
libraries are not supposed to do.
2018-01-14 17:05:04 -05:00
Matthias Clasen
f9100719bd
inspector: Turn off gsk debugging
...
We don't want debug spew from the renderer that
is used for the inspector window, so turn it off.
2018-01-14 17:05:04 -05:00
Matthias Clasen
1d2606dc94
Drop the cairo-recording debug flag
...
It is not very useful. The cairo-image option on the
other hand is has been useful in tracking down problems
in the past, so we'll keep it.
2018-01-14 17:05:04 -05:00
Matthias Clasen
08dc2cd6a8
Drop the gl-always debug option
...
This doesn't seem very useful.
2018-01-14 17:05:04 -05:00
Matthias Clasen
e151058dff
Make gdk logging per-display
...
As far as possible, use per-display debug flags.
This will minimize the debug spew that we get from
the inspector if it is running on a separate display.
2018-01-14 17:05:04 -05:00
Matthias Clasen
c5fc841285
gdk: Reorganize env vars
...
Drop GDK_GL, GDK_VULKAN and GDK_RENDERING_MODE.
Merge the useful bits into GDK_DEBUG.
Drop unused debug flags (CURSOR).
2018-01-14 17:05:04 -05:00
Matthias Clasen
4dbae1d4bf
Drop unused GDK_GL values
...
And document the existing ones.
2018-01-10 00:02:23 -05:00
Timm Bäder
8f3cb2658a
inspector: Stop adding event controllers to the object tree
...
There's a dedicated "Gesture" page for all the gestures.
2018-01-08 19:23:06 +01:00
Timm Bäder
f55be762e2
recorder: Fix a button tooltip
...
This button will save the selected node to a file, not all recorded
frames.
2018-01-04 12:20:27 +01:00
Matthias Clasen
5f608a1d07
Revert "inspector: Stop using GtkWidget::event"
...
This reverts commit 1268440c35
.
Turns out we'll keep ::event, so this was misguided.
2018-01-02 18:14:08 -05:00
Matthias Clasen
1268440c35
inspector: Stop using GtkWidget::event
...
This signal is going away.
2017-12-30 22:13:45 -05:00
Matthias Clasen
1c3f343baf
Remove font-name leftovers
...
There were still a few places where the font-name
property was used internally.
2017-12-21 12:18:53 -05:00
Matthias Clasen
9a7624b47a
inspector: Allow to bump scale to 3
...
Might as well allow this, for 'large scale testing'.
2017-12-17 16:40:10 -05:00
Timm Bäder
f7f0461471
recorder: Show rounded clip node corner size info
2017-12-09 13:14:59 +01: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
4ebbb19e25
inspector: Reorganize stack
...
There are too many stack elements in the main stack. So add a substack
for the pages that display common global state. The appropriate name I
found for it was "Global".
It's used to house the General, Visual, Resources and Statistics pages
for now.
2017-11-29 04:22:53 +01:00
Benjamin Otte
c60df96deb
inspector: remove visible=TRUE properties
...
This is the defualt these days.
2017-11-29 04:22:53 +01: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
Matthias Clasen
dbfaa99107
image: Remove icon-size argument from icon setters
...
Instead, add a function gtk_image_set_icon_size() for the cases where
overriding the icon size is necessary.
Treat icon sizes the same way as pixel sizes, too. So gtk_image_clear()
no longer unsets the icon size.
2017-11-15 14:22:17 -05:00
Benjamin Otte
f53b72e5ff
button: Get rid of icon size
...
In fact, make gtk_button_new_from_icon_name() just set the icon-name
property instead of creating a GtkImage.
2017-11-15 14:22:16 -05:00
Benjamin Otte
ed1b6a9bed
gdkwindow: Remove event_mask arguments from constructors
2017-11-13 23:41:38 +01:00
Benjamin Otte
cf2d549e92
widget: Implement gtk_widget_pick()
...
... and use it.
2017-11-05 05:13:17 +01:00
Emmanuele Bassi
481b5d1b89
Partially revert GskTexture → GdkTexture rename
...
Excessive use of sed when moving GskTexture to GDK; the GskTextureNode
should still live under the GSK namespace.
2017-11-04 15:06:00 +00:00
Benjamin Otte
c5a631b999
inspector: Unrealize renderer before unreffing
...
See previous patch for a description on why that is necessary.
`
2017-11-04 15:22:25 +01: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
ca3c23662c
GskTexture => GdkTexture
...
We want this thing to replace GdkPixbuf, so it has to live in GDK.
2017-11-04 00:07:13 +01:00
Timm Bäder
018daaeea8
rendernodeview: Use content size instead of allocated size
2017-11-03 10:47:02 +01:00
Daniel Boles
ff66de366c
Inspector: better default split of CSS nodes/props
...
Move the default pos of the Paned handle to 400px from the left, i.e.
50% of the default width of the window. The previous position at 300px
from left meant the node treeview was too narrow & could easily result
in the (useful) State column not being visible in the case of many
apps. The properties pane doesn't need to be as big as it was anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=788898
2017-11-01 20:24:55 +00:00
Benjamin Otte
2740f5eeee
inspector: Fix property being "display" now
2017-10-31 18:37:48 +01:00
Benjamin Otte
648d040395
widget: Remove gtk_widget_get_screen()
...
Replace the remaining users with "correct" code that does not need that
function anymore.
2017-10-31 08:25:37 +01:00
Benjamin Otte
4a43229d0b
invisible: Make it use display, not screen
2017-10-31 08:25:37 +01:00
Benjamin Otte
9151e0b9f5
stylecontext: Port to use display instead of screen
2017-10-31 03:05:54 +01:00
Benjamin Otte
481189867a
inspector: Use the new monitor change signals
...
And on't use the GdkScreen anymore now that the GdkDisplay provides all
the information we care about.
2017-10-30 02:30:44 +01:00
Timm Bäder
0be4166b89
inspector: Remove node != NULL check from recorder model
...
We use NULL to remove the selection.
2017-10-29 13:44:12 +01:00
Matthias Clasen
a48015d3c6
inspector: Show details for shadow nodes
...
One of the few node types that we're not detailing yet.
2017-10-28 14:30:03 -04:00
Matthias Clasen
ea91ab1d99
gsk: Make text nodes more compact
...
The copy of the PangoGlyphString we do here was showing up
in some profiles. To avoid it, allocate the PangoGlyphInfo array
as part of the node itself. Update all callers to deal with
the slight api change required for this.
2017-10-27 17:13:40 -04:00
Benjamin Otte
373b407bd2
Fix build
...
Don't do two things at once and forget to run ninja before pushing.
2017-10-24 18:26:08 +02:00
Benjamin Otte
8549e62d85
Add default return values to switch statements
...
We are using g_assert_not_reached() without doing anything, assuming it
aborts the program. In release builds however, it is ignored.
2017-10-24 18:21:03 +02:00
Matthias Clasen
6c74a8c755
inspector: Show more render node details
...
Should clip and container node details.
2017-10-24 15:24:23 +02:00
Matthias Clasen
dfaed90f67
inspector: show color matrix node details
...
Show the matrix and the offset for color matrix nodes.
2017-10-23 11:47:23 +02:00
Matthias Clasen
04f6b26205
gsk: Tweak text node apis
...
Rename getters to follow the peek naming pattern.
Update all callers.
2017-10-20 13:54:01 +02:00
Matthias Clasen
243bd4f0c8
gsk: Tweak cairo node apis
...
Rename the surface getter to peek, following other render
node getters, and make the surface-based constructor private,
since it is not something we want to encourage.
Update all callers.
2017-10-20 13:54:01 +02:00
Matthias Clasen
9e613be8c6
inspector: Show child bounds for repeat nodes
...
The more information, the better.
2017-10-08 09:02:35 -04:00
Benjamin Otte
43c212ac28
build: Enable -Wswitch-enum and -Wswitch-default
...
This patch makes that work using 1 of 2 options:
1. Add all missing enums to the switch statement
or
2. Cast the switch argument to a uint to avoid having to do that (mostly
for GdkEventType).
I even found a bug while doing that: clearing a GtkImage with a surface
did not notify thae surface property.
The reason for enabling this flag even though it is tedious at times is
that it is very useful when adding values to an enum, because it makes
GTK immediately warn about all the switch statements where this enum is
relevant.
And I expect changes to enums to be frequent during the GTK4 development
cycle.
2017-10-06 21:23:39 +02:00
Benjamin Otte
c1e9869329
build: Don't turn off critical warnings
...
-Wint-conversion is important because it checks casts from ints to
pointers.
-Wdiscarded-qualifiers is important to catch cases where we don't
strings when we should.
2017-10-06 16:03:08 +02:00
Benjamin Otte
2936953d9f
build: Remove old Makefile.inc files
...
They seem to have been forgotten in the meson transition
2017-10-06 16:03:07 +02:00
Matthias Clasen
ffaaba6676
inspector: Add gsk and vulkan information
...
Show the used gsk renderer, as well as some information
about Vulkan, in the General tab.
2017-10-03 21:06:50 -04:00
Benjamin Otte
e9dedc5036
inspector: GSK_IS_RENDER_NODE() does NULL-check
...
That means we don't need an extra one just so gcc can complain.
2017-09-30 20:23:11 +02:00
Matthias Clasen
5d698c1452
Recorder: Add details for inset and outset shadow nodes
2017-09-28 21:41:24 -04:00
Matthias Clasen
352b566179
Recorder: Show details about linear gradient nodes
2017-09-28 21:06:35 -04:00
Matthias Clasen
89261d18c2
Recorder: Show details of blur nodes
2017-09-28 19:48:42 -04:00
Matthias Clasen
5e4f7301d6
recorder: Show details for blend nodes
2017-09-28 19:40:03 -04:00
Matthias Clasen
0d8b2535d8
Recorder: Show details of crossfade nodes
2017-09-28 19:20:25 -04:00
Matthias Clasen
2d5a121c3c
recorder: Show details for opacity nodes
2017-09-28 19:14:32 -04:00
Matthias Clasen
9e9df66b81
Recorder: Show details of border nodes
2017-09-28 18:58:18 -04:00
Matthias Clasen
ae549c6ce4
recorder: Put text color in the right row
...
It ended up in the wrong place by accident.
2017-09-28 18:41:39 -04:00
Matthias Clasen
cddf415cbb
Recorder: Show colors visually for text too
...
Just because we can do it.
2017-09-28 18:37:47 -04:00
Matthias Clasen
2da234d70d
Reshuffle the recorder ui a bit
...
Make it possible to see the properties and the rendering at
the same time, it makes navigating easier.
2017-09-28 18:37:00 -04:00
Matthias Clasen
e58ee9ad52
recorder: Show surfaces and textures
...
This makes the properties list much more interesting.
2017-09-28 18:17:38 -04:00
Matthias Clasen
65bfdf4b15
recorder: Show text node properties
2017-09-28 17:16:41 -04:00
Matthias Clasen
149dd1f558
recorder: show color information for color nodes
...
A first step towards showing more information for render nodes.
2017-09-28 15:54:30 -04:00
Piotr Drąg
91bb86ca20
inspector: Mark missing strings for translation
2017-09-28 14:01:57 +02:00
Carlos Garnacho
261fdad7ca
inspector: Update to using GdkEvent API
2017-09-19 18:39:02 +02:00
Matthias Clasen
e2869853dc
gsk: Add a blur node
...
For now, this has just a fallback implementation using
the typical box filter approximation.
2017-09-04 14:28:16 -04:00
Matthias Clasen
4975aa7920
Add a render node for text
...
This is just a wrapper around a PangoGlyphString + PangoFont.
Basically, the arguments that are passed to pango_renderer_draw_glyphs.
2017-09-01 13:30:03 -04:00
Matthias Clasen
75115b122b
inspector: Add some tooltips
...
These buttons are not 100% obvious.
2017-09-01 12:04:40 -04:00
Matthias Clasen
c17f76cd54
inspector: Remove debug nodes setting from visual tab
...
No need to have the same setting in two places.
2017-09-01 12:04:33 -04:00
Matthias Clasen
04f1e19e00
inspector: Move debug nodes option
...
Put this option on the recorder page where it makes more sense.
2017-09-01 12:04:27 -04:00
Timm Bäder
edbe6b3360
inspector: Fix object title label alignment
...
Re-center it after the center-child removal in GtkBox and the addition
of GtkCenterBox.
2017-08-03 18:25:51 +02:00
Timm Bäder
36ab70ddf5
widget: Add baseline and out_clip parameters to size-allocate
...
Since setting a clip is mandatory for almost all widgets, we can as well
change the size-allocate signature to include a out_clip parameter, just
like GtkCssGadget did. And since we now always propagate baselines, we
might as well pass that one on to size-allocate.
This way we can also make sure to transform the clip returned from
size-allocate to parent-coordinates, i.e. the same coordinate space
priv->allocation is in.
2017-07-19 21:27:16 -04:00
Timm Bäder
5fbe26f396
inspector: Use GtkWidget::pick when picking widgets
2017-07-19 21:27:14 -04:00
Timm Bäder
cb8031fde3
inspector: Allow picking children of GtkWidget classes
2017-07-19 21:27:13 -04:00
Timm Bäder
88550b5d55
inspector: Show the GdkWindow before grabbing
...
Gets rid of a critical when trying to inspect widgets.
2017-07-19 21:27:12 -04:00
Timm Bäder
a2f7a076ac
inspector: Fix list row alignment in general tab
2017-07-19 21:27:12 -04:00
Timm Bäder
8db3478bf5
stackcombo: Set clip
2017-07-19 21:27:11 -04:00
Carlos Garnacho
a72404dd5a
gtk: Mass delete all GtkWidget event mask API
...
We now rely on toplevels receiving and forwarding all the events
the windowing should be able to handle. Event masks are no longer a
way to determine whether an event is deliverable ot a widget.
Events will always be delivered in the three captured/target/bubbled
phases, widgets can now just attach GtkEventControllers and let those
handle the events.
2017-05-25 16:25:58 +02:00
Tim-Philipp Müller
37d5938561
meson: update list of sources for changes in git master
2017-05-03 15:10:53 +01:00
Timm Bäder
409ed21594
meson: Sort input files by name
2017-05-03 15:10:52 +01:00
Timm Bäder
5475768d32
Meson build v2
2017-05-03 15:10:50 +01:00
Emmanuele Bassi
7a90e06a3c
Add Meson build files
...
Original work by: Jussi Pakkanen <jpakkane@gmail.com>
https://bugzilla.gnome.org/show_bug.cgi?id=769881
2017-05-03 15:10:50 +01:00
Timm Bäder
5c4934cfc0
Chain up in size-allocate implementations
...
Otherwise we're not setting an allocation at all.
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
7dc8489c8c
stack combo: Inherit from GtkWidget
2017-04-02 08:16:54 +02:00
Timm Bäder
a3bada37fb
css-editor: Remove unused if statement
...
The static local is set to NULL and never set to anything else, so we
never use it anyway.
2017-03-20 15:01:28 +01:00
Alexander Larsson
1fe4b13871
Allow custom renderer for the inspector
...
If you set GTK_INSPECTOR_RENDERER to the same type of
values that GSK_RENDERER takes this can change the renderer
used for the inspector. This is useful if you're debugging
one renderer and don't want to affect the inspector.
2017-03-17 16:12:45 +01:00
TingPing
47f4e44aec
Improve GContentType usage
...
Convert to content type where needed.
Should fix various issues on Windows and OS X.
https://bugzilla.gnome.org/show_bug.cgi?id=734946
2017-03-08 23:10:49 -05:00
Daniel Boles
ad5ff5f6d1
Inspector: Use Title Case for labels & menu items
...
https://developer.gnome.org/hig/stable/writing-style.html.en
https://bugzilla.gnome.org/show_bug.cgi?id=779147
2017-02-23 19:13:41 +00:00
Timm Bäder
c36ad400fa
recorder: Adapt to widget visibility changes
...
We now need to explicitly hide the details label.
2017-01-20 21:50:02 +01:00
Timm Bäder
ea897c6df4
Remove gtk_widget_show_all
2017-01-20 21:37:04 +01:00
Timm Bäder
132f2721ce
inspector: Use GtkButton:icon-name in ui files
2017-01-16 17:22:38 +01:00
Benjamin Otte
6055028c96
snapshot: Rename append APIs
...
Instead of having gtk_snapshot_append_foo_node(), just have
gtk_snapshot_append_foo(). Nobody needs to know that this internally
uses nodes.
2017-01-13 04:46:09 +01:00
Alexander Larsson
65ad2541d7
Snapshot: Only record names if inspector is recording
...
Otherwise we do a lot of allocations and vprintf calls which are
not used.
2017-01-11 10:22:40 +01:00
Timm Bäder
9aedbc376b
inspector: Don't try to access child props of non-containers
2017-01-07 17:19:30 +01:00
Timm Bäder
42f1ff0123
inspector: Show child widgets of widgets
2017-01-07 17:19:29 +01:00
Benjamin Otte
b993acfe2c
gsk: Add GskRepeatNode
...
Also add gtk_snapshot_push_repeat() and use that to draw backgrounds.
With that change, CSS background snapshots are created without Cairo
nodes.
2017-01-01 19:53:36 +01:00
Benjamin Otte
7540702cf0
gsk: Add GskColorMatrixNode
...
This node essentially implements the feColorMatrix SVG filter. I got the
idea yesterday after looking at the opacity implementation.
It can be used for opacity (not sure if we want to) and to implement a
bunch of the CSS filters.
2016-12-31 02:49:47 +01:00
Benjamin Otte
a36e5ceea7
cellrenderer: Remove render() vfunc
...
Make the last 2 cell renderers create the cairo node themselves.
2016-12-23 11:11:52 +01:00
Benjamin Otte
91c71b10e6
inspector: Add a render node save button
...
Now we can select buggy nodes, save them to a file, and add that file to
our testsuite.
2016-12-23 08:11:00 +01:00
Benjamin Otte
def94f03e2
debug: Add GTK_DEBUG=snapshot
...
This causes the snapshotting algorithm to dump all widget nodes into
their own container node. We then name that group accordingly (ie
"GtkSwitch<0xdeadbeef>") so you can easily see which node belongs where.
The feature is toggleable in the inspector's visual tab.
There's a few problems with it, becuse GtkSnapshot optimized container
nodes away if they are not needed, so we are losing some widgets...
2016-12-20 19:26:40 +01:00
Benjamin Otte
22a657004b
debug: Remove pixel-cache debug categories
...
We have no more pixel cache, so they are kind of useless.
2016-12-20 19:26:40 +01:00
Benjamin Otte
2034e83a20
gsk: Add GskOutsetShadowNode
2016-12-20 18:01:12 +01:00
Benjamin Otte
fcc1f554d6
gsk: Add GskInsetShadowNode
...
And again lots of shadow code gets copied to GSK. But we're now almost
at a stage where widget-factory does not use cairo nodes anymore.
2016-12-20 18:01:12 +01:00
Benjamin Otte
2480e0d575
gsk: Add GskShadowNode
...
... and make the icon rendering code use it.
This requires moving even more shadow renering code into GSK, but so be
it. At least the "shadows not implemented" warning is now gone!
2016-12-20 18:01:12 +01:00
Benjamin Otte
6e31fc4300
inspector: Print node type in node properties
2016-12-20 18:01:11 +01:00
Benjamin Otte
75b76af221
gsk: Add GskBorderNode
...
The node draws a solid CSS border, which can be used to cover everything
but dashed and dotted borders (double, groove, inset, ...).
For different border styles, we overlay multiple nodes and set their
colors to transparent for sides with non-matching styles.
2016-12-20 18:01:11 +01:00
Benjamin Otte
30438c6e8b
gsk: Add cross-fade node
...
And implement stack crossfades with it.
2016-12-20 18:01:11 +01:00
Benjamin Otte
e8cd71228a
gsk: Implement linear gradient render nodes
2016-12-20 18:01:11 +01:00
Benjamin Otte
cf520b7a1f
gsk: Add blend nodes
...
Implement blend mode support in GTK background compositing with it.
2016-12-20 18:01:11 +01:00
Benjamin Otte
3d5173d4ac
gtk: Fix memleaks
...
It turns out, some simple getters - such as
gdk_drawing_context_get_clip() - love copying things before returning
them.
I guess somebody has to burn cycles...
2016-12-20 18:01:10 +01:00
Benjamin Otte
23e35706b4
gsk: Add support for rounded clip rectangles
...
Also add support to GtkSnapshot, so people can push rounded clips.
2016-12-20 18:01:10 +01:00
Benjamin Otte
1f988d8b05
gsk: Add gsk_clip_node_new()
...
The node is a simple clipping node: It does a rectangular clip of its
contents.
2016-12-20 18:01:10 +01:00
Benjamin Otte
07d39299ea
gsk: Replace gsk_render_node_set_opacity()
...
... with gsk_opacity_node_new().
Also implement support for opacity in gtk_widget_snapshot() using this
new node.
2016-12-20 18:01:10 +01:00
Benjamin Otte
6129daf29b
gsk: Add gsk_color_node_new()
2016-12-20 18:01:10 +01:00
Benjamin Otte
361e2cda27
Call gsk_render_node_draw() instead of creating fallback renderers
2016-12-20 18:01:10 +01:00
Benjamin Otte
67fb129ed7
gsk: gsk_render_node_set_transform() => GskTransformNode
...
Instead of having a setter for the transform, have a GskTransformNode.
Most of the oprations that GTK does do not require a transform, so it
doesn't make sense to have it as a primary attribute.
Also, changing the transform requires updating the uniforms of the GL
renderer, so we're happy if we can avoid that.
2016-12-20 18:01:10 +01:00
Benjamin Otte
19753062c4
gsK: Move children handling to GskContainerNode
2016-12-20 18:01:09 +01:00
Benjamin Otte
d691dfc894
inspector: Prepare TreeModelRenderNode for brave new world
...
I'm about to move children handling to the container node, which means
the generic code can no longer assume children APIs existing.
So rewrite the treemodel to work without it.
2016-12-20 18:01:09 +01:00
Benjamin Otte
abd184efc9
gsk: Remove gsk_render_node_is_surface/texture()
...
Use gsk_render_node_get_node_type() instead.
2016-12-20 18:01:09 +01:00
Benjamin Otte
ff884385c0
gsk: Remove GskRenderNode::hidden
...
If you want to hide something, don't render it.
2016-12-20 18:01:09 +01:00
Benjamin Otte
582ea50faa
inspector: Add support for displayin the render region
...
Now I just need a UI designer that makes this look nice...
2016-12-05 15:02:47 +01:00
Benjamin Otte
e950a5190d
inspector: Pass the drawing context into the recorder
...
That way we can capture both the actual changes (clip region) and the
area that was redrawn (render region), which in OpenGL might not be
identical.
Nothing shows the render region yet though...
2016-12-05 15:02:47 +01:00
Benjamin Otte
d7876bde74
inspector: Remove leftover GDK_PRIVATE_CALL()s
2016-11-24 15:41:19 +01:00
Matthias Clasen
1af817e254
inspector: Respect text-scaling-factor value initially
...
This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774893
2016-11-23 19:16:16 -05:00
Christian Hergert
c14c9aca34
inspector: ensure controller is a GtkGesture
...
While GtkEventController implementations today are all GtkGesture, it is
possible to create a GtkEventController manually. This is an extrac check
to ensure we only add gestures to the list.
https://bugzilla.gnome.org/show_bug.cgi?id=774760
2016-11-23 14:03:13 -08:00
Emmanuele Bassi
4cbe079767
Use Graphene init macros for compound literals
...
The Graphene init macros can now be used for compound literals, which
means we need to update our mixed uses.
2016-11-21 16:21:38 +00:00
Benjamin Otte
aa084333c8
inspector: Redo recording list
...
- Make the rows larger
- Display the elapsed time between renderings
- Display if it was a full or a partial redraw
- Add a toggle button to display profiler info
2016-11-20 05:03:18 +01:00
Benjamin Otte
be237dbb5a
inspector: Pass the renderer when recording
...
... and collect the profiler information from the renderer.
2016-11-20 03:54:43 +01:00
Benjamin Otte
32adb31428
inspector: Record a "start" event whenever we start recording
2016-11-20 03:54:43 +01:00
Benjamin Otte
305ea71b97
inspector Reselect bottom row in recorder
...
When inserting a new recording and the bottommost row was selected,
select the newly added row. This way, you can observe the ongoing
recording.
2016-11-19 20:58:36 +01:00
Benjamin Otte
2745c2502f
snapshot: Move GtkSnapshot declaration to gtypes.h
2016-11-19 20:58:36 +01:00
Matthias Clasen
295066dad8
inspector: Show render node properties
2016-11-18 20:59:10 -05:00
Benjamin Otte
313a708006
snapshot: Convert inspector's RenderNodeView
2016-11-15 17:49:19 +01:00
Matthias Clasen
2d14217cd7
inspector: Cosmetic improvements to the recorder
2016-11-01 22:06:25 -04:00
Benjamin Otte
72a9c53262
inspector: Add a button to clear all recordings
...
Clears the recordings list, and even better: Frees all your memory.
2016-11-01 18:34:40 +01:00
Benjamin Otte
e02ff7c064
inspector: Collect statistics for unclassable types
...
I want to know how many GskRenderNodes I have!
2016-11-01 18:34:40 +01:00
Benjamin Otte
3741e6906e
inspector: Require toggling on/off of recording
...
This way, we don't eat up all your memory every time you start the
inspector.
2016-11-01 18:34:40 +01:00
Benjamin Otte
4673318028
inspector: Add list of render nodes to recorder
...
And make it possible to view the actually selected node in the view.
2016-11-01 18:34:40 +01:00
Benjamin Otte
4265c0e5b0
inspector: Next step in the recorder view
...
We now record all render operations and display them.
Warning: This is very brute force, you can't clear the recordings or
turn recording off. And this thing easily records 25MB per recorded
frame, so be careful to not run out of memory and get your browser
killed. ;)
2016-11-01 18:34:40 +01:00
Benjamin Otte
e6f711a94a
inspector: Add more infrastructure
...
This one introduces the Recording object which is essentially a single
instance of something that happened.
The RenderRecording is an instance of an actual rendering operation.
2016-11-01 18:34:40 +01:00
Benjamin Otte
98a500a434
inspector: Add outline for a new "recorder" tab
2016-11-01 18:34:40 +01: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
b69328eb74
inspector: Use the new APIs when displaying information
2016-10-29 04:49:47 +02:00
Timm Bäder
37e06f19e2
inspector: make use of GtkButton's icon-name property
2016-10-28 16:33:02 +02:00
Benjamin Otte
be8c0b27af
inspector: Don't connect to nonexisting signal
...
The GdkScreen::size-changed signal was removed a while ago.
And because signal changes don't trip the compiler, there are always
leftovers...
2016-10-27 06:14:01 +02:00
Benjamin Otte
48f5df5318
gtk: Add back infrastructure for GTK_DEBUG=updates
...
Includes the ability to turn on updates in the inspector. Animations are
now run via a tick function which allows us to neatly overlay a
semi-transparent red rectangle and fade it out over time.
It also probably enables way more, but somebody with more UI neatness
than me needs to figure out what it eanbles first...
2016-10-27 05:07:23 +02:00
Rico Tzschichholz
8abf05e194
gtk: Update path references from gtk-3.0 to gtk-4.0
2016-10-23 20:22:38 +02:00
Timm Bäder
a5867ffe71
Remove some more GdkColor properties
2016-10-20 20:12:08 +02:00
Benjamin Otte
dbeeaf7de6
cssprovider: Remove GError out argument from load functions
...
People should use the GtkCssProvider::parsing-error signal instead.
2016-10-17 16:52:05 +02:00
Emmanuele Bassi
24d59f6c34
inspector: Mark internal function as static
2016-10-17 11:10:14 +01:00
Benjamin Otte
e76ba9a3c3
gdk: Remove gdk_window_set_debug_updates()
...
The update tracking code was ugly and using deprecated drawing APIs. It
was also in the wrong place.
So instead of trying to keep it working, I'll remove it. We need to find
a better way to put it and make it work there.
2016-10-16 18:18:58 +02:00
Benjamin Otte
cda617df4d
API: sizegroup: Remove gtk_size_group_set_ignore_hidden()
2016-10-16 18:18:58 +02:00
Benjamin Otte
1518fe0a8f
API: stylecontext: Remove state argument from getters
...
The argument must always be the current state.
2016-10-16 18:18:58 +02:00
Timm Bäder
f45dadadd0
box: Remove 'padding' child property
2016-10-16 18:17:21 +02:00
Timm Bäder
c301357627
inspector: Remove object_title from css editor
...
It's unused
2016-10-16 18:17:21 +02:00
Benjamin Otte
662001b60a
API: Remove ability to set visuals on windows
...
And with it, gtk_widget_get_visual() and gtk_widget_set_visual() are
gone.
We now always use the RGBA visual (if available) and otherwise fall back
to the system visual.
2016-10-16 18:17:21 +02:00
Benjamin Otte
9222b4cd7c
inspector: Use display name instead of screen name
...
This is for future compatibility as they are guaranteed to be identical.
2016-10-16 18:17:21 +02:00
Benjamin Otte
266fd36f3f
inspector: Port to GdkMonitor
2016-10-16 18:17:21 +02:00
Matthias Clasen
0d00e0c3d3
Fix the build
2016-10-10 14:37:09 -04:00
Adam Jackson
434ce02ebe
Use eglGetPlatformDisplay{,EXT} if available
...
Calling eglGetDisplay forces libEGL to guess what kind of pointer you
passed it. Different EGL libraries will do different things here, and in
particular glvnd will do something different than Mesa. Since we do have
an API that allows us to explicitly type the display, use it.
The explicit call to eglGetProcAddress is working around a bug in
libepoxy 1.3, which does not understand the EGL concept of client
extensions. Since it does not, the normal epoxy resolver for
eglGetPlatformDisplayEXT would not find any provider for that entry
point, and crash when you attempted to call it.
Signed-off-by: Adam Jackson <ajax@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=772415
2016-10-10 14:17:09 -04:00
Adam Jackson
3b11575f0b
Fix some EGLDisplay * abuse
...
EGLDisplays are already opaque pointers, and eglGetDisplay returns an
EGLDisplay not a pointer to one.
Signed-off-by: Adam Jackson <ajax@redhat.com>
https://bugzilla.gnome.org/show_bug.cgi?id=772415
2016-10-10 14:17:09 -04:00
Matthias Clasen
74f3d7f6d3
Switch gettext domain from gtk30 to gtk40
2016-10-07 10:34:50 -04:00
Benjamin Otte
e1a03ead7a
Use NULL for generic marshallers in g_signal_new()
...
glib will use the correct marshaller automatically. And as a side
effect, we also get all glib optimizations, like a va marshaller.
2016-08-29 16:20:54 +02:00
Timm Bäder
a985e62b25
Use gtk_popover_popdown/popup where appropriate
...
https://bugzilla.gnome.org/show_bug.cgi?id=769706
2016-08-16 11:49:26 -04:00
Matthias Clasen
8430be75ed
Fix an array overrun
...
When I introduced the new input source enum value for
track points, I forgot that there is a fixed-size array
with names for those in the inspector.
2016-06-23 15:47:47 -04:00
Matthias Clasen
57d00e004a
inspector: Ellipsize accessible description.
...
This string can be long, and we don't want to break the ui
2016-06-05 20:56:52 -04:00
Chun-wei Fan
092cb9e202
GTK: Fix build for pre-C99 compilers
...
Some compilers we support, such as pre-2013 Visual Studio, does not support
for INIFINITY, log2() and exp2(), so check for exp2() and log2() during
configure, and use fallbacks for them and INIFINTY if they are not found.
https://bugzilla.gnome.org/show_bug.cgi?id=766207
2016-05-10 17:14:07 +08:00
Matthias Clasen
3952bd60a5
inspector: Port to new monitor api
...
Adapt to new monitor apis, and show more information.
2016-04-27 23:18:16 -04:00
Paolo Borelli
6225d435e6
inspector: do not leak seat capabilities descriprion
...
Factor out an utility function for readability and free the string
with the list of capabilities
2016-04-24 17:49:26 +02:00
Matthias Clasen
8a2061f581
inspector: Don't lie with statistics
...
If we don't have statistics, despite GOBJECT_DEBUG being set,
explain how to fix this.
2016-04-14 22:52:59 -04:00
Matthias Clasen
abff6e23c0
inspector: simplify some code
2016-04-09 15:48:34 -04:00
Matthias Clasen
af1c873bca
inspector: Use GdkAxes instead of GdkAxisUse
2016-04-09 12:14:33 -04:00
Matthias Clasen
d83ad00f9e
inspector: Add an origin mark to the slowdown scale
...
Makes it easier to get back to the original speed.
2016-04-09 11:56:08 -04:00
Matthias Clasen
e6c408c08a
inspector: Give the font scale an entry
...
This matches what Matt did for the slowdown.
2016-04-09 11:56:08 -04:00
Matt Watson
46b120b35e
inspector: add slider to control slowdown factor
2016-04-08 16:09:29 -07:00
Christoph Reiter
72346cb209
inspector: add slider for adjusting the font scale
...
https://bugzilla.gnome.org/show_bug.cgi?id=761435
2016-03-25 16:10:28 -04:00
Matthias Clasen
65927caf84
inspector: Look for themes in system data dirs
...
This matches what GTK+ does now.
2016-03-22 08:22:48 -04:00
Matthias Clasen
7cb36aba40
Load theme settings from the right location
...
When loading a per-theme settings.ini file, look for it in
the same directory where we found the gtk.css file for the
theme. Previously, we were always looking in
$prefix/share/themes/THEME/gtk-3.0/, even if the css was
loaded from somewhere else.
https://bugzilla.gnome.org/show_bug.cgi?id=641354
2016-03-21 22:19:19 -04:00
Matthias Clasen
5e68c4e62d
inspector: Reset the treewalk when required
...
The tree walk holds a tree iter, which will become invalid
when we either remove the row that it points to or remove
all rows.
Reset the tree walk in those cases to avoid a crash that
was pointed out by Bastien Nocera.
2016-03-11 13:53:57 -05:00
Matthias Clasen
2e34ce8f7c
inspector: Add api to get the current tree walk position
...
This will be used in the next commit.
2016-03-11 13:53:57 -05:00
Benjamin Otte
eeb945e4c1
inspector: Widgets update automatically when CSS changes
...
There's no need to force-invalidate their CSS.
2016-03-11 17:00:41 +01:00
Matthias Clasen
97250ea5e6
inspector: Add a switch for the layout debug flag
2016-03-11 00:22:36 -05:00
Matthias Clasen
2b773e07e3
inspector: Show the frame clock in misc
...
There is no convenient way to get a handle on the frame clock,
otherwise, and the frame clock object is where we show the frame
rate...
2016-03-10 16:21:35 -05:00
Matthias Clasen
30faa9a2a9
inspector: Refine strv editor
...
Put some spacing between the rows, and link the buttons to
the entries they belong to.
2016-03-09 21:59:43 -05:00
Matthias Clasen
6e9fd6832a
inspector: Do a better job with readonly properties
...
Say if they are non-writable or construct-only, and also
gray out construct-only properties in the list.
2016-03-09 21:59:43 -05:00
Matthias Clasen
c24cc63523
inspector: Minor refactoring
...
Break out some functions in prop-editor.c
2016-03-09 21:59:43 -05:00
Matthias Clasen
c1c8a861aa
inspector: Redo property lists a bit
...
Break out value types as a separate column, to make the
value column more readable.
2016-03-09 21:59:43 -05:00
Matthias Clasen
0c929b7124
inspector: Avoid overflow when editing doubles
...
The adjustment double properties allow values from -G_MAXDOUBLE
to G_MAXDOUBLE, which leads to overflow when calculating
max - min / 10. To avoid that, simply use a fixed page_size of 1.0.
2016-03-09 21:59:43 -05:00
Matthias Clasen
6af8e9f3cc
inspector: Wording changes
...
Align the property nicks of GtkCssNode with the column names
in the inspector node tree.
2016-03-09 19:29:58 -05:00
Matthias Clasen
f23c77b14b
inspector: Some more cleanup
...
The last commit left some unused functions behind.
2016-03-09 19:29:58 -05:00
Matthias Clasen
e5a5f0a59a
inspector: Remove an unncessary context menu
...
Now that we have the style properties on the same page again,
we don't need the context menu anymore.
2016-03-09 19:29:58 -05:00
Matthias Clasen
aa193ce4a4
inspector: UI refresh
...
The sidebar in the object page was using up more space than it deserves.
Replace it with a combo box in the subheader. Now that we have more space,
put the CSS node tree and the style properties in the same page again.
2016-03-07 00:24:15 -05:00
Matthias Clasen
4b5bcdeaa5
inspector: Drop the per-object CSS editor
...
The global editor is good enough for all uses.
2016-03-06 21:41:46 -05:00
Matthias Clasen
251810ff40
inspector: Avoid pointless selections
...
The CSS selector and the class hierarchy are purely
informative, no need to select anything here.
2016-03-05 00:35:08 -05:00
Matthias Clasen
e69c1c5a9b
inspector: More grid lines
...
I had forgotten the css property list.
2016-03-05 00:34:39 -05:00
Matthias Clasen
360bad6865
inspector: Some ui refinements
...
Remove pointless expanders from lists, add grid lines and,
in some places, tree lines.
2016-03-05 00:29:06 -05:00
Matthias Clasen
8b93c013c3
inspector: Simplify general tab setup
...
Factor out the code to create a listbox row with two labels,
and use it throughout.
2016-02-25 20:49:09 -05:00
Matthias Clasen
4f5f299266
inspector: React to device changes
...
Recreate the device section in the general tab when
devices come or go.
2016-02-25 20:28:23 -05:00
Ignacio Casal Quinteiro
53fe9c2b0c
inspector: use guint to fix the windows build
2016-02-25 15:25:19 +01:00
Matthias Clasen
fe4602acc5
inspector: Show ::num-touches for touch devices
...
This can be useful information.
2016-02-25 08:27:08 -05:00
Matthias Clasen
84ba01d713
inspector: Update for screen config changes
...
Repopulate the display section whenever the monitor configuration
changes.
2016-02-25 01:22:01 -05:00
Matthias Clasen
15ccdcd25b
inspector: Don't show numeric ids
...
The vendor and product ids for input devices aren't useful
as-is; need to figure out how to translate them to names.
2016-02-25 01:10:23 -05:00
Matthias Clasen
455935a06a
inspector: Show more device information
...
This adds vendor and product id and axes. This reveals that
the GDK backends have quite different quality when it comes
to returning meaningful information here.
2016-02-25 00:49:50 -05:00
Matthias Clasen
03db14c2d6
inspector: Show some basic device information
...
Add information about seats and their associated devices
in the General tab.
2016-02-25 00:17:09 -05:00
Matthias Clasen
13e5e83798
Add message contexts to translated strings
...
The string "None" is used in multiple contexts; add message contexts
to give translators a chance to translate them accordingly.
https://bugzilla.gnome.org/show_bug.cgi?id=762165
2016-02-16 18:33:16 -05:00
Benjamin Otte
f5d4fb1a0b
inspector: Don't use unused variables
...
Windows-specific refactorings broke this.
2016-02-11 04:14:56 +01:00
Benjamin Otte
76e56c5038
win32: Stop using _gdk_display global in device code
...
Use gdk_device_get_display() instead.
2016-02-11 03:44:47 +01:00
Timm Bäder
8ea573b473
css node tree: Fix crash
...
This function would return "" whenever the state of the css node was
unset, causing a crash when selecting the css node tree from the
sidebar.
2016-02-10 12:28:32 +01:00
Matthias Clasen
dc407dbc8f
inspector: Avoid crash in magnifier
...
We can't use gtk_widget_draw on widgets that are not allocated.
2016-02-08 09:34:24 +01:00
Benjamin Otte
fe6d4cbdf5
inspector: Drop type name from node list
...
It's not used anymore in the CSS, so people don't need to see it.
2016-02-05 19:31:47 +01:00
Benjamin Otte
b783670820
inspector: Don't hardcode builtin themes
...
Insteead, enumerate the resources that are available. Fixes windows
themes not being listed in the inspector.
2016-02-04 13:35:21 +01:00
Matthias Clasen
761120a5e2
inspector: Show CSS pseudoclass names for node state
...
This is a better fit for showing CSS node state, since one
commonly looks at this information to devise CSS selectors,
where the CSS names are needed.
2016-01-24 10:59:46 -05:00
Timm Bäder
d6f989f59c
Inspector: Plug a few leaks
2016-01-24 08:01:36 +01:00
Matthias Clasen
57baf6804b
inspector: Show baseline value
...
The misc info page already shows the allocation and clip areas,
the baseline fits right in.
2016-01-22 22:24:46 -05:00
Matthias Clasen
ffc4f8ee11
Forgotten file
2016-01-21 08:18:28 -05:00
Matthias Clasen
e33bda3078
inspector: Show full allocation + clip
...
Previously, we were only showing the size of the allocation
and clip area. But there is no good reason to hide the position
of these rectangles, so add them, in the traditional format
of X geometry strings: wxh+x+y
2016-01-20 22:52:05 -05:00
Matthias Clasen
449a9c419a
inspector: Refine typography
...
Use thin spaces in the formatting of monitor sizes.
2016-01-20 22:51:25 -05:00
Matthias Clasen
d28959c6db
inspector: Make cursor-size combo wider
...
Cursor sizes typically have 2 digits, lets not clip them.
2016-01-17 13:23:49 -05:00
Matthias Clasen
dc5c82e29c
inspector: Don't select 'randomly'
...
While rescanning the object tree, we were emitting ::object-selected
signals, possibly causing wild blinking in the application window.
Don't do that.
https://bugzilla.gnome.org/show_bug.cgi?id=760572
2016-01-13 23:24:38 -05:00
Matthias Clasen
a45b1d1e3c
inspector: Sort themes in the various theme combos
...
It is nicer if the themes show up in a predictable order,
so sort them alphabetically.
2016-01-07 19:56:05 -05:00
Matthias Clasen
ec02f055ed
inspector: Add HighContrastInverse to list of themes
2016-01-07 19:56:05 -05:00
Matthias Clasen
80a91722e5
inspector: Don't leak weak references
...
These come back to bite us when the inspector is no longer around
at the end of the program.
https://bugzilla.gnome.org/show_bug.cgi?id=759768
2015-12-26 21:42:10 -05:00
Matthias Clasen
787f600d33
inspector: Remove some dead code
...
Since commit bffeae6203
, the
tree path is not used for anything useful anymore, so do away
with it entirely.
2015-12-26 21:42:10 -05:00
Matthias Clasen
6a67df79a8
inspector: Avoid criticals in the css editro
...
We can't keep text iters around after text buffer has been
changed. Just clear the list errors when the buffer changes
before we've passed it again.
2015-12-20 14:43:14 -05:00
Timm Bäder
e8aa9b0440
Add a way to highlight resizing widgets
...
https://bugzilla.gnome.org/show_bug.cgi?id=759586
2015-12-18 16:20:19 +01:00
Lionel Landwerlin
776778efc8
inspector: Ensure clip is always shown
2015-12-17 01:14:31 +00:00
Matthias Clasen
117ab50922
inspector: Always show clip
...
It is less confusing than hiding it sometimes.
2015-12-16 19:24:43 -05:00
Carlos Garnacho
3f7eefb922
inspector: Use seat grabs for the "inspect widget" feature
...
And remove some usages of GdkDeviceManager API.
2015-12-16 19:47:07 +01:00
Benjamin Otte
26d536a69b
inspector: Fix quick-fix
...
Constructing GtkCssStyleChange objects without styles is forbidden, so
don't do it. Instead untangle the callback from the actual update
function and call that untangled function directly.
2015-12-15 01:15:51 +01:00
Benjamin Otte
971a277419
cssnode: Change style-changed signal
...
Instead of having old and new style, now have a GtkCssStyleChange opaque
object that will compute the changes you are interested in for you.
This simplifies change signal handlers quite a bit and avoids lots of
repeated computation in every signal handler.
2015-12-12 02:16:04 +01:00
Matthias Clasen
0ad259a178
inspector: Hide request mode for non-widgets
...
Only widgets have a request mode.
2015-12-11 17:12:44 -05:00
Matthias Clasen
326f4739ca
inspector: Redo the CSS node page
...
Showing two lists in a paned was a bit awkward, and space was
getting too limited. Go back to showing just the node list at
first, and make the CSS properties available via a stack. At
the same time, add a right-click context menu to the node list
to make the name and class editing more easily available.
2015-12-06 23:06:33 -05:00
Matthias Clasen
6f1c945010
inspector: Avoid a crash
...
gkt_cell_layout_get_area may return NULL, handle it.
2015-12-06 17:25:31 -05:00
Matthias Clasen
150728d6b0
inspector: Show the size request mode
...
This is not a property, so show it in the misc page.
2015-11-30 22:27:27 -05:00
Timm Bäder
df2cb5befc
inspector: Leave unneeded widgets out of source files
2015-11-24 11:17:10 +01:00
Matthias Clasen
036ee7a68b
inspector: Always underline at least one char
...
Empty underlines are hard to make out. Since we get somewhat
unreliable section information from the CSS parser, we just
make sure that we always underline at least one character.
2015-11-20 20:59:53 -05:00
Matthias Clasen
df55412ba2
inspector: Fix css warning tags
...
The builder syntax for tags was invalid here (why did this not
get flagged as error ?!). While we're at it, give the warning
underline a nice, orange color.
2015-11-20 20:35:39 -05:00
Matthias Clasen
ad49103b93
inspector: Show css parsing errors
...
The squiggly underline is useful, but seeing the error message
is much better, so show it in a tooltip.
2015-11-20 18:18:01 -05:00
Matthias Clasen
e9449f6014
inspector: Don't grow horizontally
...
Labels in the object tree are application data. Ellipsize them
to avoid growing extremely wide if the data is bogus.
2015-11-10 17:36:33 -05:00
Matthias Clasen
774b6f94d5
inspector: fix a typo
2015-11-10 17:36:23 -05:00
Matthias Clasen
b9613cc416
inspector: Some improvements to the CSS node tree
...
Set a min-content-height for the property list, and
allow horizontal scrolling.
2015-11-04 00:00:56 -05:00
Matthias Clasen
d077f627ef
inspector: Really show the selected CSS node
...
Try harder to scroll the selected CSS node into view.
2015-11-03 23:55:50 -05:00
Matthias Clasen
c711906f8c
inspector: Replace a use of gtk_button_set_focus_on_click
...
It is deprecated now.
2015-11-03 07:44:17 -05:00
Florian Müllner
e364ae3ea8
Use gtk_widget_set_focus_on_click() instead of deprecated setters
...
https://bugzilla.gnome.org/show_bug.cgi?id=757269
2015-11-03 07:44:17 -05:00
Benjamin Otte
7cdfee71da
inspector: Do not show transient nodes
...
This is kind of a hack the way it's implemented, but it's necessary
for performance to ignore transient nodes as they get created all the
time (via gtk_style_context_save()) and invalidate the whole treeview.
And that causes resizes and redrawing of the treeview and performance of
the inspector would go down the drain now that we display a larger part
of the node tree.
2015-11-02 20:32:12 +01:00
Benjamin Otte
81de33e906
inspector: Always show full CSS node tree
...
Just select the node of the current widget whenever a new one gets
selected.
2015-11-02 20:32:12 +01:00
Benjamin Otte
5c53e873b1
inspector: Track updates of node styles
...
When the CSS style of a node changes, we want to display the new values
in the inspector.
This for example allows to see how styles update on hover or during
animations.
2015-11-01 16:45:11 +01:00
Benjamin Otte
e0f4bf5d35
inspector: Store the current node in the priv struct
2015-11-01 02:42:36 +01:00
Benjamin Otte
b89939f5a4
inspector: Split out a function
2015-11-01 02:42:36 +01:00
Matthias Clasen
b6fda5dc0a
inspector: Show CSS node state
...
This is useful when debugging state propagation issues between
CSS nodes.
2015-10-31 00:07:19 -04:00
Matthias Clasen
af3789bb87
inspector: Drop the style property list
...
Style properties are now shown for each CSS node in the
CSS node tab, so we don't need a separate per-widget tab
for this.
2015-10-30 06:51:43 -04:00
Matthias Clasen
91af42263b
inspector: Drop the style classes list
...
Style classes can now be added/removed for each CSS node in
the CSS node tab, so we don't need a separate per-widget tab
for this.
2015-10-30 06:51:43 -04:00
Matthias Clasen
37eb5c08a4
inspector: Cosmetic changes to the hierarchy tab
...
Put the interfaces below GInterface.
2015-10-28 00:41:13 -04:00
Matthias Clasen
3869bdbc2b
inspector: Add css node style properties
...
Add a per-cssnode view of style properties.
2015-10-28 00:33:14 -04:00
Matthias Clasen
ed00d86496
inspector: Allow editing css node properties
...
This reuses the property editor infrastructure from the
property list pages. Good that css nodes are objects.
2015-10-26 23:39:51 -04:00
Matthias Clasen
6852a1eef9
inspector: Support editing interned string properties
...
Sadly, interned string properties cannot be handled generically
at all - GObject insists on inserting a strcpy in any attempt
to set a string property with generic api, destroying the
internedness of the string.
Therefore, we have to special-case GtkCssNode in the property
editor code :-(
2015-10-26 23:39:51 -04:00
Matthias Clasen
f55e3f7eda
inspector: Be more careful with dead objects
...
gtk_inspector_object_tree_find_object accesses the type information
of the object, so we can't safely use it on an already decaying
object when we get a weak notify. Instead just walk the tree and
compare pointers, that is safe.
https://bugzilla.gnome.org/show_bug.cgi?id=756852
2015-10-25 13:11:17 -04:00
Matthias Clasen
4305aa1def
inspector: Improve css node UI
...
All the other object pages have a title, this one was missing it.
Add one, so the page fits in with the rest.
2015-10-25 09:20:43 -04:00
Matthias Clasen
1e112ca75e
inspector: Allow editing strv-valued properties
...
These do occur in some places, and we can easily allow editing
them.
2015-10-25 02:14:04 -04:00
Matthias Clasen
e0d9250a07
inspector: Show names for css nodes
...
Currently, we don't have any css nodes with names, but we will soon.
2015-10-22 20:58:08 -04:00
Sébastien Wilmet
9d3e9c9375
inspector: remove gtk_text_buffer_get_iter_at_line_index() workaround
...
The function is now safe to use.
https://bugzilla.gnome.org/show_bug.cgi?id=735341
2015-10-16 08:43:27 +02:00
Matthias Clasen
47237ddd94
inspector: Add a reset button for settings
...
This is exercising the new gtk_settings_reset_property api.
https://bugzilla.gnome.org/show_bug.cgi?id=755008
2015-10-03 22:42:12 -04:00
Matthias Clasen
ac72a9cedc
inspector: Ellipsize the accessible name
...
It can be long, and we don't want the inspector to grow excessively.
2015-09-23 07:01:15 -04:00
Benjamin Otte
bcc0a54383
inspector: Store the parent for the object tree
...
This allows selecting newly added random objects.
https://bugzilla.gnome.org/show_bug.cgi?id=754987
2015-09-14 23:36:37 +02:00
Benjamin Otte
bffeae6203
inspector: Handle object destruction without row references
...
This way, we can live without row references.
A side effect is that opening the inspector on the gtk-demo list box
example now only takes 0.5s instead of the previous 3 minutes.
2015-08-26 16:33:52 +02:00
Benjamin Otte
1f2bd47965
inspector: Implement find_object() without GtkTreeRowReference
...
Tree row references are slow to update. And we update the widget list
quite a bit, so when it grows it can get REALLY slow.
2015-08-26 15:46:07 +02:00
Benjamin Otte
c7ed2c2130
inspector: Refactor object tree construction
...
Instead of having lots of if statements, create a vtable. This will be
useful for the following patches.
2015-08-26 15:46:07 +02:00
Timm Bäder
571da2a8b3
Inspector: Protect against childless windows
2015-08-26 12:04:44 +02:00
Timm Bäder
30d56933d4
Inspector: Make monitor rows unactivatable
2015-08-25 18:11:46 +02:00
Matthias Clasen
56d39241a9
inspector: Fix a typo
...
Blocking a signal should be paired with unblocking.
Spotted by Krzesimir Nowak
2015-08-04 07:11:34 -04:00
Matthias Clasen
142efd186d
Inspector: Preserve selection when rescanning
...
We are semiregularly repopulating the object tree. Whenever
we do, we loose the selection, needlessly. Do the extra work
to preserve it.
http://bugzilla.gnome.org/show_bug.cgi?id=753130
2015-08-02 15:20:17 -04:00
Matthias Clasen
df50858dfd
inspector: Show monitor information
...
This is useful to verify the monitor information returned by
other backends.
2015-07-28 01:14:49 -04:00
Matthias Clasen
bc68600cb0
inspector: Show wayland display information
...
Don't call it "X display" when we show useful information under
Wayland as well.
2015-07-28 00:46:34 -04:00
Matthias Clasen
5c2759af3c
Use standard cursor names
...
This changes GTK+ to use gdk_cursor_new_from_name() with the
'standard' css names, instead of GdkCursorType.
https://bugzilla.gnome.org/show_bug.cgi?id=652085
2015-07-26 01:45:06 -04:00
Matthias Clasen
9a44f18940
inspector: Add a function to rescan
...
Currently, we only ever scanned the toplevel list and
widget tree once. That is not enough.
2015-07-23 21:27:37 -04:00
Matthias Clasen
c27b90cc79
Fix the build
2015-07-17 20:45:28 -04:00
Matthias Clasen
d8a40c4587
inspector: Avoid a NULL deref
...
Coverity pointed out that getting a class name requires
dereferencing the pointer, so only don't do it if it is NULL.
2015-07-17 19:52:52 -04:00
Matthias Clasen
2eb39a3b7a
inspector: Remove some dead code
...
Not sure what I was thinking here. Coverity pointed this out.
2015-07-17 18:47:39 -04:00
Matthias Clasen
ff86433ea1
inspector: Avoid a NULL deref
2015-07-17 18:42:24 -04:00
Matthias Clasen
1b8d06da2d
inspector: Check a return value
...
We don't care about the error here, but we were relying on
g_resources_get_info to zero the size even in case of error.
No need to do that, we can just check the return value. Plus,
it makes coverity happy.
2015-07-17 16:11:16 -04:00
Matthias Clasen
f960d4f486
inspector: Annotate a call whose return value we don't need
...
The way this code is written, we know that there is an item in
the hash table and the iter_next call will give it to us, so
no need to check the return value. Annotate the call to tell
coverity.
2015-07-17 16:11:16 -04:00
Matthias Clasen
02577ddb06
inspector: Avoid a gratitious use of g_strv_length
...
No need to count the strings first before iterating over them.
2015-07-16 23:42:55 -04:00
Emmanuele Bassi
e259b2f30d
Avoid O(n²) walking of string arrays
...
"Yo, we heard you like traversing NULL-terminated arrays to operate on
them, so we called g_strv_length() as the for condition, so you can
iterate the array while iterating the array."
Instead of making famed rapper and television producer Xzibit proud, we
should avoid calling g_strv_length() on an array while looping on the
array, to avoid quadratic complexity.
We do this in various places that deal with arrays of strings that we
cannot really guess are short enough not to matter — e.g. the list of
CSS selectors in the inspector, or the required authentication
information for printing.
2015-07-16 16:19:55 +01:00
Christian Hergert
fa6f956489
inspector: allow object read-only properties in prop-editor
...
If we have a GObject property that is also a GObject, we should be able
to view additional information on that object (even if the param spec
is read-only).
2015-05-05 22:00:54 -07:00
Timm Bäder
b08a1702d1
inspector/misc-info: Fix typo
2015-05-02 17:27:29 +02:00
Chun-wei Fan
efd3758f6a
gtk/inspector/css-node-tree.c: Fix Build
...
strcasecmp() is unfortunately not universally available, along with
strings.h. Fix the build by replacing strcasecmp() with
g_ascii_strcasecmp(), and remove the strings.h include.
https://bugzilla.gnome.org/show_bug.cgi?id=747604
2015-04-10 17:18:07 +08:00
Ignacio Casal Quinteiro
7719784733
inspector: fix warning about not using the right format for an int64
2015-03-24 13:36:36 +01:00
Vadim Rutkovsky
3211e82b59
inspector: show accessible name and description
2015-03-19 17:01:23 +01:00
Bastien Nocera
7dac38f841
inspector: Make it easier to cut'n'paste advice message
...
The message says "Enable statistics with GOBJECT_DEBUG=instance-count"
but the message itself isn't selectable, making it hard to cut'n'paste.
https://bugzilla.gnome.org/show_bug.cgi?id=746391
2015-03-18 22:05:46 -04:00
Benjamin Otte
d55c261079
inspector: Add a new page that lists the CSS node tree
2015-03-18 15:23:33 +01:00
Carlos Garnacho
70e7b4c848
inspector: Remove flash timeout from widgets being unmapped
...
Otherwise the timeout can keep running, even if the widget is being
destroyed.
2015-03-16 16:29:37 +01:00
Matthias Clasen
073a9c9cd5
inspector: Add some margin to css editor
...
Requested in
https://bugzilla.gnome.org/show_bug.cgi?id=745918
2015-03-10 14:07:27 -04:00
Carlos Garnacho
85ad434290
inspector: Destroy popovers on unmap
...
As an implementation detail, the popover hooks the fade out animation
on ::hide. Destroying the popover right away here is not a problem, but
prevents the animation from actually running. ::unmap will be run after
the animation is finished, so destroy the popover there.
2015-02-20 14:44:17 +01: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