1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
#include <stdio.h>
#include <gtk/gtk.h>
#include <gtk/gtktooltip.h>
GtkWidget* window;
GtkWidget* fixed;
GtkWidget* entry;
GtkWidget* button;
GtkTooltips* tooltip;
GdkEventCrossing *e;
void Callback(GtkWidget* poWidget, gpointer oThis)
{
gdk_event_put((GdkEvent *) e);
}
int main (int argc, char** argv)
{
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (window, 800, 600);
fixed = gtk_fixed_new ();
gtk_widget_set_size_request (fixed, 800, 600);
entry = gtk_entry_new ();
gtk_widget_set_size_request (entry, 50, 50);
tooltip = gtk_tooltips_new ();
gtk_tooltips_set_tip (tooltip, entry, "TESTE TOOLTIP", NULL);
e = (gpointer)gdk_event_new(GDK_ENTER_NOTIFY);
e->window = entry->window;
e->send_event = 1; /* True if we're sending event. */
e->subwindow = entry->window;
e->time = GDK_CURRENT_TIME;
e->x = 0.0;
e->y = 0.0;
e->x_root = 0.0;
e->y_root = 0.0;
e->mode = GDK_CROSSING_NORMAL;
e->detail = GDK_NOTIFY_ANCESTOR;
e->focus = TRUE; /* Focus. */
e->state = 0; /* Key modifiers. */
button = gtk_button_new_with_label ("AAA");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
g_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(Callback), NULL);
gtk_fixed_put (GTK_FIXED(fixed), button, 20, 20);
gtk_fixed_put (GTK_FIXED(fixed), entry, 100,100);
gtk_container_add (GTK_CONTAINER(window), fixed);
gtk_widget_show_all (window);
//gtk_signal_emit_by_name(GTK_OBJECT(entry),"enter-notify-event",e); doesn't work either.
gtk_main ();
return 0;
}
|