Commit Graph

37864 Commits

Author SHA1 Message Date
Matthias Clasen
46b6a32ef0 inspector: Reorder tabs 2014-05-10 22:04:31 -04:00
Matthias Clasen
bf46950a09 inspector: Move scrolledwindow into prop list template 2014-05-10 22:04:31 -04:00
Matthias Clasen
c744699201 inspector: Avoid a double scrolled window 2014-05-10 22:04:30 -04:00
Matthias Clasen
d4522f54e7 inspector: Make notebook scrollable 2014-05-10 22:04:30 -04:00
Matthias Clasen
6824527cc4 inspector: Add models to the tree
It makes sense to add the models of tree views, icon views
and combo boxes to the tree.
2014-05-10 22:04:29 -04:00
Matthias Clasen
d64a9615bc inspector: Make value ellipsized
The values can get long, so ellipsize them.
2014-05-10 22:04:29 -04:00
Matthias Clasen
2af94dff1c inspector: Add cell areas into the tree 2014-05-10 22:04:28 -04:00
Matthias Clasen
9467c56b94 inspector: Rename Widget Tree to Objects 2014-05-10 22:04:28 -04:00
Matthias Clasen
700657ad19 inspector: Deal with dying objects
The widget-tree was not safe against object just going away.
Fix this by using row references instead of iters where
necessary, and by using weak refs to clean up when objects
die.
2014-05-10 22:04:28 -04:00
Matthias Clasen
0dbfef5696 Trivial: shorten some variable names 2014-05-10 22:04:27 -04:00
Matthias Clasen
e9cc859051 inspector: Add a Label column
Move the UI strings over to that column, and use the buildable
ID for the name column, where available.
2014-05-10 22:04:27 -04:00
Matthias Clasen
1a6dd9fcd2 GtkApplication: implement the active-window property
This was apparently just forgotten.
First bug found by GtkInspector.
2014-05-10 22:04:26 -04:00
Matthias Clasen
8a6421ac30 inspector: Show the default GApplication in the tree
This is a handy object to have quickly available.
2014-05-10 22:04:26 -04:00
Matthias Clasen
83503cbf20 inspector: Don't flash the window initially
This is flickery, and not really necessary.
2014-05-10 22:04:26 -04:00
Matthias Clasen
768a437c02 Work around a GtkBuilder deficiency
It turns out that an <object> with just a <signal> in it does
not work right in GtkBuilder. Work around by adding a property.
2014-05-10 22:04:25 -04:00
Matthias Clasen
cda706b522 inspector: Don't show mapped/realized/visible in the tree
It does not really add much over the sensitive/insensitive rendering
that is already indicating which widget is mapped. At the same time,
set up signal handlers so we can update that when the widget changes.
2014-05-10 22:04:25 -04:00
Matthias Clasen
e249c6d6ee inspector: Don't leak signal handlers
Not only was the property list connecting to notify::bla for
each property individually, it was also leaking the signal
handlers when the selected object changed. Fix both.
2014-05-10 22:04:25 -04:00
Matthias Clasen
86adead803 inspector: Minimal support for attributes
Show mapping information for cell renderer properties; no editing
yet.
2014-05-10 22:04:24 -04:00
Matthias Clasen
e87addd9ae inspector: Show interfaces in the object hierarchy
This gives a more complete picture.
2014-05-10 22:04:24 -04:00
Matthias Clasen
bf9d22f10f inspector: Add columns and cell renderers to the tree
These are interesting objects that are worth displaying in the tree.
2014-05-10 22:04:23 -04:00
Matthias Clasen
4a68eb6250 inspector: Improve handling of object-valued properties
When showing the objects in the tree, use the property name
as the name thats shown in the list. This makes it easier
to differentiate e.g. hadjustment and vadjustment in a
GtkScrolledWindow.
2014-05-10 22:04:23 -04:00
Matthias Clasen
9b65955961 inspector: Fix object-valued properties
The code for dealing with object-valued properties had several
bugs that lead to crashes. This change makes it work.
2014-05-10 22:04:23 -04:00
Matthias Clasen
08f2456d5f inspector: Change label of widget tree
The tree contains other objects besides widgets, so label it
'Objects'.
2014-05-10 22:04:22 -04:00
Matthias Clasen
c9dba4b8e0 inspector: Show signals
Add a tab that shows available signals for each object. For now,
we only show if each signal has handlers connected or now. More
functionality will be added later.
2014-05-10 22:04:22 -04:00
Matthias Clasen
5fa71c69d8 inspector: Select a window initially
The list of toplevels also includes hidden combobox popups
and the like, so we have to be a little careful. To ensure
the right choice, we now pick the first visible window
that is not a GtkInspectorWindow.
2014-05-10 22:04:21 -04:00
Matthias Clasen
a3713b51ff inspector: Drop an unused function 2014-05-10 22:04:21 -04:00
Matthias Clasen
e586af3cf4 inspector: Make translatable
Mark strings in the source and in the templates as translatable.
We use the same extract-strings utility as for libgtk itself.
2014-05-10 22:04:20 -04:00
Matthias Clasen
643b6f147b Move modules/other/parasite to modules/inspector
No need for the extra subdirectory, and the name should
match the module name.
2014-05-10 22:04:20 -04:00
Matthias Clasen
ccff3e952d Rename parasite to gtkinspector
This avoids namespace collisions with the original
gtkparasite project, and adds the gtk prefix to
all symbols and type names.
2014-05-10 22:04:20 -04:00
Matthias Clasen
19bf88acfa Add a 'toggle-debugging' keybinding
This is bound to Ctrl-Shift-I (for inspector) by default.
It loads the gtkparasite module and opens a parasite window.
2014-05-10 22:04:19 -04:00
Matthias Clasen
7f9a0dbe16 Add private api to load a single module
In the following commits, this function will be used to load the
gtkparasite module.
2014-05-10 22:04:19 -04:00
Matthias Clasen
87e3484aa7 parasite: Don't open a window upon load
Instead, we want to let GTK+ open a window whose life-cycle
it can control. We just ensure that all our types are registered
when the module is loaded, so GTK+ can find them.
2014-05-10 22:04:18 -04:00
Matthias Clasen
38bbde200e parasite: Two fixes for the property cell renderer 2014-05-10 22:04:18 -04:00
Matthias Clasen
d7c5b55846 parasite: Some formatting cleanup 2014-05-10 22:04:18 -04:00
Matthias Clasen
36494dc8f4 parasite: Include file cleanup 2014-05-10 22:04:17 -04:00
Matthias Clasen
5b249be1f9 parasite: Use a template for window 2014-05-10 22:04:17 -04:00
Matthias Clasen
33ccb00221 parasite: some formatting tweaks 2014-05-10 22:04:17 -04:00
Matthias Clasen
33d2044406 parasite: Use a template for themes 2014-05-10 22:04:16 -04:00
Matthias Clasen
ee7cc6d189 parasite: Use a template for prop list 2014-05-10 22:04:16 -04:00
Matthias Clasen
ead05d0954 parasite: Use template for widget tree 2014-05-10 22:04:15 -04:00
Matthias Clasen
6f1a786413 parasite: Use template for classes list 2014-05-10 22:04:15 -04:00
Matthias Clasen
0eb330613b parasite: Use template for css editor 2014-05-10 22:04:15 -04:00
Matthias Clasen
3c22fc4ef6 parasite: Use template for object hierarchy 2014-05-10 22:04:14 -04:00
Matthias Clasen
3f5d21abec parasite: Use template for button path 2014-05-10 22:04:14 -04:00
Matthias Clasen
e43aeb9a1f parasite: Allow panes to shrink
The notebook is too wide.
2014-05-10 22:04:14 -04:00
Matthias Clasen
5fcd6ba21b parasite: Use the right icon name for inspect 2014-05-10 22:04:14 -04:00
Matthias Clasen
828acee981 parasite: Don't show hicolor as an icon theme
It really isn't.
2014-05-10 22:04:13 -04:00
Matthias Clasen
9bc7cfa6ba parasite: Don't show key themes
But show the builtin theme, even if it doesn't show up in the
filesystem.
2014-05-10 22:04:13 -04:00
Matthias Clasen
9fbb704418 parasite: Turn the inspect button back into an image button 2014-05-10 22:04:12 -04:00
Matthias Clasen
8f96238194 parasite: Make flashing work better
The positioning of the highlight window was not reliable; instead
just use a after-handler for the draw signal, in the same way that
drag highlights are drawn by GTK+ itself.

And copy the code for grabbing a widget via pointer from testgtk;
that code is known to work.
2014-05-10 22:04:12 -04:00