diff --git a/pw3270.cbp b/pw3270.cbp
index 6708331..8892889 100644
--- a/pw3270.cbp
+++ b/pw3270.cbp
@@ -105,6 +105,9 @@
+
+
+
diff --git a/src/gtk/v3270/mouse.c b/src/gtk/v3270/mouse.c
index 0a9c09a..861743c 100644
--- a/src/gtk/v3270/mouse.c
+++ b/src/gtk/v3270/mouse.c
@@ -35,12 +35,12 @@
/*--[ Implement ]------------------------------------------------------------------------------------*/
-static int decode_position(v3270 *widget, GdkPoint *point, GdkEventButton *event)
+static int decode_position(v3270 *widget, GdkPoint *point, gdouble x, gdouble y)
{
int r,c;
- point->x = ((event->x-widget->metrics.left)/widget->metrics.width);
- point->y = ((event->y-widget->metrics.top)/widget->metrics.spacing);
+ point->x = ((x-widget->metrics.left)/widget->metrics.width);
+ point->y = ((y-widget->metrics.top)/widget->metrics.spacing);
lib3270_get_screen_size(widget->host,&r,&c);
@@ -53,7 +53,7 @@ static int decode_position(v3270 *widget, GdkPoint *point, GdkEventButton *event
gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event)
{
GdkPoint point;
- int baddr = decode_position(GTK_V3270(widget),&point,event);
+ int baddr = decode_position(GTK_V3270(widget),&point,event->x,event->y);
if(baddr < 0)
return FALSE;
@@ -80,3 +80,12 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event)
return FALSE;
}
+
+
+gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
+{
+// trace("%s",__FUNCTION__);
+
+
+ return FALSE;
+}
diff --git a/src/gtk/v3270/private.h b/src/gtk/v3270/private.h
index 268af2c..2722add 100644
--- a/src/gtk/v3270/private.h
+++ b/src/gtk/v3270/private.h
@@ -82,6 +82,8 @@ G_BEGIN_DECLS
/*--[ Prototipes ]-----------------------------------------------------------------------------------*/
+const GtkWidgetClass * v3270_get_parent_class(void);
+
gboolean v3270_draw(GtkWidget * widget, cairo_t * cr);
void v3270_draw_oia(cairo_t *cr, H3270 *host, int row, int cols, struct v3270_metrics *metrics, GdkColor *color, GdkRectangle *rect);
@@ -123,5 +125,6 @@ gboolean v3270_key_release_event(GtkWidget *widget, GdkEventKey *event);
void v3270_key_commit(GtkIMContext *imcontext, gchar *str, v3270 *widget);
gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event);
gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event);
+gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event);
G_END_DECLS
diff --git a/src/gtk/v3270/widget.c b/src/gtk/v3270/widget.c
index 473aa33..c07fecb 100644
--- a/src/gtk/v3270/widget.c
+++ b/src/gtk/v3270/widget.c
@@ -42,13 +42,6 @@
#define CONTENTS_WIDTH(terminal) (cols * terminal->metrics.width)
#define CONTENTS_HEIGHT(terminal) (((rows+1) * terminal->metrics.spacing)+OIA_TOP_MARGIN+2)
-
-/*
- * http://gnomejournal.org/article/34/writing-a-widget-using-cairo-and-gtk28
- * http://developer.gnome.org/gtk3/3.3/ch25s02.html
- * http://zetcode.com/tutorials/cairographicstutorial/cairotext
- */
-
/*--[ Widget definition ]----------------------------------------------------------------------------*/
G_DEFINE_TYPE(v3270, v3270, GTK_TYPE_WIDGET);
@@ -128,6 +121,7 @@ static void v3270_class_init(v3270Class *klass)
widget_class->focus_out_event = v3270_focus_out_event;
widget_class->button_press_event = v3270_button_press_event;
widget_class->button_release_event = v3270_button_release_event;
+ widget_class->motion_notify_event = v3270_motion_notify_event;
klass->activate = v3270_activate;
klass->toggle_changed = v3270_toggle_changed;
@@ -854,3 +848,8 @@ static void v3270_activate(GtkWidget *widget)
else
v3270_connect(widget,NULL);
}
+
+const GtkWidgetClass * v3270_get_parent_class(void)
+{
+ return GTK_WIDGET_CLASS(v3270_parent_class);
+}
--
libgit2 0.21.2