Commit f7f94da0915a24a9cd68286a25f879ec7cb8ffcb

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

Splitting dialog definitions.

Adding standard error popup dialog.
src/dialogs/colorscheme.c
... ... @@ -423,8 +423,8 @@
423 423 } while(gtk_tree_model_iter_next(model,&iter));
424 424 }
425 425  
426   - g_message("Can't find color scheme for %s",colors);
427   - gtk_combo_box_set_active(GTK_COMBO_BOX(widget),-1);
  426 + g_message("Can't find color scheme");
  427 + //gtk_combo_box_set_active(GTK_COMBO_BOX(widget),-1);
428 428  
429 429 // TODO: Create an entry for this scheme as "custom" and select it.
430 430  
... ...
src/dialogs/hostselect.c
... ... @@ -29,6 +29,7 @@
29 29  
30 30 #include "private.h"
31 31 #include <hostselect.h>
  32 + #include <v3270/dialogs.h>
32 33  
33 34 /*--[ Widget definition ]----------------------------------------------------------------------------*/
34 35  
... ...
src/dialogs/popups.c 0 → 100644
... ... @@ -0,0 +1,102 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 + #include <config.h>
  31 + #include <internals.h>
  32 + #include <v3270/dialogs.h>
  33 +
  34 + /*--[ Implement ]------------------------------------------------------------------------------------*/
  35 +
  36 + void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type , const gchar *title, const gchar *message, const gchar *text)
  37 + {
  38 + GtkWidget * dialog;
  39 + GtkWidget * toplevel = NULL;
  40 + GtkMessageType msgtype = GTK_MESSAGE_WARNING;
  41 + GtkButtonsType buttons = GTK_BUTTONS_OK;
  42 +
  43 + if(widget && GTK_IS_WIDGET(widget))
  44 + toplevel = gtk_widget_get_toplevel(GTK_WIDGET(widget));
  45 +
  46 + if(!GTK_IS_WINDOW(toplevel))
  47 + toplevel = NULL;
  48 +
  49 + if(type == LIB3270_NOTIFY_CRITICAL)
  50 + {
  51 + msgtype = GTK_MESSAGE_ERROR;
  52 + buttons = GTK_BUTTONS_CLOSE;
  53 + }
  54 +
  55 + if(!title)
  56 + title = _( "Error" );
  57 +
  58 + if(message)
  59 + {
  60 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",message);
  61 + if(text && *text)
  62 + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",text);
  63 + }
  64 + else if(text && *text)
  65 + {
  66 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",text);
  67 + }
  68 + else
  69 + {
  70 + dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",title);
  71 + }
  72 +
  73 + gtk_window_set_title(GTK_WINDOW(dialog),title);
  74 + gtk_widget_show_all(dialog);
  75 + gtk_dialog_run(GTK_DIALOG (dialog));
  76 + gtk_widget_destroy(dialog);
  77 +
  78 + }
  79 +
  80 + void v3270_error_popup(GtkWidget *widget, const gchar *title, const gchar *summary, const gchar *body)
  81 + {
  82 + GtkWidget * dialog =
  83 + gtk_message_dialog_new_with_markup(
  84 + GTK_WINDOW(gtk_widget_get_toplevel(widget)),
  85 + GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,
  86 + GTK_MESSAGE_ERROR,
  87 + GTK_BUTTONS_CLOSE,
  88 + "%s",summary
  89 + );
  90 +
  91 + gtk_window_set_title(GTK_WINDOW(dialog), (title ? title : _("Error")));
  92 +
  93 + if(body)
  94 + gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",body);
  95 +
  96 + g_signal_connect(dialog,"close",G_CALLBACK(gtk_widget_destroy),NULL);
  97 + g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL);
  98 +
  99 + gtk_widget_show_all(dialog);
  100 +
  101 + }
  102 +
... ...
src/include/v3270.h
... ... @@ -18,14 +18,12 @@
18 18 * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
19 19 * St, Fifth Floor, Boston, MA 02110-1301 USA
20 20 *
21   - * Este programa está nomeado como v3270.h e possui - linhas de código.
  21 + * Este programa está nomeado como - e possui - linhas de código.
