Commit 7bff2b66142f13c550daf726d7e9b2ca9d2f7d20

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

Addint set_toggle method to widget, testing auto-reconnect.

src/include/v3270.h
@@ -230,7 +230,10 @@ @@ -230,7 +230,10 @@
230 230
231 // Misc 231 // Misc
232 GtkIMContext * v3270_get_im_context(GtkWidget *widget); 232 GtkIMContext * v3270_get_im_context(GtkWidget *widget);
  233 +
233 gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix); 234 gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix);
  235 + gboolean v3270_set_toggle(GtkWidget *widget, LIB3270_TOGGLE ix, gboolean state);
  236 +
234 void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type, const gchar *title, const gchar *message, const gchar *text); 237 void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type, const gchar *title, const gchar *message, const gchar *text);
235 const gchar * v3270_get_session_name(GtkWidget *widget); 238 const gchar * v3270_get_session_name(GtkWidget *widget);
236 void v3270_set_session_name(GtkWidget *widget, const gchar *name); 239 void v3270_set_session_name(GtkWidget *widget, const gchar *name);
src/testprogram/testprogram.c
@@ -109,36 +109,33 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { @@ -109,36 +109,33 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) {
109 GtkWidget *trace = v3270_new_trace_window(terminal); 109 GtkWidget *trace = v3270_new_trace_window(terminal);
110 if(trace) { 110 if(trace) {
111 g_signal_connect(trace, "destroy", G_CALLBACK(trace_window_destroy), v3270_get_session(terminal)); 111 g_signal_connect(trace, "destroy", G_CALLBACK(trace_window_destroy), v3270_get_session(terminal));
112 - lib3270_toggle(v3270_get_session(terminal),LIB3270_TOGGLE_DS_TRACE); 112 + lib3270_toggle(v3270_get_session(terminal),LIB3270_TOGGLE_SSL_TRACE);
113 gtk_widget_show_all(trace); 113 gtk_widget_show_all(trace);
114 } 114 }
115 115
116 - const gchar *url = getenv("LIB3270_DEFAULT_HOST");  
117 - if(url) {  
118 116
119 - /*  
120 - v3270_set_url(terminal,url);  
121 - v3270_connect(terminal);  
122 - */  
123 -  
124 - g_value_init (&val, G_TYPE_STRING);  
125 - g_value_set_string(&val,url);  
126 - g_object_set_property(G_OBJECT(terminal), "url", &val);  
127 - g_value_unset(&val);  
128 -  
129 - gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), url);  
130 - gtk_window_set_title(GTK_WINDOW(window), title);  
131 - g_free(title); 117 + /*
  118 + v3270_set_url(terminal,url);
  119 + v3270_connect(terminal);
  120 + */
132 121
133 - } else {  
134 - gtk_window_set_title(GTK_WINDOW(window), v3270_get_session_name(terminal));  
135 - } 122 + /*
  123 + g_value_init (&val, G_TYPE_STRING);
  124 + g_value_set_string(&val,url);
  125 + g_object_set_property(G_OBJECT(terminal), "url", &val);
  126 + g_value_unset(&val);
  127 + */
136 128
137 g_value_init(&val, G_TYPE_STRING); 129 g_value_init(&val, G_TYPE_STRING);
138 g_object_get_property(G_OBJECT(terminal),"url",&val); 130 g_object_get_property(G_OBJECT(terminal),"url",&val);
139 g_message("URL=%s",g_value_get_string(&val)); 131 g_message("URL=%s",g_value_get_string(&val));
  132 +
  133 + gchar * title = g_strdup_printf("%s - %s", v3270_get_session_name(terminal), g_value_get_string(&val));
  134 + gtk_window_set_title(GTK_WINDOW(window), title);
  135 + g_free(title);
140 g_value_unset(&val); 136 g_value_unset(&val);
141 137
  138 +
142 g_value_init(&val, G_TYPE_BOOLEAN); 139 g_value_init(&val, G_TYPE_BOOLEAN);
143 g_object_get_property(G_OBJECT(terminal),"tso",&val); 140 g_object_get_property(G_OBJECT(terminal),"tso",&val);
144 g_message("TSO=%s",g_value_get_boolean(&val) ? "Yes" : "No"); 141 g_message("TSO=%s",g_value_get_boolean(&val) ? "Yes" : "No");
@@ -162,6 +159,8 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) { @@ -162,6 +159,8 @@ static void activate(GtkApplication* app, G_GNUC_UNUSED gpointer user_data) {
162 gtk_container_add(GTK_CONTAINER(window),terminal); 159 gtk_container_add(GTK_CONTAINER(window),terminal);
163 gtk_widget_show_all (window); 160 gtk_widget_show_all (window);
164 161
  162 + v3270_set_toggle(terminal,LIB3270_TOGGLE_RECONNECT,1);
  163 +
165 } 164 }
166 165
167 int main (int argc, char **argv) { 166 int main (int argc, char **argv) {
src/v3270/widget.c
@@ -704,6 +704,7 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value @@ -704,6 +704,7 @@ static void update_toggle(H3270 *session, LIB3270_TOGGLE ix, unsigned char value
704 break; 704 break;
705 705
706 case LIB3270_TOGGLE_DS_TRACE: 706 case LIB3270_TOGGLE_DS_TRACE:
  707 + case LIB3270_TOGGLE_SSL_TRACE:
707 case LIB3270_TOGGLE_SCREEN_TRACE: 708 case LIB3270_TOGGLE_SCREEN_TRACE:
708 case LIB3270_TOGGLE_EVENT_TRACE: 709 case LIB3270_TOGGLE_EVENT_TRACE:
709 case LIB3270_TOGGLE_RECONNECT: 710 case LIB3270_TOGGLE_RECONNECT:
@@ -1585,6 +1586,17 @@ LIB3270_EXPORT gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix) @@ -1585,6 +1586,17 @@ LIB3270_EXPORT gboolean v3270_get_toggle(GtkWidget *widget, LIB3270_TOGGLE ix)
1585 return FALSE; 1586 return FALSE;
1586 } 1587 }
1587 1588
  1589 +LIB3270_EXPORT gboolean v3270_set_toggle(GtkWidget *widget, LIB3270_TOGGLE ix, gboolean state)
  1590 +{
  1591 + g_return_val_if_fail(GTK_IS_V3270(widget),FALSE);
  1592 +
  1593 + if(ix < LIB3270_TOGGLE_COUNT)
  1594 + return lib3270_set_toggle(GTK_V3270(widget)->host,ix,state ? 1 : 0) ? TRUE : FALSE;
  1595 +
  1596 + return FALSE;
  1597 +
  1598 +}
  1599 +
1588 /** 1600 /**
1589 * v3270_set_url: 1601 * v3270_set_url:
1590 * 1602 *