Commit 891467e0aa734130bfaf5da3845a4327c25900e4
1 parent
5e333817
Exists in
master
and in
5 other branches
Implementando novos dialogos de transferencia de arquivos
Showing
5 changed files
with
251 additions
and
49 deletions
Show diff stats
src/pw3270/ft/ft.cbp
src/pw3270/ft/ftdialog.c
... | ... | @@ -54,7 +54,8 @@ |
54 | 54 | { |
55 | 55 | GtkDialog parent; |
56 | 56 | GtkWidget * filename[FILENAME_COUNT]; /**< Filenames for the transfer */ |
57 | - int value[VALUE_COUNT]; | |
57 | + GtkWidget * units; /**< Units frame box */ | |
58 | + GtkSpinButton * value[VALUE_COUNT]; | |
58 | 59 | LIB3270_FT_OPTION options; |
59 | 60 | }; |
60 | 61 | |
... | ... | @@ -166,22 +167,6 @@ static GtkWidget * ftoption_new(v3270FTD *dialog, const struct ftoptions *opt) |
166 | 167 | return GTK_WIDGET(frame); |
167 | 168 | } |
168 | 169 | |
169 | -/* | |
170 | -http://stackoverflow.com/questions/16539127/gtkentry-change-text-on-user-input | |
171 | -void entry_insert(GtkEntryBuffer *buffer, guint position, gchar *chars, guint n_chars, gpointer user_data) | |
172 | -{ | |
173 | - | |
174 | -} | |
175 | -static void setup_numeric_entry(GtkEntry *entry) | |
176 | -{ | |
177 | - gtk_entry_set_max_length(entry,10); | |
178 | - gtk_entry_set_width_chars(entry,10); | |
179 | - gtk_entry_set_alignment(entry,1); | |
180 | - gtk_entry_set_input_purpose(entry,GTK_INPUT_PURPOSE_NUMBER); | |
181 | - g_signal_connect_after(G_OBJECT(entry), "insert-text", G_CALLBACK(entry_insert),NULL); | |
182 | -} | |
183 | -*/ | |
184 | - | |
185 | 170 | static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const struct ftvalues *val) |
186 | 171 | { |
187 | 172 | int f; |
... | ... | @@ -190,20 +175,22 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str |
190 | 175 | { |
191 | 176 | int col = (f&1)*2; |
192 | 177 | int row = (f/2)+r; |
178 | + int id = val[f].id; | |
193 | 179 | GtkWidget * label = gtk_label_new_with_mnemonic(gettext(val[f].label)); |
194 | - GtkWidget * entry = GTK_WIDGET(gtk_spin_button_new_with_range(0,99999,1)); | |
180 | + | |
181 | + dialog->value[id] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(0,99999,1)); | |
195 | 182 | |
196 | 183 | gtk_widget_set_hexpand(GTK_WIDGET(label),TRUE); |
197 | 184 | gtk_widget_set_tooltip_text(GTK_WIDGET(label),gettext(val[f].tooltip)); |
198 | 185 | gtk_misc_set_alignment(GTK_MISC(label),0,0.5); |
199 | 186 | |
200 | - gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(entry)); | |
201 | - gtk_widget_set_tooltip_text(GTK_WIDGET(entry),gettext(val[f].tooltip)); | |
187 | + gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dialog->value[id])); | |
188 | + gtk_widget_set_tooltip_text(GTK_WIDGET(dialog->value[id]),gettext(val[f].tooltip)); | |
202 | 189 | |
203 | - g_object_set_data(G_OBJECT(entry),"cfg",(gpointer) &val[f]); | |
190 | + g_object_set_data(G_OBJECT(dialog->value[id]),"cfg",(gpointer) &val[f]); | |
204 | 191 | |
205 | 192 | gtk_grid_attach(grid,GTK_WIDGET(label),col,row,1,1); |
206 | - gtk_grid_attach(grid,GTK_WIDGET(entry),col+1,row,1,1); | |
193 | + gtk_grid_attach(grid,GTK_WIDGET(dialog->value[id]),col+1,row,1,1); | |
207 | 194 | |
208 | 195 | } |
209 | 196 | |
... | ... | @@ -237,7 +224,7 @@ static GtkWidget * ftradio_new(v3270FTD *dialog, const gchar *title, const gchar |
237 | 224 | return GTK_WIDGET(frame); |
238 | 225 | } |
239 | 226 | |
240 | -GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) | |
227 | +GtkWidget * v3270_ft_dialog_new(LIB3270_FT_OPTION options) | |
241 | 228 | { |
242 | 229 | v3270FTD *dialog = g_object_new(GTK_TYPE_V3270FTD, NULL); |
243 | 230 | |
... | ... | @@ -266,7 +253,12 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
266 | 253 | gtk_grid_set_column_spacing(grid,5); |
267 | 254 | gtk_grid_set_row_spacing(grid,5); |
268 | 255 | |
256 | +#if GTK_CHECK_VERSION(3,10,0) | |
269 | 257 | GtkButton * browse = GTK_BUTTON(gtk_button_new_from_icon_name("text-x-generic",GTK_ICON_SIZE_BUTTON)); |
258 | +#else | |
259 | + GtkButton * browse = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_FILE)); | |
260 | +#endif // GTK_CHECK_VERSION | |
261 | + | |
270 | 262 | gtk_button_set_focus_on_click(browse,FALSE); |
271 | 263 | gtk_widget_set_tooltip_text(GTK_WIDGET(browse),_("Select file")); |
272 | 264 | g_signal_connect(G_OBJECT(browse),"clicked",G_CALLBACK(browse_file),dialog); |
... | ... | @@ -308,7 +300,7 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
308 | 300 | }, |
309 | 301 | { |
310 | 302 | LIB3270_FT_OPTION_REMAP, |
311 | - N_("_Remap to ASCII Characters."), | |
303 | + N_("Re_map to ASCII Characters."), | |
312 | 304 | N_("Remap the text to ensure maximum compatibility between the workstation's character set and encoding and the host's EBCDIC code page.") |
313 | 305 | }, |
314 | 306 | { |
... | ... | @@ -320,25 +312,19 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
320 | 312 | |
321 | 313 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),ftoption_new(dialog,opt),FALSE,TRUE,2); |
322 | 314 | |
323 | - // Create values box | |
324 | - /* | |
325 | - static const struct ftvalues val[] = | |
326 | - { | |
327 | - { | |
328 | - VALUE_DFT, | |
329 | - N_( "DFT B_uffer size:" ), | |
330 | - N_( "Buffer size for DFT-mode transfers. Can range from 256 to 32768. Larger values give better performance, but some hosts may not be able to support them." ) | |
331 | - }, | |
315 | + // Create DFT | |
316 | + GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2)); | |
317 | + GtkWidget * label = gtk_label_new_with_mnemonic(_("DFT B_uffer size:")); | |
318 | + dialog->value[VALUE_DFT] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(256,32768,1)); | |
319 | + gtk_misc_set_alignment(GTK_MISC(label),0,0.5); | |
332 | 320 | |
333 | - { | |
334 | - 0, | |
335 | - NULL, | |
336 | - NULL | |
337 | - } | |
338 | - }; | |
321 | + gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dialog->value[VALUE_DFT])); | |
322 | + | |
323 | + gtk_box_pack_start(box,label,FALSE,TRUE,2); | |
324 | + gtk_box_pack_start(box,GTK_WIDGET(dialog->value[VALUE_DFT]),FALSE,TRUE,2); | |
325 | + | |
326 | + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),GTK_WIDGET(box),FALSE,TRUE,2); | |
339 | 327 | |
340 | - // gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),ftvalue_new(dialog,val),FALSE,TRUE,2); | |
341 | - */ | |
342 | 328 | } |
343 | 329 | else |
344 | 330 | { |
... | ... | @@ -378,7 +364,7 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
378 | 364 | }, |
379 | 365 | { |
380 | 366 | LIB3270_FT_OPTION_REMAP, |
381 | - N_("_Remap to EBCDIC Characters."), | |
367 | + N_("Re_map to EBCDIC Characters."), | |
382 | 368 | N_("Remap the text to ensure maximum compatibility between the workstation's character set and encoding and the host's EBCDIC code page.") |
383 | 369 | }, |
384 | 370 | { |
... | ... | @@ -462,8 +448,10 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
462 | 448 | } |
463 | 449 | }; |
464 | 450 | |
451 | + dialog->units = ftradio_new(dialog,_("Space allocation units"),_("Specifies the units for the TSO host primary and secondary space options."),units); | |
452 | + | |
465 | 453 | gtk_grid_attach( grid, |
466 | - ftradio_new(dialog,_("Space allocation units"),_("Specifies the units for the TSO host primary and secondary space options."),units), | |
454 | + dialog->units, | |
467 | 455 | 2,0,2,1 |
468 | 456 | ); |
469 | 457 | |
... | ... | @@ -499,7 +487,7 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
499 | 487 | { |
500 | 488 | VALUE_DFT, |
501 | 489 | N_( "DFT B_uffer size:" ), |
502 | - N_( "Buffer size for DFT-mode transfers. Can range from 256 to 32768. Larger values give better performance, but some hosts may not be able to support them." ) | |
490 | + "" | |
503 | 491 | }, |
504 | 492 | |
505 | 493 | { |
... | ... | @@ -513,8 +501,79 @@ GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options) |
513 | 501 | |
514 | 502 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),GTK_WIDGET(grid),FALSE,TRUE,2); |
515 | 503 | |
504 | + gtk_spin_button_set_range(dialog->value[VALUE_DFT],256,32768); | |
516 | 505 | } |
517 | 506 | |
507 | + gtk_widget_set_tooltip_text(GTK_WIDGET(dialog->value[VALUE_DFT]),_( "Buffer size for DFT-mode transfers. Can range from 256 to 32768. Larger values give better performance, but some hosts may not be able to support them.")); | |
508 | + gtk_spin_button_set_value(dialog->value[VALUE_DFT],4096); | |
509 | + | |
510 | + gtk_dialog_add_buttons(GTK_DIALOG(dialog), | |
511 | + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, | |
512 | + (options & LIB3270_FT_OPTION_RECEIVE) != 0 ? GTK_STOCK_SAVE : GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, | |
513 | + NULL); | |
514 | + | |
515 | + gtk_widget_show_all(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); | |
516 | + | |
518 | 517 | return GTK_WIDGET(dialog); |
519 | 518 | } |
520 | 519 | |
520 | +void v3270_ft_dialog_set_host_filename(GtkWidget *widget, const gchar *name) | |
521 | +{ | |
522 | + g_return_if_fail(GTK_IS_V3270FTD(widget)); | |
523 | + gtk_entry_set_text(GTK_ENTRY(GTK_V3270FTD(widget)->filename[FILENAME_HOST]),name); | |
524 | +} | |
525 | + | |
526 | +void v3270_ft_dialog_set_local_filename(GtkWidget *widget, const gchar *name) | |
527 | +{ | |
528 | + g_return_if_fail(GTK_IS_V3270FTD(widget)); | |
529 | + gtk_entry_set_text(GTK_ENTRY(GTK_V3270FTD(widget)->filename[FILENAME_LOCAL]),name); | |
530 | +} | |
531 | + | |
532 | +const gchar * v3270_ft_dialog_get_host_filename(GtkWidget *widget) | |
533 | +{ | |
534 | + g_return_val_if_fail(GTK_IS_V3270FTD(widget),NULL); | |
535 | + return gtk_entry_get_text(GTK_ENTRY(GTK_V3270FTD(widget)->filename[FILENAME_HOST])); | |
536 | +} | |
537 | + | |
538 | +const gchar * v3270_ft_dialog_get_local_filename(GtkWidget *widget) | |
539 | +{ | |
540 | + g_return_val_if_fail(GTK_IS_V3270FTD(widget),NULL); | |
541 | + return gtk_entry_get_text(GTK_ENTRY(GTK_V3270FTD(widget)->filename[FILENAME_LOCAL])); | |
542 | +} | |
543 | + | |
544 | +LIB3270_FT_OPTION v3270_ft_dialog_get_options(GtkWidget *widget) | |
545 | +{ | |
546 | + g_return_val_if_fail(GTK_IS_V3270FTD(widget),0); | |
547 | + return GTK_V3270FTD(widget)->options; | |
548 | +} | |
549 | + | |
550 | +void v3270_ft_dialog_set_options(GtkWidget *widget,LIB3270_FT_OPTION options) | |
551 | +{ | |
552 | + g_return_if_fail(GTK_IS_V3270FTD(widget)); | |
553 | + | |
554 | + #warning Implementar | |
555 | +} | |
556 | + | |
557 | +void v3270_ft_dialog_set_tso(GtkWidget *widget,gboolean flag) | |
558 | +{ | |
559 | + g_return_if_fail(GTK_IS_V3270FTD(widget)); | |
560 | + | |
561 | + v3270FTD *dialog = GTK_V3270FTD(widget); | |
562 | + | |
563 | + GtkWidget *tsoWidget[] = | |
564 | + { | |
565 | + GTK_WIDGET(dialog->value[VALUE_BLKSIZE]), | |
566 | + GTK_WIDGET(dialog->value[VALUE_PRIMSPACE]), | |
567 | + GTK_WIDGET(dialog->value[VALUE_SECSPACE]), | |
568 | + GTK_WIDGET(dialog->units), | |
569 | + }; | |
570 | + | |
571 | + int f; | |
572 | + | |
573 | + for(f=0;f<G_N_ELEMENTS(tsoWidget);f++) | |
574 | + { | |
575 | + if(tsoWidget[f]) | |
576 | + gtk_widget_set_sensitive(tsoWidget[f],flag); | |
577 | + } | |
578 | + | |
579 | +} | ... | ... |
... | ... | @@ -0,0 +1,109 @@ |
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 ftprogress.c 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 "v3270ft.h" | |
31 | + | |
32 | +/*--[ Widget definition ]----------------------------------------------------------------------------*/ | |
33 | + | |
34 | + enum _filename | |
35 | + { | |
36 | + TEXT_LOCALFILE, | |
37 | + TEXT_HOSTFILE, | |
38 | + TEXT_STATUS, | |
39 | + | |
40 | + TEXT_COUNT | |
41 | + }; | |
42 | + | |
43 | + struct _v3270FTProgress | |
44 | + { | |
45 | + GtkBin parent; | |
46 | + GtkWidget * text[TEXT_COUNT]; | |
47 | + }; | |
48 | + | |
49 | + struct _v3270FTProgressClass | |
50 | + { | |
51 | + GtkBinClass parent_class; | |
52 | + | |
53 | + }; | |
54 | + | |
55 | + G_DEFINE_TYPE(v3270FTProgress, v3270FTProgress, GTK_TYPE_BIN); | |
56 | + | |
57 | + | |
58 | +/*--[ Implement ]------------------------------------------------------------------------------------*/ | |
59 | + | |
60 | +static void v3270FTProgress_class_init(v3270FTProgressClass *klass) | |
61 | +{ | |
62 | +// GtkDialogClass * widget_class = GTK_DIALOG_CLASS(klass); | |
63 | + | |
64 | +#if GTK_CHECK_VERSION(3,0,0) | |
65 | + | |
66 | +#else | |
67 | + | |
68 | + #error Implementar | |
69 | + | |
70 | +#endif // GTK_CHECK_VERSION | |
71 | + | |
72 | +} | |
73 | + | |
74 | +static void v3270FTProgress_init(v3270FTProgress *widget) | |
75 | +{ | |
76 | + int f; | |
77 | + | |
78 | + // Create From/to fields | |
79 | + static const gchar * label[TEXT_COUNT] = { N_("From"), N_("To"), N_("Status") }; | |
80 | + GtkWidget * frame = gtk_frame_new( _( "Informations" ) ); | |
81 | + GtkGrid * grid = GTK_GRID(gtk_grid_new()); | |
82 | + | |
83 | + gtk_grid_set_column_spacing(grid,5); | |
84 | + gtk_grid_set_row_spacing(grid,5); | |
85 | + | |
86 | + for(f=0;f<TEXT_COUNT;f++) | |
87 | + { | |
88 | + GtkWidget * l = gtk_label_new(""); | |
89 | + gchar * ptr = g_strdup_printf("<b>%s:</b>",gettext(label[f])); | |
90 | + | |
91 | + gtk_label_set_markup(GTK_LABEL(l),ptr); | |
92 | + gtk_misc_set_alignment(GTK_MISC(l),0,0); | |
93 | + g_free(ptr); | |
94 | + | |
95 | + gtk_grid_attach(grid,l,0,f,1,1); | |
96 | + | |
97 | + } | |
98 | + gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid)); | |
99 | + | |
100 | + | |
101 | + | |
102 | + gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(frame)); | |
103 | + | |
104 | +} | |
105 | + | |
106 | +GtkWidget * v3270_ft_progress_new(void) | |
107 | +{ | |
108 | + return g_object_new(GTK_TYPE_V3270FTProgress, NULL); | |
109 | +} | ... | ... |
src/pw3270/ft/testprogram.c
... | ... | @@ -37,12 +37,22 @@ int main (int argc, char *argv[]) |
37 | 37 | GtkWidget *win; |
38 | 38 | |
39 | 39 | gtk_init (&argc, &argv); |
40 | -// win = v3270_dialog_ft_new(LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII); | |
41 | - win = v3270_dialog_ft_new(LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_REMAP); | |
42 | 40 | |
41 | + /* | |
42 | +// win = v3270_ft_dialog_new(LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII); | |
43 | + win = v3270_ft_dialog_new(LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_REMAP); | |
44 | + v3270_ft_dialog_set_tso(win,TRUE); | |
45 | + */ | |
43 | 46 | |
44 | - gtk_widget_show_all (win); | |
47 | + win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | |
48 | + gtk_container_add(GTK_CONTAINER(win),v3270_ft_progress_new()); | |
49 | + | |
50 | + | |
51 | + gtk_widget_show_all(win); | |
45 | 52 | gtk_main (); |
53 | + | |
54 | + gtk_dialog_run(GTK_DIALOG(win)); | |
55 | + | |
46 | 56 | return 0; |
47 | 57 | |
48 | 58 | } | ... | ... |
src/pw3270/ft/v3270ft.h
... | ... | @@ -47,6 +47,7 @@ |
47 | 47 | |
48 | 48 | G_BEGIN_DECLS |
49 | 49 | |
50 | +/*--[ Select file dialog ]---------------------------------------------------------------------------*/ | |
50 | 51 | #define GTK_TYPE_V3270FTD (v3270FTD_get_type ()) |
51 | 52 | #define GTK_V3270FTD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270FTD, v3270FTD)) |
52 | 53 | #define GTK_V3270FTD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270FTD, v3270FTDClass)) |
... | ... | @@ -57,9 +58,29 @@ |
57 | 58 | typedef struct _v3270FTD v3270FTD; |
58 | 59 | typedef struct _v3270FTDClass v3270FTDClass; |
59 | 60 | |
60 | - // Prototipes | |
61 | - GtkWidget * v3270_dialog_ft_new(LIB3270_FT_OPTION options); | |
61 | +/*--[ Progress widget ]------------------------------------------------------------------------------*/ | |
62 | 62 | |
63 | + #define GTK_TYPE_V3270FTProgress (v3270FTProgress_get_type ()) | |
64 | + #define GTK_V3270FTProcess(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_V3270FTProgress, v3270FTProgress)) | |
65 | + #define GTK_V3270FTProgress_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_V3270FTProgress, v3270FTProgressClass)) | |
66 | + #define GTK_IS_V3270FTProgress(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_V3270FTProgress)) | |
67 | + #define GTK_IS_V3270FTProgress_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_V3270FTProgress)) | |
68 | + #define GTK_V3270FTProgress_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_V3270FTProgress, v3270FTProgressClass)) | |
69 | + | |
70 | + typedef struct _v3270FTProgress v3270FTProgress; | |
71 | + typedef struct _v3270FTProgressClass v3270FTProgressClass; | |
72 | + | |
73 | +/*--[ Prototipes ]-----------------------------------------------------------------------------------*/ | |
74 | + LIB3270_EXPORT GtkWidget * v3270_ft_dialog_new(LIB3270_FT_OPTION options); | |
75 | + LIB3270_EXPORT void v3270_ft_dialog_set_host_filename(GtkWidget *widget, const gchar *name); | |
76 | + LIB3270_EXPORT void v3270_ft_dialog_set_local_filename(GtkWidget *widget, const gchar *name); | |
77 | + LIB3270_EXPORT const gchar * v3270_ft_dialog_get_host_filename(GtkWidget *widget); | |
78 | + LIB3270_EXPORT const gchar * v3270_ft_dialog_get_local_filename(GtkWidget *widget); | |
79 | + LIB3270_EXPORT void v3270_ft_dialog_set_options(GtkWidget *widget,LIB3270_FT_OPTION options); | |
80 | + LIB3270_EXPORT LIB3270_FT_OPTION v3270_ft_dialog_get_options(GtkWidget *widget); | |
81 | + LIB3270_EXPORT void v3270_ft_dialog_set_tso(GtkWidget *widget,gboolean flag); | |
82 | + | |
83 | + LIB3270_EXPORT GtkWidget * v3270_ft_progress_new(void); | |
63 | 84 | |
64 | 85 | |
65 | 86 | G_END_DECLS | ... | ... |