Commit 20a7ff89b2ab283e91e34f4f80a459cc03d9be2e

Authored by Perry Werneck
1 parent d68da4e5
Exists in master and in 1 other branch develop

Passando gerência do ponteiro do mouse para a lib3270

Showing 3 changed files with 19 additions and 65 deletions   Show diff stats
mouse.c
... ... @@ -224,59 +224,12 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event)
224 224 static void update_mouse_pointer(GtkWidget *widget, int baddr)
225 225 {
226 226 v3270 * terminal = GTK_V3270(widget);
227   - int id = 0;
  227 +// int id = 0;
228 228  
229   - if(baddr >= 0 && terminal->pointer_id == LIB3270_CURSOR_EDITABLE)
  229 + if(baddr >= 0 && terminal->pointer_id == LIB3270_POINTER_UNLOCKED)
230 230 {
231   -
232   - switch(lib3270_get_selection_flags(terminal->host,baddr) & 0x8f)
233   - {
234   - case 0x80:
235   - id = V3270_CURSOR_MOVE_SELECTION;
236   - break;
237   -
238   - case 0x82:
239   - id = V3270_CURSOR_SELECTION_TOP;
240   - break;
241   -
242   - case 0x86:
243   - id = V3270_CURSOR_SELECTION_TOP_RIGHT;
244   - break;
245   -
246   - case 0x84:
247   - id = V3270_CURSOR_SELECTION_RIGHT;
248   - break;
249   -
250   - case 0x81:
251   - id = V3270_CURSOR_SELECTION_LEFT;
252   - break;
253   -
254   - case 0x89:
255   - id = V3270_CURSOR_SELECTION_BOTTOM_LEFT;
256   - break;
257   -
258   - case 0x88:
259   - id = V3270_CURSOR_SELECTION_BOTTOM;
260   - break;
261   -
262   - case 0x8c:
263   - id = V3270_CURSOR_SELECTION_BOTTOM_RIGHT;
264   - break;
265   -
266   - case 0x83:
267   - id = V3270_CURSOR_SELECTION_TOP_LEFT;
268   - break;
269   -
270   - default:
271   - id = lib3270_is_protected(terminal->host,baddr) ? V3270_CURSOR_PROTECTED : V3270_CURSOR_UNPROTECTED;
272   -
273   - }
274   -
275   - gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[id]);
276   -
  231 + gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[lib3270_get_pointer(terminal->host,baddr)]);
277 232 }
278   -
279   -
280 233 }
281 234  
282 235 void v3270_update_mouse_pointer(GtkWidget *widget)
... ... @@ -298,7 +251,7 @@ gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
298 251  
299 252 if(!lib3270_connected(terminal->host))
300 253 {
301   - gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[V3270_CURSOR_PROTECTED]);
  254 + gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[LIB3270_POINTER_LOCKED]);
