[gtk+/wip/baedert/drawing: 20/71] testtooltips: Add static tooltip



commit e3e5ff6813ad2d5755dab94c131aff8f0930e4a8
Author: Timm Bäder <mail baedert org>
Date:   Wed May 24 10:24:13 2017 +0200

    testtooltips: Add static tooltip
    
    Just a widget class emulating the tooltip look by calling itself
    "tooltip" in the css node tree and adding the .background style class.

 tests/testtooltips.c |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/tests/testtooltips.c b/tests/testtooltips.c
index 3d64b92..5034553 100644
--- a/tests/testtooltips.c
+++ b/tests/testtooltips.c
@@ -23,6 +23,38 @@
 
 #include <gtk/gtk.h>
 
+typedef struct _MyTooltip MyTooltip;
+typedef struct _MyTooltipClass MyTooltipClass;
+
+
+struct _MyTooltip
+{
+  GtkBin parent_instance;
+};
+
+struct _MyTooltipClass
+{
+  GtkBinClass parent_class;
+};
+
+G_DEFINE_TYPE (MyTooltip, my_tooltip, GTK_TYPE_BIN)
+
+static void
+my_tooltip_init (MyTooltip *tt)
+{
+  GtkWidget *label = gtk_label_new ("Some text in a tooltip");
+
+  gtk_container_add (GTK_CONTAINER (tt), label);
+
+  gtk_style_context_add_class (gtk_widget_get_style_context (GTK_WIDGET (tt)), "background");
+}
+
+static void
+my_tooltip_class_init (MyTooltipClass *tt_class)
+{
+  gtk_widget_class_set_css_name (GTK_WIDGET_CLASS (tt_class), "tooltip");
+}
+
 static gboolean
 query_tooltip_cb (GtkWidget  *widget,
                  gint        x,
@@ -248,6 +280,7 @@ main (int argc, char *argv[])
   GtkWidget *drawing_area;
   GtkWidget *button;
   GtkWidget *label;
+  GtkWidget *tooltip;
 
   GtkWidget *tooltip_window;
   GtkWidget *tooltip_button;
@@ -272,6 +305,13 @@ main (int argc, char *argv[])
   box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
   gtk_container_add (GTK_CONTAINER (window), box);
 
+  tooltip = g_object_new (my_tooltip_get_type (), NULL);
+  gtk_widget_set_margin_top (tooltip, 20);
+  gtk_widget_set_margin_bottom (tooltip, 20);
+  gtk_widget_set_halign (tooltip, GTK_ALIGN_CENTER);
+  gtk_container_add (GTK_CONTAINER (box), tooltip);
+
+
   /* A check button using the tooltip-markup property */
   button = gtk_check_button_new_with_label ("This one uses the tooltip-markup property");
   gtk_widget_set_tooltip_text (button, "Hello, I am a static tooltip.");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]