diff options
Diffstat (limited to 'perl-install/unused/migrate-ugtk2-to-mygtk2.pl')
| -rwxr-xr-x[-rw-r--r--] | perl-install/unused/migrate-ugtk2-to-mygtk2.pl | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/perl-install/unused/migrate-ugtk2-to-mygtk2.pl b/perl-install/unused/migrate-ugtk2-to-mygtk2.pl index 10e82f555..aabeb8a36 100644..100755 --- a/perl-install/unused/migrate-ugtk2-to-mygtk2.pl +++ b/perl-install/unused/migrate-ugtk2-to-mygtk2.pl @@ -2,7 +2,7 @@ use MDK::Common; BEGIN { @ARGV or warn(<<EOF), exit 1; -usage: unused/migrate-ugtk2-to-mygtk2.pl -pi <file.pm> +usage: $0 -pi <file.pm> - an emacs is launched with a script fixing the closing "children => [ ...", simply save the file and exit this emacs @@ -23,7 +23,7 @@ $b = 1; while ($b) { $b = 0; - if (my ($before, $class, undef, $new, $arg, $after, $after2) = /(.*?)Gtk2::(\w+(::\w+)*)->(new\w*)(?:\(($re)\)(.*)|([^(].*))/s) { + if (my ($before, $class, undef, $new, $arg, $after, $after2) = /(.*?)Gtk3::(\w+(::\w+)*)->(new\w*)(?:\(($re)\)(.*)|([^(].*))/s) { $after ||= $after2; my $s; @@ -124,6 +124,9 @@ while ($b) { $b = 1 if s/create_packtable\(\{($re)\},/my $s = prepost_chomp($1); "gtknew('Table', " . ($s ? "$s, " : '') . "children => ["/e; + $b = 1 if s/gtkcreate_img\(($re)\)/gtknew('Image', file => $1)/; + $b = 1 if s/gtkcreate_pixbuf\(($re)\)/gtknew('Pixbuf', file => $1)/; + $b = 1 if s/(gtkadd|gtkpack_{0,2})\(($assign?gtknew\('[HV](?:Button)?Box'$re)\),/"$2, " . $pack{$1} . " => ["/e; $b = 1 if s/(\$\w+)->set_label\(($re)\)/gtkset($1, text => $2)/; @@ -171,11 +174,17 @@ sub dorepl_new { if ($class_ eq 'TextView' || !$class) { $s = "$pre, text => "; } + } elsif ($f eq 'gtkset_text') { + if ($class_ eq 'Entry' || !$class) { + $s = "$pre, text => "; + } } if (!$s) { if ($f =~ /^gtkset_(relief|sensitive|shadow_type|modal|border_width|layout|editable)$/) { $s = "$pre, $1 => "; + } elsif ($f eq 'gtkset_name') { + $s = "$pre, widget_name => "; } elsif ($f eq 'gtkset_size_request') { if ($after =~ /($re)\s*,\s*($re)\)(.*)/s) { $s = $pre . ($1 && $1 ne '-1' ? ", width => $1" : '') . ($2 && $2 ne '-1' ? ", height => $2" : '') . ')'; @@ -191,6 +200,8 @@ sub dorepl_new { } sub dorepl { + s/gtkdestroy\(/mygtk3::may_destroy(/ || + s/gtkset_background\(/mygtk3::set_root_window_background(/ || s/gtkset_tip\($re,\s*($re),\s*($re)\)/gtkset($1, tip => $2)/ || s/gtkset_size_request\(($re),\s*($re), ($re)\)/"gtkset($1" . ($2 && $2 ne '-1' ? ", width => $2" : '') . ($3 && $3 ne '-1' ? ", height => $3" : '') . ')'/e || s/gtkset_(modal)\(($re),\s*($re)\)/gtkset($2, $1 => $3)/ || @@ -210,7 +221,8 @@ END { if (defined $^I) { foreach (@args) { warn "$_: closing children using emacs\n"; - system('emacs', '-q', '-l', 'unused/migrate-ugtk2-to-mygtk2.el', $_, '-f', 'my-close-children') + (my $el = $0) =~ s/\.pl$/.el/ or die ".el missing"; + system('emacs', '-q', '-l', $el, $_, '-f', 'my-close-children') } } } |
