summaryrefslogtreecommitdiffstats
path: root/perl-install/unused/migrate-ugtk2-to-mygtk2.pl
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/unused/migrate-ugtk2-to-mygtk2.pl')
-rwxr-xr-x[-rw-r--r--]perl-install/unused/migrate-ugtk2-to-mygtk2.pl18
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')
}
}
}