All pastes #813011 Raw Edit

Stuff

public text v1 · immutable
·published 2007-12-12 05:15 UTC
rendered paste body
use Win32::GUI;
my $file = shift || die "no file specified\n";
open(file, $file) or die $!;
$line=0;
our %window;
our %workspace;
while ($x=<file>) {
	$line++;
	chomp($x);
	$x=~s/\t//;
	$x=~s/\s+/ /g;
	@n=split(/\s/,$x);
	if ($n[0] eq "workspace") {
		die("syntax error! $file:$line error:workspace \`$n[1]' already defined\n") if (defined($workspace{$n[1]}));
		$workspace{$n[1]} = 1;
	}
	if ($n[0] eq "window") {
		die("fatal error! $file:$line error:window \`$n[1]' already defined\n") if (defined($window{$n[1]}));
		$window{$n[1]} = Win32::GUI::Window->new(-name => $n[1]) or die $@;
		$window{$n[1]}->Change(-minsize => [$n[2], $n[3]]);
		$window{$n[1]}->Show();
	}
	if ($n[0] eq "title") {
		$title = substr($x, 6);
	#	$window{$n[1]}->Change(-text => $title);
	#	$window{$n[1]}->AddLabel(-text => $title);
	}
	if ($n[0] eq "text") {
		
	}
	if ($n[0] eq "end") {
		if ($n[1] eq "workspace") {
			die("syntax error! $file:$line error:workspace \`$n[2]' not open\n") if (!defined($workspace{$n[2]}));
			undef($workspace{$n[2]});
		}
	}
}

Win32::GUI::Dialog();

__END__;
workspace bff
	window win1 100 100
	title win1 window number 1
		text 0 0 255 0 0 herro world
	end window win1
end workspace bff