Commit 4bd5a87add0c4870328c488b5a9846c0f971b0e7
1 parent
19537083
Exists in
master
and in
5 other branches
Compatibilizando novos diálogos com gtk2
Showing
3 changed files
with
194 additions
and
42 deletions
Show diff stats
src/pw3270/ft/ftdialog.c
@@ -113,11 +113,7 @@ static void v3270FTD_class_init(v3270FTDClass *klass) | @@ -113,11 +113,7 @@ static void v3270FTD_class_init(v3270FTDClass *klass) | ||
113 | // GtkDialogClass * widget_class = GTK_DIALOG_CLASS(klass); | 113 | // GtkDialogClass * widget_class = GTK_DIALOG_CLASS(klass); |
114 | 114 | ||
115 | #if GTK_CHECK_VERSION(3,0,0) | 115 | #if GTK_CHECK_VERSION(3,0,0) |
116 | - | ||
117 | #else | 116 | #else |
118 | - | ||
119 | - #error Implementar | ||
120 | - | ||
121 | #endif // GTK_CHECK_VERSION | 117 | #endif // GTK_CHECK_VERSION |
122 | 118 | ||
123 | } | 119 | } |
@@ -171,21 +167,38 @@ static void toggle_option(GtkToggleButton *button, v3270FTD *dialog) | @@ -171,21 +167,38 @@ static void toggle_option(GtkToggleButton *button, v3270FTD *dialog) | ||
171 | static GtkWidget * ftoption_new(v3270FTD *dialog, const struct ftoptions *opt) | 167 | static GtkWidget * ftoption_new(v3270FTD *dialog, const struct ftoptions *opt) |
172 | { | 168 | { |
173 | GtkContainer * frame = GTK_CONTAINER(gtk_frame_new(_("Transfer options"))); | 169 | GtkContainer * frame = GTK_CONTAINER(gtk_frame_new(_("Transfer options"))); |
174 | - GtkGrid * grid = GTK_GRID(gtk_grid_new()); | ||
175 | int f; | 170 | int f; |
176 | 171 | ||
172 | +#if GTK_CHECK_VERSION(3,0,0) | ||
173 | + | ||
174 | + GtkGrid * grid = GTK_GRID(gtk_grid_new()); | ||
175 | + | ||
177 | gtk_grid_set_row_homogeneous(grid,TRUE); | 176 | gtk_grid_set_row_homogeneous(grid,TRUE); |
178 | gtk_grid_set_column_homogeneous(grid,TRUE); | 177 | gtk_grid_set_column_homogeneous(grid,TRUE); |
179 | gtk_grid_set_column_spacing(grid,5); | 178 | gtk_grid_set_column_spacing(grid,5); |
180 | gtk_grid_set_row_spacing(grid,5); | 179 | gtk_grid_set_row_spacing(grid,5); |
181 | 180 | ||
181 | +#else | ||
182 | + | ||
183 | + GtkTable * grid = GTK_TABLE(gtk_table_new(2,3,FALSE)); | ||
184 | + | ||
185 | + gtk_table_set_row_spacings(grid,5); | ||
186 | + gtk_table_set_col_spacings(grid,5); | ||
187 | + | ||
188 | +#endif // GTK_CHECK_VERSION | ||
189 | + | ||
190 | + | ||
182 | for(f=0;opt[f].label;f++) | 191 | for(f=0;opt[f].label;f++) |
183 | { | 192 | { |
184 | GtkWidget * button = gtk_check_button_new_with_mnemonic(gettext(opt[f].label)); | 193 | GtkWidget * button = gtk_check_button_new_with_mnemonic(gettext(opt[f].label)); |
185 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),(dialog->options & opt[f].flag) != 0); | 194 | gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),(dialog->options & opt[f].flag) != 0); |
186 | gtk_widget_set_tooltip_text(GTK_WIDGET(button),gettext(opt[f].tooltip)); | 195 | gtk_widget_set_tooltip_text(GTK_WIDGET(button),gettext(opt[f].tooltip)); |
196 | +#if GTK_CHECK_VERSION(3,0,0) | ||
187 | gtk_widget_set_hexpand(button,TRUE); | 197 | gtk_widget_set_hexpand(button,TRUE); |
188 | gtk_grid_attach(grid,button,f&1,f/2,1,1); | 198 | gtk_grid_attach(grid,button,f&1,f/2,1,1); |
199 | +#else | ||
200 | + gtk_table_attach_defaults(grid,button,f&1,(f&1)+1,f/2,(f/2)+1); | ||
201 | +#endif // GTK_CHECK_VERSION | ||
189 | g_object_set_data(G_OBJECT(button),"cfg",(gpointer) &opt[f]); | 202 | g_object_set_data(G_OBJECT(button),"cfg",(gpointer) &opt[f]); |
190 | g_signal_connect(G_OBJECT(button),"toggled",G_CALLBACK(toggle_option),dialog); | 203 | g_signal_connect(G_OBJECT(button),"toggled",G_CALLBACK(toggle_option),dialog); |
191 | dialog->button[opt->id] = GTK_TOGGLE_BUTTON(button); | 204 | dialog->button[opt->id] = GTK_TOGGLE_BUTTON(button); |
@@ -196,7 +209,11 @@ static GtkWidget * ftoption_new(v3270FTD *dialog, const struct ftoptions *opt) | @@ -196,7 +209,11 @@ static GtkWidget * ftoption_new(v3270FTD *dialog, const struct ftoptions *opt) | ||
196 | return GTK_WIDGET(frame); | 209 | return GTK_WIDGET(frame); |
197 | } | 210 | } |
198 | 211 | ||
212 | +#if GTK_CHECK_VERSION(3,0,0) | ||
199 | static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const struct ftvalues *val) | 213 | static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const struct ftvalues *val) |
214 | +#else | ||
215 | +static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkTable *grid, int r, const struct ftvalues *val) | ||
216 | +#endif // GTK_CHECK_VERSION | ||
200 | { | 217 | { |
201 | int f; | 218 | int f; |
202 | 219 | ||
@@ -209,7 +226,6 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | @@ -209,7 +226,6 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | ||
209 | 226 | ||
210 | dialog->value[id] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(0,99999,1)); | 227 | dialog->value[id] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(0,99999,1)); |
211 | 228 | ||
212 | - gtk_widget_set_hexpand(GTK_WIDGET(label),TRUE); | ||
213 | gtk_misc_set_alignment(GTK_MISC(label),0,0.5); | 229 | gtk_misc_set_alignment(GTK_MISC(label),0,0.5); |
214 | 230 | ||
215 | gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dialog->value[id])); | 231 | gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dialog->value[id])); |
@@ -222,8 +238,15 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | @@ -222,8 +238,15 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | ||
222 | 238 | ||
223 | g_object_set_data(G_OBJECT(dialog->value[id]),"cfg",(gpointer) &val[f]); | 239 | g_object_set_data(G_OBJECT(dialog->value[id]),"cfg",(gpointer) &val[f]); |
224 | 240 | ||
241 | +#if GTK_CHECK_VERSION(3,0,0) | ||
242 | + gtk_widget_set_hexpand(GTK_WIDGET(label),TRUE); | ||
225 | gtk_grid_attach(grid,GTK_WIDGET(label),col,row,1,1); | 243 | gtk_grid_attach(grid,GTK_WIDGET(label),col,row,1,1); |
226 | gtk_grid_attach(grid,GTK_WIDGET(dialog->value[id]),col+1,row,1,1); | 244 | gtk_grid_attach(grid,GTK_WIDGET(dialog->value[id]),col+1,row,1,1); |
245 | +#else | ||
246 | + gtk_table_attach(grid,GTK_WIDGET(label),col,col+1,row,row+1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
247 | + gtk_table_attach(grid,GTK_WIDGET(dialog->value[id]),col+1,col+2,row,row+1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
248 | +#endif // GTK_CHECK_VERSION | ||
249 | + | ||
227 | 250 | ||
228 | } | 251 | } |
229 | 252 | ||
@@ -234,7 +257,11 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | @@ -234,7 +257,11 @@ static GtkWidget * ftvalue_new(v3270FTD *dialog, GtkGrid *grid, int r, const str | ||
234 | static GtkWidget * ftradio_new(v3270FTD *dialog, GtkToggleButton **button, LIB3270_FT_OPTION option, const gchar *title, const gchar *tooltip, const struct rdoptions *opt) | 257 | static GtkWidget * ftradio_new(v3270FTD *dialog, GtkToggleButton **button, LIB3270_FT_OPTION option, const gchar *title, const gchar *tooltip, const struct rdoptions *opt) |
235 | { | 258 | { |
236 | GtkContainer * frame = GTK_CONTAINER(gtk_frame_new(title)); | 259 | GtkContainer * frame = GTK_CONTAINER(gtk_frame_new(title)); |
260 | +#if GTK_CHECK_VERSION(3,0,0) | ||
237 | GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2)); | 261 | GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2)); |
262 | +#else | ||
263 | + GtkBox * box = GTK_BOX(gtk_hbox_new(FALSE,2)); | ||
264 | +#endif // GTK_CHECK_VERSION | ||
238 | GSList * lst = NULL; | 265 | GSList * lst = NULL; |
239 | int f; | 266 | int f; |
240 | 267 | ||
@@ -335,19 +362,33 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -335,19 +362,33 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
335 | { | 362 | { |
336 | dialog->filename[f] = gtk_entry_new(); | 363 | dialog->filename[f] = gtk_entry_new(); |
337 | gtk_label_set_mnemonic_widget(GTK_LABEL(label[f]),dialog->filename[f]); | 364 | gtk_label_set_mnemonic_widget(GTK_LABEL(label[f]),dialog->filename[f]); |
365 | +#if GTK_CHECK_VERSION(3,0,0) | ||
338 | gtk_widget_set_hexpand(dialog->filename[f],TRUE); | 366 | gtk_widget_set_hexpand(dialog->filename[f],TRUE); |
367 | +#endif // GTK_CHECK_VERSION | ||
339 | } | 368 | } |
340 | 369 | ||
370 | +#if GTK_CHECK_VERSION(3,0,0) | ||
371 | + | ||
341 | GtkGrid *grid = GTK_GRID(gtk_grid_new()); | 372 | GtkGrid *grid = GTK_GRID(gtk_grid_new()); |
373 | + | ||
342 | gtk_grid_set_row_homogeneous(grid,FALSE); | 374 | gtk_grid_set_row_homogeneous(grid,FALSE); |
343 | gtk_grid_set_column_homogeneous(grid,FALSE); | 375 | gtk_grid_set_column_homogeneous(grid,FALSE); |
344 | gtk_grid_set_column_spacing(grid,5); | 376 | gtk_grid_set_column_spacing(grid,5); |
345 | gtk_grid_set_row_spacing(grid,5); | 377 | gtk_grid_set_row_spacing(grid,5); |
346 | 378 | ||
379 | +#else | ||
380 | + GtkTable *grid = gtk_table_new(2,3,FALSE); | ||
381 | + | ||
382 | + gtk_table_set_row_spacings(grid,5); | ||
383 | + gtk_table_set_col_spacings(grid,5); | ||
384 | + | ||
385 | +#endif // GTK_CHECK_VERSION | ||
386 | + | ||
387 | + | ||
347 | #if GTK_CHECK_VERSION(3,10,0) | 388 | #if GTK_CHECK_VERSION(3,10,0) |
348 | GtkButton * browse = GTK_BUTTON(gtk_button_new_from_icon_name("text-x-generic",GTK_ICON_SIZE_BUTTON)); | 389 | GtkButton * browse = GTK_BUTTON(gtk_button_new_from_icon_name("text-x-generic",GTK_ICON_SIZE_BUTTON)); |
349 | #else | 390 | #else |
350 | - GtkButton * browse = GTK_BUTTON(gtk_button_new_from_stock(GTK_STOCK_FILE)); | 391 | + GtkButton * browse = GTK_BUTTON(gtk_button_new_with_mnemonic(_( "_Browse" ))); |
351 | #endif // GTK_CHECK_VERSION | 392 | #endif // GTK_CHECK_VERSION |
352 | 393 | ||
353 | gtk_button_set_focus_on_click(browse,FALSE); | 394 | gtk_button_set_focus_on_click(browse,FALSE); |
@@ -371,13 +412,28 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -371,13 +412,28 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
371 | g_signal_connect(G_OBJECT(dialog->filename[FILENAME_LOCAL]),"changed",G_CALLBACK(test_path_exists),dialog); | 412 | g_signal_connect(G_OBJECT(dialog->filename[FILENAME_LOCAL]),"changed",G_CALLBACK(test_path_exists),dialog); |
372 | 413 | ||
373 | 414 | ||
415 | +#if GTK_CHECK_VERSION(3,0,0) | ||
416 | + | ||
374 | gtk_grid_attach(grid,label[FILENAME_HOST],0,0,1,1); | 417 | gtk_grid_attach(grid,label[FILENAME_HOST],0,0,1,1); |
375 | gtk_grid_attach(grid,label[FILENAME_LOCAL],0,1,1,1); | 418 | gtk_grid_attach(grid,label[FILENAME_LOCAL],0,1,1,1); |
376 | 419 | ||
377 | gtk_grid_attach(grid,dialog->filename[FILENAME_HOST],1,0,3,1); | 420 | gtk_grid_attach(grid,dialog->filename[FILENAME_HOST],1,0,3,1); |
378 | gtk_grid_attach(grid,dialog->filename[FILENAME_LOCAL],1,1,3,1); | 421 | gtk_grid_attach(grid,dialog->filename[FILENAME_LOCAL],1,1,3,1); |
422 | + | ||
379 | gtk_grid_attach(grid,GTK_WIDGET(browse),5,1,1,1); | 423 | gtk_grid_attach(grid,GTK_WIDGET(browse),5,1,1,1); |
380 | 424 | ||
425 | +#else | ||
426 | + | ||
427 | + gtk_table_attach(grid,label[FILENAME_HOST],0,1,0,1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
428 | + gtk_table_attach(grid,label[FILENAME_LOCAL],0,1,1,2,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
429 | + | ||
430 | + gtk_table_attach(grid,dialog->filename[FILENAME_HOST],1,2,0,1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
431 | + gtk_table_attach(grid,dialog->filename[FILENAME_LOCAL],1,2,1,2,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
432 | + | ||
433 | + gtk_table_attach(grid,GTK_WIDGET(browse),2,3,1,2,GTK_FILL,GTK_FILL,0,0); | ||
434 | + | ||
435 | +#endif | ||
436 | + | ||
381 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_HOST],_("Name of the source file.")); | 437 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_HOST],_("Name of the source file.")); |
382 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_LOCAL],_("Where to save the received file.")); | 438 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_LOCAL],_("Where to save the received file.")); |
383 | 439 | ||
@@ -421,7 +477,12 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -421,7 +477,12 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
421 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),ftoption_new(dialog,opt),FALSE,TRUE,2); | 477 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),ftoption_new(dialog,opt),FALSE,TRUE,2); |
422 | 478 | ||
423 | // Create DFT | 479 | // Create DFT |
480 | +#if GTK_CHECK_VERSION(3,0,0) | ||
424 | GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2)); | 481 | GtkBox * box = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL,2)); |
482 | +#else | ||
483 | + GtkBox * box = GTK_BOX(gtk_hbox_new(FALSE,2)); | ||
484 | +#endif // GTK_CHECK_VERSION | ||
485 | + | ||
425 | GtkWidget * label = gtk_label_new_with_mnemonic(_("DFT B_uffer size:")); | 486 | GtkWidget * label = gtk_label_new_with_mnemonic(_("DFT B_uffer size:")); |
426 | dialog->value[VALUE_DFT] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(256,32768,1)); | 487 | dialog->value[VALUE_DFT] = GTK_SPIN_BUTTON(gtk_spin_button_new_with_range(256,32768,1)); |
427 | gtk_misc_set_alignment(GTK_MISC(label),0,0.5); | 488 | gtk_misc_set_alignment(GTK_MISC(label),0,0.5); |
@@ -438,17 +499,31 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -438,17 +499,31 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
438 | { | 499 | { |
439 | // It's sending file first local filename, then hostfilename | 500 | // It's sending file first local filename, then hostfilename |
440 | gtk_window_set_title(GTK_WINDOW(dialog),_( "Send file to host" )); | 501 | gtk_window_set_title(GTK_WINDOW(dialog),_( "Send file to host" )); |
502 | + g_signal_connect(G_OBJECT(dialog->filename[FILENAME_LOCAL]),"changed",G_CALLBACK(test_file_exists),dialog); | ||
503 | + | ||
504 | +#if GTK_CHECK_VERSION(3,0,0) | ||
441 | 505 | ||
442 | gtk_grid_attach(grid,label[FILENAME_LOCAL],0,0,1,1); | 506 | gtk_grid_attach(grid,label[FILENAME_LOCAL],0,0,1,1); |
443 | gtk_grid_attach(grid,label[FILENAME_HOST],0,1,1,1); | 507 | gtk_grid_attach(grid,label[FILENAME_HOST],0,1,1,1); |
444 | 508 | ||
445 | - g_signal_connect(G_OBJECT(dialog->filename[FILENAME_LOCAL]),"changed",G_CALLBACK(test_file_exists),dialog); | ||
446 | - | ||
447 | gtk_grid_attach(grid,dialog->filename[FILENAME_LOCAL],1,0,3,1); | 509 | gtk_grid_attach(grid,dialog->filename[FILENAME_LOCAL],1,0,3,1); |
448 | gtk_grid_attach(grid,GTK_WIDGET(browse),5,0,1,1); | 510 | gtk_grid_attach(grid,GTK_WIDGET(browse),5,0,1,1); |
449 | 511 | ||
450 | gtk_grid_attach(grid,dialog->filename[FILENAME_HOST],1,1,3,1); | 512 | gtk_grid_attach(grid,dialog->filename[FILENAME_HOST],1,1,3,1); |
451 | 513 | ||
514 | +#else | ||
515 | + | ||
516 | + gtk_table_attach(grid,label[FILENAME_LOCAL],0,1,0,1,GTK_FILL,GTK_FILL,0,0); | ||
517 | + gtk_table_attach(grid,label[FILENAME_HOST],0,1,1,2,GTK_FILL,GTK_FILL,0,0); | ||
518 | + | ||
519 | + gtk_table_attach(grid,dialog->filename[FILENAME_LOCAL],1,2,0,1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
520 | + gtk_table_attach(grid,dialog->filename[FILENAME_HOST],1,2,1,2,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
521 | + | ||
522 | + gtk_table_attach(grid,GTK_WIDGET(browse),2,3,0,1,GTK_FILL,GTK_FILL,0,0); | ||
523 | + | ||
524 | +#endif // GTK_CHECK_VERSION | ||
525 | + | ||
526 | + | ||
452 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_HOST],_("Name of the target file.")); | 527 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_HOST],_("Name of the target file.")); |
453 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_LOCAL],_("Path of the local file to send.")); | 528 | gtk_widget_set_tooltip_text(dialog->filename[FILENAME_LOCAL],_("Path of the local file to send.")); |
454 | 529 | ||
@@ -493,10 +568,21 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -493,10 +568,21 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
493 | 568 | ||
494 | 569 | ||
495 | // Create format box | 570 | // Create format box |
571 | + | ||
572 | +#if GTK_CHECK_VERSION(3,0,0) | ||
573 | + | ||
496 | GtkGrid * grid = GTK_GRID(gtk_grid_new()); | 574 | GtkGrid * grid = GTK_GRID(gtk_grid_new()); |
497 | gtk_grid_set_column_spacing(grid,5); | 575 | gtk_grid_set_column_spacing(grid,5); |
498 | gtk_grid_set_row_spacing(grid,5); | 576 | gtk_grid_set_row_spacing(grid,5); |
499 | 577 | ||
578 | +#else | ||
579 | + GtkTable *grid = gtk_table_new(4,4,FALSE); | ||
580 | + | ||
581 | + gtk_table_set_row_spacings(grid,5); | ||
582 | + gtk_table_set_col_spacings(grid,5); | ||
583 | + | ||
584 | +#endif // GTK_CHECK_VERSION | ||
585 | + | ||
500 | // Create record format box | 586 | // Create record format box |
501 | static const struct rdoptions recfm[] = | 587 | static const struct rdoptions recfm[] = |
502 | { | 588 | { |
@@ -527,10 +613,18 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -527,10 +613,18 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
527 | } | 613 | } |
528 | }; | 614 | }; |
529 | 615 | ||
616 | +#if GTK_CHECK_VERSION(3,0,0) | ||
530 | gtk_grid_attach( grid, | 617 | gtk_grid_attach( grid, |
531 | ftradio_new(dialog,dialog->recfm,dialog->options,_("Record format"),_("Specifies the record format of the data set."),recfm), | 618 | ftradio_new(dialog,dialog->recfm,dialog->options,_("Record format"),_("Specifies the record format of the data set."),recfm), |
532 | 0,0,2,1 | 619 | 0,0,2,1 |
533 | ); | 620 | ); |
621 | +#else | ||
622 | + gtk_table_attach( grid, | ||
623 | + ftradio_new(dialog,dialog->recfm,dialog->options,_("Record format"),_("Specifies the record format of the data set."),recfm), | ||
624 | + 0,2,0,1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0 | ||
625 | + ); | ||
626 | +#endif // GTK_CHECK_VERSION | ||
627 | + | ||
534 | 628 | ||
535 | 629 | ||
536 | // Create allocation unit box | 630 | // Create allocation unit box |
@@ -565,11 +659,17 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | @@ -565,11 +659,17 @@ GtkWidget * v3270_ft_dialog_new(GtkWidget *parent, LIB3270_FT_OPTION options) | ||
565 | 659 | ||
566 | dialog->units = ftradio_new(dialog,dialog->btnUnits,dialog->options,_("Space allocation units"),_("Specifies the units for the TSO host primary and secondary space options."),units); | 660 | dialog->units = ftradio_new(dialog,dialog->btnUnits,dialog->options,_("Space allocation units"),_("Specifies the units for the TSO host primary and secondary space options."),units); |
567 | 661 | ||
662 | +#if GTK_CHECK_VERSION(3,0,0) | ||
568 | gtk_grid_attach( grid, | 663 | gtk_grid_attach( grid, |
569 | dialog->units, | 664 | dialog->units, |
570 | 2,0,2,1 | 665 | 2,0,2,1 |
571 | ); | 666 | ); |
572 | - | 667 | +#else |
668 | + gtk_table_attach( grid, | ||
669 | + dialog->units, | ||
670 | + 2,4,0,1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0 | ||
671 | + ); | ||
672 | +#endif // GTK_CHECK_VERSION | ||
573 | 673 | ||
574 | // Create values box | 674 | // Create values box |
575 | static const struct ftvalues val[] = | 675 | static const struct ftvalues val[] = |
src/pw3270/ft/ftprogress.c
@@ -52,7 +52,11 @@ | @@ -52,7 +52,11 @@ | ||
52 | 52 | ||
53 | struct _v3270FTProgress | 53 | struct _v3270FTProgress |
54 | { | 54 | { |
55 | +#if GTK_CHECK_VERSION(3,0,0) | ||
55 | GtkBin parent; | 56 | GtkBin parent; |
57 | +#else | ||
58 | + GtkVBox parent; | ||
59 | +#endif // GTK_CHECK_VERSION | ||
56 | GtkLabel * text[TEXT_COUNT]; | 60 | GtkLabel * text[TEXT_COUNT]; |
57 | GtkLabel * value[VALUE_COUNT]; | 61 | GtkLabel * value[VALUE_COUNT]; |
58 | GtkProgressBar * progress; | 62 | GtkProgressBar * progress; |
@@ -60,35 +64,39 @@ | @@ -60,35 +64,39 @@ | ||
60 | 64 | ||
61 | struct _v3270FTProgressClass | 65 | struct _v3270FTProgressClass |
62 | { | 66 | { |
67 | +#if GTK_CHECK_VERSION(3,0,0) | ||
63 | GtkBinClass parent_class; | 68 | GtkBinClass parent_class; |
64 | - | 69 | +#else |
70 | + GtkVBoxClass parent_class; | ||
71 | +#endif // GTK_CHECK_VERSION | ||
65 | }; | 72 | }; |
66 | 73 | ||
74 | +#if GTK_CHECK_VERSION(3,0,0) | ||
67 | G_DEFINE_TYPE(v3270FTProgress, v3270FTProgress, GTK_TYPE_BIN); | 75 | G_DEFINE_TYPE(v3270FTProgress, v3270FTProgress, GTK_TYPE_BIN); |
68 | - | 76 | +#else |
77 | + G_DEFINE_TYPE(v3270FTProgress, v3270FTProgress, GTK_TYPE_VBOX); | ||
78 | +#endif // GTK_CHECK_VERSION | ||
69 | 79 | ||
70 | /*--[ Implement ]------------------------------------------------------------------------------------*/ | 80 | /*--[ Implement ]------------------------------------------------------------------------------------*/ |
71 | 81 | ||
72 | static void v3270FTProgress_class_init(v3270FTProgressClass *klass) | 82 | static void v3270FTProgress_class_init(v3270FTProgressClass *klass) |
73 | { | 83 | { |
74 | -// GtkDialogClass * widget_class = GTK_DIALOG_CLASS(klass); | ||
75 | - | ||
76 | #if GTK_CHECK_VERSION(3,0,0) | 84 | #if GTK_CHECK_VERSION(3,0,0) |
77 | - | ||
78 | #else | 85 | #else |
79 | - | ||
80 | - #error Implementar | ||
81 | - | ||
82 | #endif // GTK_CHECK_VERSION | 86 | #endif // GTK_CHECK_VERSION |
83 | - | ||
84 | } | 87 | } |
85 | 88 | ||
86 | static void v3270FTProgress_init(v3270FTProgress *widget) | 89 | static void v3270FTProgress_init(v3270FTProgress *widget) |
87 | { | 90 | { |
88 | GtkWidget * frame; | 91 | GtkWidget * frame; |
92 | +#if GTK_CHECK_VERSION(3,0,0) | ||
89 | GtkGrid * grid; | 93 | GtkGrid * grid; |
90 | - int f; | ||
91 | GtkWidget * box = gtk_box_new(GTK_ORIENTATION_VERTICAL,3); | 94 | GtkWidget * box = gtk_box_new(GTK_ORIENTATION_VERTICAL,3); |
95 | +#else | ||
96 | + GtkTable * grid; | ||
97 | + GtkWidget * box = GTK_WIDGET(widget); | ||
98 | +#endif // GTK_CHECK_VERSION | ||
99 | + int f; | ||
92 | 100 | ||
93 | gtk_container_set_border_width(GTK_CONTAINER(box),3); | 101 | gtk_container_set_border_width(GTK_CONTAINER(box),3); |
94 | 102 | ||
@@ -96,13 +104,25 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | @@ -96,13 +104,25 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | ||
96 | static const gchar * label[TEXT_COUNT] = { N_("From"), N_("To"), N_("Status") }; | 104 | static const gchar * label[TEXT_COUNT] = { N_("From"), N_("To"), N_("Status") }; |
97 | 105 | ||
98 | frame = gtk_frame_new( _( "Informations" ) ); | 106 | frame = gtk_frame_new( _( "Informations" ) ); |
107 | + | ||
108 | +#if GTK_CHECK_VERSION(3,0,0) | ||
109 | + | ||
99 | grid = GTK_GRID(gtk_grid_new()); | 110 | grid = GTK_GRID(gtk_grid_new()); |
100 | 111 | ||
101 | - gtk_container_set_border_width(GTK_CONTAINER(grid),3); | ||
102 | gtk_grid_set_column_spacing(grid,5); | 112 | gtk_grid_set_column_spacing(grid,5); |
103 | gtk_grid_set_row_spacing(grid,5); | 113 | gtk_grid_set_row_spacing(grid,5); |
104 | gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE); | 114 | gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE); |
105 | 115 | ||
116 | +#else | ||
117 | + | ||
118 | + grid = GTK_TABLE(gtk_table_new(2,2,FALSE)); | ||
119 | + | ||
120 | + gtk_table_set_row_spacings(grid,5); | ||
121 | + gtk_table_set_col_spacings(grid,5); | ||
122 | + | ||
123 | +#endif // GTK_CHECK_VERSION | ||
124 | + | ||
125 | + gtk_container_set_border_width(GTK_CONTAINER(grid),3); | ||
106 | 126 | ||
107 | for(f=0;f<TEXT_COUNT;f++) | 127 | for(f=0;f<TEXT_COUNT;f++) |
108 | { | 128 | { |
@@ -113,16 +133,25 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | @@ -113,16 +133,25 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | ||
113 | gtk_misc_set_alignment(GTK_MISC(l),0,0); | 133 | gtk_misc_set_alignment(GTK_MISC(l),0,0); |
114 | g_free(ptr); | 134 | g_free(ptr); |
115 | 135 | ||
116 | - gtk_grid_attach(grid,l,0,f,1,1); | ||
117 | 136 | ||
118 | widget->text[f] = GTK_LABEL(gtk_label_new("-")); | 137 | widget->text[f] = GTK_LABEL(gtk_label_new("-")); |
119 | gtk_label_set_ellipsize(widget->text[f],PANGO_ELLIPSIZE_START); | 138 | gtk_label_set_ellipsize(widget->text[f],PANGO_ELLIPSIZE_START); |
120 | gtk_label_set_width_chars(widget->text[f],50); | 139 | gtk_label_set_width_chars(widget->text[f],50); |
121 | gtk_misc_set_alignment(GTK_MISC(widget->text[f]),0,0); | 140 | gtk_misc_set_alignment(GTK_MISC(widget->text[f]),0,0); |
122 | - gtk_widget_set_hexpand(GTK_WIDGET(widget->text[f]),TRUE); | ||
123 | 141 | ||
142 | +#if GTK_CHECK_VERSION(3,0,0) | ||
143 | + | ||
144 | + gtk_widget_set_hexpand(GTK_WIDGET(widget->text[f]),TRUE); | ||
145 | + gtk_grid_attach(grid,l,0,f,1,1); | ||
124 | gtk_grid_attach(grid,GTK_WIDGET(widget->text[f]),1,f,1,1); | 146 | gtk_grid_attach(grid,GTK_WIDGET(widget->text[f]),1,f,1,1); |
125 | 147 | ||
148 | +#else | ||
149 | + | ||
150 | + gtk_table_attach(grid,l,0,1,f,f+1,GTK_FILL,GTK_FILL,0,0); | ||
151 | + gtk_table_attach(grid,GTK_WIDGET(widget->text[f]),1,2,f,f+1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
152 | + | ||
153 | +#endif // GTK_CHECK_VERSION | ||
154 | + | ||
126 | 155 | ||
127 | } | 156 | } |
128 | gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid)); | 157 | gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid)); |
@@ -132,14 +161,27 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | @@ -132,14 +161,27 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | ||
132 | static const gchar *progressLabel[VALUE_COUNT] = { N_( "Total" ), N_( "Current" ), N_( "Speed" ), N_( "ETA" ) }; | 161 | static const gchar *progressLabel[VALUE_COUNT] = { N_( "Total" ), N_( "Current" ), N_( "Speed" ), N_( "ETA" ) }; |
133 | 162 | ||
134 | frame = gtk_frame_new( _( "Progress" ) ); | 163 | frame = gtk_frame_new( _( "Progress" ) ); |
164 | + | ||
165 | +#if GTK_CHECK_VERSION(3,0,0) | ||
166 | + | ||
135 | grid = GTK_GRID(gtk_grid_new()); | 167 | grid = GTK_GRID(gtk_grid_new()); |
136 | 168 | ||
137 | - gtk_container_set_border_width(GTK_CONTAINER(grid),3); | ||
138 | gtk_grid_set_column_spacing(grid,5); | 169 | gtk_grid_set_column_spacing(grid,5); |
139 | gtk_grid_set_row_spacing(grid,5); | 170 | gtk_grid_set_row_spacing(grid,5); |
140 | gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE); | 171 | gtk_widget_set_hexpand(GTK_WIDGET(grid),TRUE); |
141 | gtk_grid_set_column_homogeneous(grid,TRUE); | 172 | gtk_grid_set_column_homogeneous(grid,TRUE); |
142 | 173 | ||
174 | +#else | ||
175 | + | ||
176 | + grid = GTK_TABLE(gtk_table_new(3,4,FALSE)); | ||
177 | + | ||
178 | + gtk_table_set_row_spacings(grid,5); | ||
179 | + gtk_table_set_col_spacings(grid,5); | ||
180 | + | ||
181 | +#endif // GTK_CHECK_VERSION | ||
182 | + | ||
183 | + gtk_container_set_border_width(GTK_CONTAINER(grid),3); | ||
184 | + | ||
143 | for(f=0;f<VALUE_COUNT;f++) | 185 | for(f=0;f<VALUE_COUNT;f++) |
144 | { | 186 | { |
145 | GtkWidget * l = gtk_label_new(_("N/A")); | 187 | GtkWidget * l = gtk_label_new(_("N/A")); |
@@ -151,26 +193,40 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | @@ -151,26 +193,40 @@ static void v3270FTProgress_init(v3270FTProgress *widget) | ||
151 | gtk_misc_set_alignment(GTK_MISC(l),0,0); | 193 | gtk_misc_set_alignment(GTK_MISC(l),0,0); |
152 | g_free(ptr); | 194 | g_free(ptr); |
153 | 195 | ||
154 | - gtk_grid_attach(grid,l,c,r,1,1); | ||
155 | - | ||
156 | widget->value[f] = GTK_LABEL(gtk_label_new(_("N/A"))); | 196 | widget->value[f] = GTK_LABEL(gtk_label_new(_("N/A"))); |
157 | gtk_misc_set_alignment(GTK_MISC(widget->value[f]),1,0); | 197 | gtk_misc_set_alignment(GTK_MISC(widget->value[f]),1,0); |
158 | - gtk_widget_set_hexpand(GTK_WIDGET(widget->value[f]),TRUE); | ||
159 | 198 | ||
199 | +#if GTK_CHECK_VERSION(3,0,0) | ||
200 | + | ||
201 | + gtk_widget_set_hexpand(GTK_WIDGET(widget->value[f]),TRUE); | ||
202 | + gtk_grid_attach(grid,l,c,r,1,1); | ||
160 | gtk_grid_attach(grid,GTK_WIDGET(widget->value[f]),c+1,r,1,1); | 203 | gtk_grid_attach(grid,GTK_WIDGET(widget->value[f]),c+1,r,1,1); |
161 | 204 | ||
205 | +#else | ||
206 | + | ||
207 | + gtk_table_attach(grid,l,c,c+1,r,r+1,GTK_FILL,GTK_FILL,0,0); | ||
208 | + gtk_table_attach(grid,GTK_WIDGET(widget->value[f]),c+1,c+2,r,r+1,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
209 | + | ||
210 | +#endif // GTK_CHECK_VERSION | ||
162 | 211 | ||
163 | } | 212 | } |
164 | 213 | ||
165 | widget->progress = GTK_PROGRESS_BAR(gtk_progress_bar_new()); | 214 | widget->progress = GTK_PROGRESS_BAR(gtk_progress_bar_new()); |
215 | + | ||
216 | +#if GTK_CHECK_VERSION(3,0,0) | ||
166 | gtk_widget_set_hexpand(GTK_WIDGET(widget->progress),TRUE); | 217 | gtk_widget_set_hexpand(GTK_WIDGET(widget->progress),TRUE); |
167 | gtk_grid_attach(grid,GTK_WIDGET(widget->progress),0,2,4,1); | 218 | gtk_grid_attach(grid,GTK_WIDGET(widget->progress),0,2,4,1); |
219 | +#else | ||
220 | + gtk_table_attach(grid,GTK_WIDGET(widget->progress),0,4,2,3,GTK_EXPAND|GTK_FILL,GTK_FILL,0,0); | ||
221 | +#endif // GTK_CHECK_VERSION | ||
168 | 222 | ||
169 | gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid)); | 223 | gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid)); |
170 | gtk_container_add(GTK_CONTAINER(box),GTK_WIDGET(frame)); | 224 | gtk_container_add(GTK_CONTAINER(box),GTK_WIDGET(frame)); |
171 | 225 | ||
172 | // Add box on parent widget | 226 | // Add box on parent widget |
173 | - gtk_container_add(GTK_CONTAINER(widget),GTK_WIDGET(box)); | 227 | +#if GTK_CHECK_VERSION(3,0,0) |
228 | + gtk_container_add(GTK_CONTAINER(widget),box); | ||
229 | +#endif // GTK_CHECK_VERSION | ||
174 | 230 | ||
175 | } | 231 | } |
176 | 232 |
src/pw3270/ft/testprogram.c
@@ -38,32 +38,28 @@ int main (int argc, char *argv[]) | @@ -38,32 +38,28 @@ int main (int argc, char *argv[]) | ||
38 | 38 | ||
39 | gtk_init (&argc, &argv); | 39 | gtk_init (&argc, &argv); |
40 | 40 | ||
41 | - /* | ||
42 | { | 41 | { |
43 | GtkWidget *win = v3270_ft_dialog_new(NULL,LIB3270_FT_OPTION_RECEIVE); | 42 | GtkWidget *win = v3270_ft_dialog_new(NULL,LIB3270_FT_OPTION_RECEIVE); |
44 | v3270_ft_dialog_set_options(win,LIB3270_FT_OPTION_REMAP); | 43 | v3270_ft_dialog_set_options(win,LIB3270_FT_OPTION_REMAP); |
45 | gtk_dialog_run(GTK_DIALOG(win)); | 44 | gtk_dialog_run(GTK_DIALOG(win)); |
46 | } | 45 | } |
47 | - */ | ||
48 | 46 | ||
47 | + /* | ||
49 | { | 48 | { |
50 | GtkWidget *win = v3270_ft_dialog_new(NULL,LIB3270_FT_OPTION_SEND|LIB3270_FT_RECORD_FORMAT_VARIABLE); | 49 | GtkWidget *win = v3270_ft_dialog_new(NULL,LIB3270_FT_OPTION_SEND|LIB3270_FT_RECORD_FORMAT_VARIABLE); |
51 | v3270_ft_dialog_set_tso(win,FALSE); | 50 | v3270_ft_dialog_set_tso(win,FALSE); |
52 | gtk_dialog_run(GTK_DIALOG(win)); | 51 | gtk_dialog_run(GTK_DIALOG(win)); |
53 | } | 52 | } |
53 | + */ | ||
54 | 54 | ||
55 | - | ||
56 | -// gtk_dialog_run(GTK_DIALOG(v3270_ft_dialog_new(NULL,LIB3270_FT_OPTION_SEND|LIB3270_FT_OPTION_REMAP))); | ||
57 | - | ||
58 | - | ||
59 | -// v3270_ft_dialog_set_tso(win,TRUE); | ||
60 | - | ||
61 | -// win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ||
62 | -// gtk_container_add(GTK_CONTAINER(win),v3270_ft_progress_new()); | ||
63 | - | ||
64 | - | ||
65 | -// gtk_widget_show_all(win); | ||
66 | -// gtk_main (); | 55 | + /* |
56 | + { | ||
57 | + GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL); | ||
58 | + gtk_container_add(GTK_CONTAINER(win),v3270_ft_progress_new()); | ||
59 | + gtk_widget_show_all(win); | ||
60 | + gtk_main (); | ||
61 | + } | ||
62 | + */ | ||
67 | 63 | ||
68 | return 0; | 64 | return 0; |
69 | 65 |