Commit 8ac39478dbbaf16c85c234b36cb0ce5a7107a7e1

Authored by perry.werneck@gmail.com
1 parent 2f131313

Simplificando propriedade toggle

src/pw3270/v3270/private.h
@@ -298,6 +298,7 @@ void v3270_update_oia(H3270 *session, LIB3270_FLAG id, unsigned char on); @@ -298,6 +298,7 @@ void v3270_update_oia(H3270 *session, LIB3270_FLAG id, unsigned char on);
298 void v3270_update_ssl(H3270 *session, LIB3270_SSL_STATE state); 298 void v3270_update_ssl(H3270 *session, LIB3270_SSL_STATE state);
299 299
300 G_GNUC_INTERNAL void v3270_update_luname(GtkWidget *widget,const gchar *name); 300 G_GNUC_INTERNAL void v3270_update_luname(GtkWidget *widget,const gchar *name);
  301 +G_GNUC_INTERNAL void v3270_init_properties(GObjectClass * gobject_class);
301 302
302 // Keyboard & Mouse 303 // Keyboard & Mouse
303 gboolean v3270_key_press_event(GtkWidget *widget, GdkEventKey *event); 304 gboolean v3270_key_press_event(GtkWidget *widget, GdkEventKey *event);
src/pw3270/v3270/properties.c
@@ -96,7 +96,7 @@ @@ -96,7 +96,7 @@
96 } 96 }
97 } 97 }
98 98
99 - void v3270_init_properties(GObjectClass * gobject_class) 99 + void v3270_init_properties(GObjectClass * gobject_class)
100 { 100 {
101 gobject_class->set_property = v3270_set_property; 101 gobject_class->set_property = v3270_set_property;
102 gobject_class->get_property = v3270_get_property; 102 gobject_class->get_property = v3270_get_property;
src/pw3270/v3270/widget.c
@@ -115,37 +115,9 @@ static void v3270_cursor_draw(v3270 *widget) @@ -115,37 +115,9 @@ static void v3270_cursor_draw(v3270 *widget)
115 115
116 } 116 }
117 117
  118 +
118 static void v3270_toggle_changed(v3270 *widget,LIB3270_TOGGLE toggle_id, gboolean toggle_state,const gchar *toggle_name) 119 static void v3270_toggle_changed(v3270 *widget,LIB3270_TOGGLE toggle_id, gboolean toggle_state,const gchar *toggle_name)
119 { 120 {
120 - trace("%s: toggle %d (%s)=%s",__FUNCTION__,toggle_id,toggle_name,toggle_state ? "Yes" : "No");  
121 -  
122 - switch(toggle_id)  
123 - {  
124 - case LIB3270_TOGGLE_CURSOR_POS:  
125 - case LIB3270_TOGGLE_CROSSHAIR:  
126 - v3270_reload(GTK_WIDGET(widget));  
127 - gtk_widget_queue_draw(GTK_WIDGET(widget));  
128 - break;  
129 -  
130 - case LIB3270_TOGGLE_CURSOR_BLINK:  
131 - widget->cursor.show |= 1;  
132 - break;  
133 -  
134 - case LIB3270_TOGGLE_INSERT:  
135 - v3270_draw_ins_status(widget);  
136 - v3270_cursor_draw(widget);  
137 - break;  
138 -  
139 - case LIB3270_TOGGLE_BOLD:  
140 - v3270_reload(GTK_WIDGET(widget));  
141 - gtk_widget_queue_draw(GTK_WIDGET(widget));  
142 - break;  
143 -  
144 - default:  
145 - return;  
146 -  
147 - }  
148 -  
149 } 121 }
150 122
151 static void loghandler(H3270 *session, const char *module, int rc, const char *fmt, va_list args) 123 static void loghandler(H3270 *session, const char *module, int rc, const char *fmt, va_list args)
@@ -688,8 +660,31 @@ static void set_timer(H3270 *session, unsigned char on) @@ -688,8 +660,31 @@ static void set_timer(H3270 *session, unsigned char on)
688 660
689 static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name) 661 static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value, LIB3270_TOGGLE_TYPE reason, const char *name)
690 { 662 {
691 - if(ix == LIB3270_TOGGLE_FULL_SCREEN) 663 + trace("Toggle %s is %s",name,value ? "ON" : "OFF");
  664 +
  665 + switch(ix)
692 { 666 {
  667 + case LIB3270_TOGGLE_CURSOR_POS:
  668 + case LIB3270_TOGGLE_CROSSHAIR:
  669 + v3270_reload(GTK_WIDGET(session->widget));
  670 + gtk_widget_queue_draw(GTK_WIDGET(session->widget));
  671 + break;
  672 +
  673 + case LIB3270_TOGGLE_CURSOR_BLINK:
  674 + GTK_V3270(session->widget)->cursor.show |= 1;
  675 + break;
  676 +
  677 + case LIB3270_TOGGLE_INSERT:
  678 + v3270_draw_ins_status(GTK_WIDGET(session->widget));
  679 + v3270_cursor_draw(GTK_WIDGET(session->widget));
  680 + break;
  681 +
  682 + case LIB3270_TOGGLE_BOLD:
  683 + v3270_reload(GTK_WIDGET(session->widget));
  684 + gtk_widget_queue_draw(GTK_WIDGET(session->widget));
  685 + break;
  686 +
  687 + case LIB3270_TOGGLE_FULL_SCREEN:
693 if(value) 688 if(value)
694 gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(session->widget)))); 689 gtk_window_fullscreen(GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(session->widget))));
695 else 690 else
@@ -698,8 +693,9 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value @@ -698,8 +693,9 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value
698 #if GTK_CHECK_VERSION(2,26,0) 693 #if GTK_CHECK_VERSION(2,26,0)
699 g_object_notify_by_pspec(G_OBJECT(session->widget), v3270_properties[PROP_TOGGLE+ix]); 694 g_object_notify_by_pspec(G_OBJECT(session->widget), v3270_properties[PROP_TOGGLE+ix]);
700 #else 695 #else
701 - g_object_notify(G_OBJECT(session->widget),lib3270_get_toggle_name(ix)); 696 + g_object_notify(G_OBJECT(session->widget),name);
702 #endif // GTK_CHECK_VERSION 697 #endif // GTK_CHECK_VERSION
  698 +
703 g_signal_emit(GTK_WIDGET(session->widget), v3270_widget_signal[SIGNAL_TOGGLE_CHANGED], 0, (guint) ix, (gboolean) (value != 0), (gchar *) name); 699 g_signal_emit(GTK_WIDGET(session->widget), v3270_widget_signal[SIGNAL_TOGGLE_CHANGED], 0, (guint) ix, (gboolean) (value != 0), (gchar *) name);
704 } 700 }
705 701