302 255 return FALSE;
303 256 }
304 257  
... ... @@ -323,30 +276,30 @@ gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
323 276 }
324 277 else if(event->y >= terminal->oia_rect->y)
325 278 {
326   - int id = V3270_CURSOR_PROTECTED;
  279 + int id = LIB3270_POINTER_PROTECTED;
327 280  
328 281 if(event->x >= terminal->oia_rect[V3270_OIA_SSL].x && event->x <= (terminal->oia_rect[V3270_OIA_SSL].x + terminal->oia_rect[V3270_OIA_SSL].width))
329 282 {
330 283 switch(lib3270_get_secure(terminal->host))
331 284 {
332 285 case LIB3270_SSL_UNSECURE: /**< No secure connection */
333   - id = V3270_CURSOR_QUESTION;
  286 + id = LIB3270_POINTER_QUESTION;
334 287 break;
335 288  
336 289 case LIB3270_SSL_NEGOTIATING: /**< Negotiating SSL */
337   - id = V3270_CURSOR_WAITING;
  290 + id = LIB3270_POINTER_WAITING;
338 291 break;
339 292  
340 293 case LIB3270_SSL_NEGOTIATED: /**< Connection secure, no CA or self-signed */
341   - id = V3270_CURSOR_QUESTION;
  294 + id = LIB3270_POINTER_QUESTION;
342 295 break;
343 296  
344 297 case LIB3270_SSL_SECURE: /**< Connection secure with CA check */
345   - id = V3270_CURSOR_QUESTION;
  298 + id = LIB3270_POINTER_QUESTION;
346 299 break;
347 300  
348 301 default:
349   - id = V3270_CURSOR_LOCKED;
  302 + id = LIB3270_POINTER_LOCKED;
350 303 }
351 304 }
352 305  
... ...
private.h
... ... @@ -88,6 +88,7 @@ G_BEGIN_DECLS
88 88  
89 89 /*--[ Globals ]--------------------------------------------------------------------------------------*/
90 90  
  91 +/*
91 92 #define V3270_CURSOR_UNPROTECTED LIB3270_CURSOR_EDITABLE
92 93 #define V3270_CURSOR_WAITING LIB3270_CURSOR_WAITING
93 94 #define V3270_CURSOR_LOCKED LIB3270_CURSOR_LOCKED
... ... @@ -105,7 +106,7 @@ G_BEGIN_DECLS
105 106 #define V3270_CURSOR_QUESTION LIB3270_CURSOR_USER+10
106 107  
107 108 #define V3270_CURSOR_COUNT LIB3270_CURSOR_USER+11
108   -
  109 +*/
109 110  
110 111 struct v3270_ssl_status_msg
111 112 {
... ... @@ -146,7 +147,7 @@ G_BEGIN_DECLS
146 147 int baddr; /**< Selection addr */
147 148 } selection;
148 149  
149   - LIB3270_CURSOR pointer_id;
  150 + LIB3270_POINTER pointer_id;
150 151 unsigned char pointer; /**< Mouse pointer ID */
151 152  
152 153 V3270_OIA_FIELD selected_field; /**< Clicked OIA field */
... ... @@ -226,7 +227,7 @@ G_BEGIN_DECLS
226 227 /*--[ Globals ]--------------------------------------------------------------------------------------*/
227 228  
228 229 G_GNUC_INTERNAL guint v3270_widget_signal[LAST_SIGNAL];
229   - G_GNUC_INTERNAL GdkCursor * v3270_cursor[V3270_CURSOR_COUNT];
  230 + G_GNUC_INTERNAL GdkCursor * v3270_cursor[LIB3270_POINTER_COUNT];
230 231 G_GNUC_INTERNAL GParamSpec * v3270_properties[PROP_LAST];
231 232  
232 233 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/
... ...
widget.c
... ... @@ -72,8 +72,8 @@
72 72  
73 73 /*--[ Globals ]--------------------------------------------------------------------------------------*/
74 74  
75   - guint v3270_widget_signal[LAST_SIGNAL] = { 0 };
76   - GdkCursor * v3270_cursor[V3270_CURSOR_COUNT] = { 0 };
  75 + guint v3270_widget_signal[LAST_SIGNAL] = { 0 };
  76 + GdkCursor * v3270_cursor[LIB3270_POINTER_COUNT] = { 0 };
77 77  
78 78 /*--[ Prototipes ]-----------------------------------------------------------------------------------*/
79 79  
... ... @@ -354,7 +354,7 @@ static void v3270_class_init(v3270Class *klass)
354 354 "help", // V3270_CURSOR_QUESTION
355 355 };
356 356 #else
357   - static const int cr[V3270_CURSOR_COUNT] =
  357 + static const int cr[LIB3270_POINTER_COUNT] =
358 358 {
359 359 GDK_XTERM, // V3270_CURSOR_UNPROTECTED
360 360 GDK_WATCH, // V3270_CURSOR_WAITING
... ... @@ -375,7 +375,7 @@ static void v3270_class_init(v3270Class *klass)
375 375  
376 376 int f;
377 377  
378   - for(f=0;f<V3270_CURSOR_COUNT;f++)
  378 + for(f=0;f<LIB3270_POINTER_COUNT;f++)
379 379 {
380 380 #ifdef WIN32
381 381 v3270_cursor[f] = gdk_cursor_new_from_name(gdk_display_get_default(),cr[f]);
... ... @@ -729,7 +729,7 @@ static void update_luname(H3270 *session, const char *name)
729 729 v3270_update_luname(GTK_WIDGET(lib3270_get_user_data(session)),name);
730 730 }
731 731  
732   -static void select_cursor(H3270 *session, LIB3270_CURSOR id)
  732 +static void select_cursor(H3270 *session, LIB3270_POINTER id)
733 733 {
734 734 GtkWidget *widget = GTK_WIDGET(lib3270_get_user_data(session));
735 735  
... ...