22 22 *
23 23 * Contatos:
24 24 *
25 25 * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
26 26 * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
27   - * licinio@bb.com.br (Licínio Luis Branco)
28   - * kraucer@bb.com.br (Kraucer Fernandes Mazuco)
29 27 *
30 28 */
31 29  
... ... @@ -261,7 +259,6 @@
261 259 LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget);
262 260  
263 261 // Auxiliary widgets
264   - LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget);
265 262 LIB3270_EXPORT void v3270_select_host(GtkWidget *widget);
266 263  
267 264 // Print
... ... @@ -280,8 +277,6 @@
280 277 // Misc
281 278 LIB3270_EXPORT int v3270_exec_command(GtkWidget *widget, const gchar *cmdline);
282 279  
283   - LIB3270_EXPORT GtkWidget * v3270_dialog_new(GtkWidget *widget, const gchar *title, const gchar *apply);
284   -
285 280 // Convenience
286 281 LIB3270_EXPORT void gtk_entry_set_printf(GtkEntry *entry, const gchar *fmt, ...) G_GNUC_PRINTF(2,3);
287 282  
... ...
src/include/v3270/dialogs.h 0 → 100644
... ... @@ -0,0 +1,44 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +#ifndef V3270_DIALOGS_H_INCLUDED
  31 +
  32 + #define V3270_DIALOGS_H_INCLUDED 1
  33 +
  34 + #include <gtk/gtk.h>
  35 +
  36 + G_BEGIN_DECLS
  37 +
  38 + LIB3270_EXPORT GtkWidget * v3270_host_select_new(GtkWidget *widget);
  39 + LIB3270_EXPORT GtkWidget * v3270_dialog_new(GtkWidget *widget, const gchar *title, const gchar *apply);
  40 + LIB3270_EXPORT void v3270_error_popup(GtkWidget *widget, const gchar *title, const gchar *summary, const gchar *body);
  41 +
  42 + G_END_DECLS
  43 +
  44 +#endif // V3270_DIALOGS_H_INCLUDED
... ...
src/include/v3270/security.h 0 → 100644
... ... @@ -0,0 +1,46 @@
  1 +/*
  2 + * "Software pw3270, desenvolvido com base nos códigos fontes do WC3270 e X3270
  3 + * (Paul Mattes Paul.Mattes@usa.net), de emulação de terminal 3270 para acesso a
  4 + * aplicativos mainframe. Registro no INPI sob o nome G3270.
  5 + *
  6 + * Copyright (C) <2008> <Banco do Brasil S.A.>
  7 + *
  8 + * Este programa é software livre. Você pode redistribuí-lo e/ou modificá-lo sob
  9 + * os termos da GPL v.2 - Licença Pública Geral GNU, conforme publicado pela
  10 + * Free Software Foundation.
  11 + *
  12 + * Este programa é distribuído na expectativa de ser útil, mas SEM QUALQUER
  13 + * GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou de ADEQUAÇÃO
  14 + * A QUALQUER PROPÓSITO EM PARTICULAR. Consulte a Licença Pública Geral GNU para
  15 + * obter mais detalhes.
  16 + *
  17 + * Você deve ter recebido uma cópia da Licença Pública Geral GNU junto com este
  18 + * programa; se não, escreva para a Free Software Foundation, Inc., 51 Franklin
  19 + * St, Fifth Floor, Boston, MA 02110-1301 USA
  20 + *
  21 + * Este programa está nomeado como - e possui - linhas de código.
  22 + *
  23 + * Contatos:
  24 + *
  25 + * perry.werneck@gmail.com (Alexandre Perry de Souza Werneck)
  26 + * erico.mendonca@gmail.com (Erico Mascarenhas Mendonça)
  27 + *
  28 + */
  29 +
  30 +#ifndef V3270_SECURITY_H_INCLUDED
  31 +
  32 + #define V3270_SECURITY_H_INCLUDED 1
  33 +
  34 + #include <gtk/gtk.h>
  35 +
  36 + G_BEGIN_DECLS
  37 +
  38 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_icon_name(GtkWidget *widget);
  39 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_message(GtkWidget *widget);
  40 + LIB3270_EXPORT const gchar * v3270_get_ssl_state_description(GtkWidget *widget);
  41 + LIB3270_EXPORT GtkWidget * v3270_security_dialog_new(GtkWidget *widget);
  42 + LIB3270_EXPORT void v3270_popup_security_dialog(GtkWidget *widget);
  43 +
  44 + G_END_DECLS
  45 +
  46 +#endif // V3270_SECURITY_H_INCLUDED
