Move buttons to top and provide textual information about currently
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de> * tests/testextendedlayout.c: Move buttons to top and provide textual information about currently hovered widget. svn path=/branches/extended-layout/; revision=18299
This commit is contained in:
committed by
Mathias Hasselmann
parent
32ec6ad779
commit
9f981fcebb
@@ -1,3 +1,8 @@
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Move buttons to top and
|
||||
provide textual information about currently hovered widget.
|
||||
|
||||
2007-06-29 Mathias Hasselmann <mathias.hasselmann@gmx.de>
|
||||
|
||||
* tests/testextendedlayout.c: Move code to setup UI
|
||||
|
||||
@@ -461,7 +461,6 @@ create_baseline_test_hbox (TestSuite *suite)
|
||||
{
|
||||
label = gtk_label_new (NULL);
|
||||
gtk_label_set_markup (GTK_LABEL (label), captions[j]);
|
||||
|
||||
test_case_append_guide (test, label, GUIDE_BASELINE, i);
|
||||
|
||||
if (0 == j && i > 1)
|
||||
@@ -485,6 +484,7 @@ create_baseline_test_hbox (TestSuite *suite)
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (bin), label);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), bin, FALSE, TRUE, 0);
|
||||
test_case_append_guide (test, bin, GUIDE_BASELINE, i);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1243,6 +1243,64 @@ find_widget_at_position (GtkWidget *widget,
|
||||
return widget;
|
||||
}
|
||||
|
||||
static void
|
||||
update_status (TestSuite *suite,
|
||||
GtkWidget *child)
|
||||
{
|
||||
const gchar *widget_name = gtk_widget_get_name (child);
|
||||
const gchar *type_name = G_OBJECT_TYPE_NAME (child);
|
||||
GString *status = g_string_new (widget_name);
|
||||
|
||||
if (strcmp (widget_name, type_name))
|
||||
g_string_append_printf (status, " (%s)", type_name);
|
||||
|
||||
g_string_append_printf (status,
|
||||
": pos=%dx%d; size=%dx%d",
|
||||
child->allocation.x,
|
||||
child->allocation.y,
|
||||
child->allocation.width,
|
||||
child->allocation.height);
|
||||
|
||||
if (GTK_IS_EXTENDED_LAYOUT (child))
|
||||
{
|
||||
if (GTK_EXTENDED_LAYOUT_HAS_BASELINES (child))
|
||||
{
|
||||
gint *baselines = NULL;
|
||||
gint num_baselines = 0;
|
||||
gint i;
|
||||
|
||||
num_baselines =
|
||||
gtk_extended_layout_get_baselines (GTK_EXTENDED_LAYOUT (child),
|
||||
&baselines);
|
||||
|
||||
for (i = 0; i < num_baselines; ++i)
|
||||
{
|
||||
g_string_append_printf (status, "%s%d",
|
||||
i ? ", " : num_baselines > 1 ?
|
||||
"; baselines: " : "; baseline: ",
|
||||
baselines[i]);
|
||||
}
|
||||
|
||||
g_free (baselines);
|
||||
}
|
||||
|
||||
if (GTK_EXTENDED_LAYOUT_HAS_PADDING (child))
|
||||
{
|
||||
GtkBorder padding;
|
||||
|
||||
gtk_extended_layout_get_padding (GTK_EXTENDED_LAYOUT (child),
|
||||
&padding);
|
||||
|
||||
g_string_append_printf (status, "; padding: %d/%d/%d/%d",
|
||||
padding.top, padding.left,
|
||||
padding.right, padding.bottom);
|
||||
}
|
||||
}
|
||||
|
||||
gtk_label_set_text (GTK_LABEL (suite->statusbar), status->str);
|
||||
g_string_free (status, TRUE);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
watch_pointer_cb (gpointer data)
|
||||
{
|
||||
@@ -1276,12 +1334,17 @@ watch_pointer_cb (gpointer data)
|
||||
if (test)
|
||||
{
|
||||
g_assert (child);
|
||||
|
||||
if (child != suite->current)
|
||||
update_status (suite, child);
|
||||
|
||||
suite->current = child;
|
||||
dirty = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
dirty = (NULL != suite->current);
|
||||
gtk_label_set_text (GTK_LABEL (suite->statusbar), NULL);
|
||||
suite->current = NULL;
|
||||
}
|
||||
|
||||
@@ -1424,10 +1487,15 @@ test_suite_setup_ui (TestSuite *self)
|
||||
G_CALLBACK (gtk_widget_queue_draw),
|
||||
self->notebook);
|
||||
|
||||
self->statusbar = gtk_label_new (NULL);
|
||||
gtk_label_set_ellipsize (GTK_LABEL (self->statusbar),
|
||||
PANGO_ELLIPSIZE_END);
|
||||
|
||||
vbox = gtk_vbox_new (FALSE, 12);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), self->notebook, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), actions, FALSE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), self->notebook, TRUE, TRUE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), self->statusbar, FALSE, TRUE, 0);
|
||||
|
||||
self->window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||
|
||||
@@ -1436,6 +1504,7 @@ test_suite_setup_ui (TestSuite *self)
|
||||
|
||||
gtk_window_set_title (GTK_WINDOW (self->window), "Testing GtkExtendedLayout");
|
||||
gtk_container_add (GTK_CONTAINER (self->window), vbox);
|
||||
gtk_widget_grab_focus (self->notebook);
|
||||
}
|
||||
|
||||
static TestSuite*
|
||||
|
||||
Reference in New Issue
Block a user