Make the inspector available via GTK_DEBUG
Change things around so GTK_DEBUG=interactive also brings up the inspector window.
This commit is contained in:
@ -51,7 +51,8 @@ typedef enum {
|
|||||||
GTK_DEBUG_NO_CSS_CACHE = 1 << 13,
|
GTK_DEBUG_NO_CSS_CACHE = 1 << 13,
|
||||||
GTK_DEBUG_BASELINES = 1 << 14,
|
GTK_DEBUG_BASELINES = 1 << 14,
|
||||||
GTK_DEBUG_PIXEL_CACHE = 1 << 15,
|
GTK_DEBUG_PIXEL_CACHE = 1 << 15,
|
||||||
GTK_DEBUG_NO_PIXEL_CACHE = 1 << 16
|
GTK_DEBUG_NO_PIXEL_CACHE = 1 << 16,
|
||||||
|
GTK_DEBUG_INTERACTIVE = 1 << 17
|
||||||
} GtkDebugFlag;
|
} GtkDebugFlag;
|
||||||
|
|
||||||
#ifdef G_ENABLE_DEBUG
|
#ifdef G_ENABLE_DEBUG
|
||||||
|
@ -175,7 +175,8 @@ static const GDebugKey gtk_debug_keys[] = {
|
|||||||
{"no-css-cache", GTK_DEBUG_NO_CSS_CACHE},
|
{"no-css-cache", GTK_DEBUG_NO_CSS_CACHE},
|
||||||
{"baselines", GTK_DEBUG_BASELINES},
|
{"baselines", GTK_DEBUG_BASELINES},
|
||||||
{"pixel-cache", GTK_DEBUG_PIXEL_CACHE},
|
{"pixel-cache", GTK_DEBUG_PIXEL_CACHE},
|
||||||
{"no-pixel-cache", GTK_DEBUG_NO_PIXEL_CACHE}
|
{"no-pixel-cache", GTK_DEBUG_NO_PIXEL_CACHE},
|
||||||
|
{"interactive", GTK_DEBUG_INTERACTIVE}
|
||||||
};
|
};
|
||||||
#endif /* G_ENABLE_DEBUG */
|
#endif /* G_ENABLE_DEBUG */
|
||||||
|
|
||||||
@ -976,10 +977,17 @@ gboolean
|
|||||||
gtk_init_check (int *argc,
|
gtk_init_check (int *argc,
|
||||||
char ***argv)
|
char ***argv)
|
||||||
{
|
{
|
||||||
|
gboolean ret;
|
||||||
|
|
||||||
if (!gtk_parse_args (argc, argv))
|
if (!gtk_parse_args (argc, argv))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
return gdk_display_open_default_libgtk_only () != NULL;
|
ret = gdk_display_open_default_libgtk_only () != NULL;
|
||||||
|
|
||||||
|
if (debug_flags & GTK_DEBUG_INTERACTIVE)
|
||||||
|
gtk_window_set_interactive_debugging (TRUE);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef G_PLATFORM_WIN32
|
#ifdef G_PLATFORM_WIN32
|
||||||
|
@ -12428,13 +12428,12 @@ _gtk_window_get_popover_position (GtkWindow *window,
|
|||||||
*rect = data->rect;
|
*rect = data->rect;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static GtkWidget *inspector_window = NULL;
|
||||||
gtk_window_toggle_debugging (GtkWindow *window)
|
|
||||||
|
void
|
||||||
|
gtk_window_set_interactive_debugging (gboolean enable)
|
||||||
{
|
{
|
||||||
static GType type = G_TYPE_NONE;
|
static GType type = G_TYPE_NONE;
|
||||||
static GtkWidget *inspector_window = NULL;
|
|
||||||
|
|
||||||
g_debug ("toggle debugging");
|
|
||||||
|
|
||||||
if (type == G_TYPE_NONE)
|
if (type == G_TYPE_NONE)
|
||||||
{
|
{
|
||||||
@ -12449,15 +12448,22 @@ gtk_window_toggle_debugging (GtkWindow *window)
|
|||||||
|
|
||||||
if (inspector_window == NULL)
|
if (inspector_window == NULL)
|
||||||
{
|
{
|
||||||
g_debug ("creating a GtkInspector window");
|
|
||||||
|
|
||||||
inspector_window = GTK_WIDGET (g_object_new (type, NULL));
|
inspector_window = GTK_WIDGET (g_object_new (type, NULL));
|
||||||
g_signal_connect (inspector_window, "delete-event",
|
g_signal_connect (inspector_window, "delete-event",
|
||||||
G_CALLBACK (gtk_widget_hide_on_delete), NULL);
|
G_CALLBACK (gtk_widget_hide_on_delete), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gtk_widget_is_visible (inspector_window))
|
if (enable)
|
||||||
gtk_widget_hide (inspector_window);
|
|
||||||
else
|
|
||||||
gtk_window_present (GTK_WINDOW (inspector_window));
|
gtk_window_present (GTK_WINDOW (inspector_window));
|
||||||
|
else
|
||||||
|
gtk_widget_hide (inspector_window);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_window_toggle_debugging (GtkWindow *window)
|
||||||
|
{
|
||||||
|
if (GTK_IS_WIDGET (inspector_window) && gtk_widget_is_visible (inspector_window))
|
||||||
|
gtk_window_set_interactive_debugging (FALSE);
|
||||||
|
else
|
||||||
|
gtk_window_set_interactive_debugging (TRUE);
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,8 @@ void _gtk_window_get_popover_position (GtkWindow *window,
|
|||||||
GdkPixbuf *gtk_window_get_icon_for_size (GtkWindow *window,
|
GdkPixbuf *gtk_window_get_icon_for_size (GtkWindow *window,
|
||||||
gint size);
|
gint size);
|
||||||
|
|
||||||
|
void gtk_window_set_interactive_debugging (gboolean enable);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
#endif /* __GTK_WINDOW_PRIVATE_H__ */
|
#endif /* __GTK_WINDOW_PRIVATE_H__ */
|
||||||
|
Reference in New Issue
Block a user