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 | ... | ... |