Files @ d7edbe56b125
Branch filter:

Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl

Roeland Merks
The snapshot feature stopped working on Windows. The problem was in MainBase::Save, where the "format" argument was added to "image->save". On Windows the file format must be given in Capitals and in specific formats (e.g. TIFF works, TIF not).

It is much safer to leave the 'format' argument out and let the system guess the format from the file extension.

--
user: Roeland Merks <roeland.merks@cwi.nl>
branch 'default'
changed src/canvas.cpp
changed src/mainbase.cpp
changed src/mainbase.h
#!/usr/bin/perl

$cfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$hfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$pfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";

$ocfname = $cfilename; $ocfname =~ s/\.cpp/_tl.cpp/g;
$ohfname = $hfilename; $ohfname =~ s/\.h/_tl.h/g;
$opfname = $pfilename; $opfname =~ s/\.pro/_tl.pro/g;

print STDERR "Translating '$cfilename' to '$ocfname', '$hfilename' to '$ohfname', and '$pfilename' to '$opfname'\n";

open cfile,"<$cfilename";
open ocfile,">$ocfname";

while (<cfile>) {
    
    #s/$hfilename/$ohfname/g;
    
    # translate function definitions
    if (/[a-zA-Z0-9 ]*::OnDivide/) {
	s/ParentInfo &parent_info/ParentInfo *parent_info/g;
	s/CellBase &daughter1/CellBase *daughter1/g;
	s/CellBase &daughter2/CellBase *daughter2/g;
    }
    
    if (/[a-zA-Z0-9 ]*::SetCellColor/) {
	s/CellBase &c/CellBase *c/g;
	s/QColor &color/QColor *color/g;
    }
    
    if (/[a-zA-Z0-9 ]*::CellHouseKeeping/) {
	s/CellBase &c/CellBase *c/g;
    }
    
    # translate member function calls
    s/\bparent_info\b\./parent_info->/g;
    s/\bdaughter1\b\./daughter1->/g;
    s/\bdaughter2\b\./daughter2->/g;
    s/\bc\b\./c->/g;
    s/\bcolor\b\./color->/g;
    print ocfile;
    
}

open hfile,"<$hfilename";
open ohfile,">$ohfname";

while (<hfile>) {
    if (/[ \t]*virtual[ \t]+void[ \t]+CellHouseKeeping/) {
	s/CellBase &c/CellBase *c/g;
    }
    if (/[ \t]*virtual[ \t]+void[ \t]+OnDivide/) {
	s/ParentInfo &parent_info/ParentInfo *parent_info/g;
	s/CellBase &daughter1/CellBase *daughter1/g;
	s/CellBase &daughter2/CellBase *daughter2/g;
    }
    if (/[ \t]*virtual[ \t]+void[ \t]+SetCellColor/) {
	s/CellBase &c/CellBase *c/g;
	s/QColor &color/QColor *color/g;
    }
    
    
    print ohfile;
    
}

open pfile,"<$pfilename";
open opfile,">$opfname";

while (<pfile>) {
    
    s/\bplugin\b\.h/plugin_tl\.h/g;
    s/\bplugin\b\.cpp/plugin_tl\.cpp/g;
    
    print opfile;
    
}

#finis