... ...
src/terminal/widget.c
... ... @@ -136,50 +136,6 @@ void get_preferred_width(GtkWidget *widget, gint *minimum_width, gint *natural_w
136 136 *natural_width = 600;
137 137 }
138 138  
139   -void v3270_popup_message(GtkWidget *widget, LIB3270_NOTIFY type , const gchar *title, const gchar *message, const gchar *text)
140   -{
141   - GtkWidget * dialog;
142   - GtkWidget * toplevel = NULL;
143   - GtkMessageType msgtype = GTK_MESSAGE_WARNING;
144   - GtkButtonsType buttons = GTK_BUTTONS_OK;
145   -
146   - if(widget && GTK_IS_WIDGET(widget))
147   - toplevel = gtk_widget_get_toplevel(GTK_WIDGET(widget));
148   -
149   - if(!GTK_IS_WINDOW(toplevel))
150   - toplevel = NULL;
151   -
152   - if(type == LIB3270_NOTIFY_CRITICAL)
153   - {
154   - msgtype = GTK_MESSAGE_ERROR;
155   - buttons = GTK_BUTTONS_CLOSE;
156   - }
157   -
158   - if(!title)
159   - title = _( "Error" );
160   -
161   - if(message)
162   - {
163   - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",message);
164   - if(text && *text)
165   - gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(dialog),"%s",text);
166   - }
167   - else if(text && *text)
168   - {
169   - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",text);
170   - }
171   - else
172   - {
173   - dialog = gtk_message_dialog_new_with_markup(GTK_WINDOW(toplevel),GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT,msgtype,buttons,"%s",title);
174   - }
175   -
176   - gtk_window_set_title(GTK_WINDOW(dialog),title);
177   - gtk_widget_show_all(dialog);
178   - gtk_dialog_run(GTK_DIALOG (dialog));
179   - gtk_widget_destroy(dialog);
180   -
181   -}
182   -
183 139 gboolean v3270_query_tooltip(GtkWidget *widget, gint x, gint y, G_GNUC_UNUSED gboolean keyboard_tooltip, GtkTooltip *tooltip)
184 140 {
185 141 if(y >= GTK_V3270(widget)->oia.rect->y)
... ...
src/testprogram/toolbar.c
... ... @@ -32,6 +32,7 @@
32 32 #include <v3270/filetransfer.h>
33 33 #include <v3270/ftprogress.h>
34 34 #include <v3270/colorscheme.h>
  35 + #include <v3270/dialogs.h>
35 36 #include <v3270/trace.h>
36 37 #include <lib3270/log.h>
37 38 #include <stdlib.h>
... ... @@ -65,6 +66,8 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
65 66  
66 67 static void ft_clicked(GtkButton *button, GtkWidget *terminal)
67 68 {
  69 + v3270_error_popup(terminal,"title","summary","body");
  70 +
68 71 /*
69 72 GtkWidget * dialog = v3270_dialog_new(terminal, _("test"), _("test"));
70 73 GtkWidget * trace = v3270_trace_new(terminal);
... ... @@ -100,6 +103,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
100 103 v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_REMAP);
101 104 */
102 105  
  106 + /*
103 107 //
104 108 // Test settings dialog
105 109 //
... ... @@ -110,6 +114,7 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
110 114 // V5.1 dialog
111 115 //
112 116 GtkWidget *dialog = v3270ft_new(GTK_WIDGET(button));
  117 + */
113 118  
114 119 /*
115 120 //
... ... @@ -123,9 +128,11 @@ static void save_all_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *termin
123 128 v3270_ft_worker_start(worker);
124 129 */
125 130  
  131 + /*
126 132 gtk_widget_show_all(dialog);
127 133 gtk_dialog_run(GTK_DIALOG(dialog));
128 134 gtk_widget_destroy(dialog);
  135 + */
129 136  
130 137 }
131 138  
... ...
v3270.cbp
... ... @@ -60,6 +60,9 @@
60 60 <Unit filename="src/dialogs/linux/select.c">
61 61 <Option compilerVar="CC" />
62 62 </Unit>
  63 + <Unit filename="src/dialogs/popups.c">
  64 + <Option compilerVar="CC" />
  65 + </Unit>
63 66 <Unit filename="src/dialogs/print/begin.c">
64 67 <Option compilerVar="CC" />
65 68 </Unit>
... ... @@ -153,9 +156,11 @@
153 156 <Unit filename="src/include/v3270.h" />
154 157 <Unit filename="src/include/v3270/accessible.h" />
155 158 <Unit filename="src/include/v3270/colorscheme.h" />
  159 + <Unit filename="src/include/v3270/dialogs.h" />
156 160 <Unit filename="src/include/v3270/filetransfer.h" />
157 161 <Unit filename="src/include/v3270/ftprogress.h" />
158 162 <Unit filename="src/include/v3270/print.h" />
  163 + <Unit filename="src/include/v3270/security.h" />
159 164 <Unit filename="src/include/v3270/trace.h" />
160 165 <Unit filename="src/selection/copy.c">
161 166 <Option compilerVar="CC" />
... ...