mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
fancy listbox
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@369 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
@@ -143,7 +143,7 @@ sub scan_dir {
|
||||
|
||||
$l =~ s/[ \t]+/ /g;
|
||||
$l =~ s/[ ]*(?:\\|,[ ]*)$//g;
|
||||
$l =~ s/[ ]*(?:;|\{.*)[ ]*$/;/g;
|
||||
$l =~ s/[ ]*(?:;( \/\*.+)?|\{.*)[ ]*$/;/g;
|
||||
if (!($l =~ /^#/)) {
|
||||
$l =~ s/\(([^\)]+)\)/arguments($1)/ge;
|
||||
}
|
||||
@@ -153,7 +153,7 @@ sub scan_dir {
|
||||
$sl =~ s/=.+$//g;
|
||||
$sl =~ s/^#[^ ]+(?:[ \t]+([^ \(]+)(?:.+$))?/\1/;
|
||||
$sl =~ s/^.+[ \t]+([^ ]+)[ \t]*\(.+\);?$/\1/g;
|
||||
$sl =~ s/^.+[ \t]+([^ ]+);$/\1/g;
|
||||
$sl =~ s/^.+[ \t]+([^ ]+);( \/\*.+)?$/\1/g;
|
||||
|
||||
$id = replace_special($current . "__" . $sl);
|
||||
$attr = " id=\"$id\"";
|
||||
|
||||
@@ -44,6 +44,7 @@ foreach my $f (@files) {
|
||||
my @props = ();
|
||||
my @methods = ();
|
||||
my @omethods = ();
|
||||
my @comments = ();
|
||||
my @names = ();
|
||||
my @args = ();
|
||||
|
||||
@@ -55,12 +56,13 @@ foreach my $f (@files) {
|
||||
@props = split(/[ \t]+/, $1);
|
||||
}
|
||||
elsif ($l =~
|
||||
/^MWDECL[ \t]+(.+)[ \t]+Mw${name}([^ \t]+)[ \t]*\([^,\)]+(?:,(.*))?\);$/
|
||||
/^MWDECL[ \t]+(.+)[ \t]+Mw${name}([^ \t]+)[ \t]*\([^,\)]+(?:,(.*))?\);(?: \/\*(.+))?$/
|
||||
)
|
||||
{
|
||||
my $arg = $3;
|
||||
my $ret = $1;
|
||||
my $nam = $2;
|
||||
my $com = $4;
|
||||
|
||||
$arg =~ s/^[ \t]+//;
|
||||
$arg =~ s/[ \t]+$//;
|
||||
@@ -72,6 +74,7 @@ foreach my $f (@files) {
|
||||
push(@methods, "$ret $nam($arg)");
|
||||
push(@omethods, "$ret MwOO::${name}::$nam($arg)");
|
||||
push(@names, $nam);
|
||||
push(@comments, $com);
|
||||
|
||||
my @al = split(/[ \t]*,[ \t]*/, $arg);
|
||||
my $i = 0;
|
||||
@@ -152,7 +155,8 @@ foreach my $f (@files) {
|
||||
|
||||
my $i = 0;
|
||||
foreach my $m (@omethods) {
|
||||
my $end = "";
|
||||
my $end = "";
|
||||
my $suffix = "";
|
||||
if ($m =~ /^MwWidget[ \t]+/) {
|
||||
my $l = $m;
|
||||
$l =~ s/^MwWidget([ \t]+)/MwOO::Base\1/;
|
||||
@@ -161,23 +165,46 @@ foreach my $f (@files) {
|
||||
else {
|
||||
print(OUT "$m\{\n");
|
||||
}
|
||||
if ($args[$i] =~ /\.\.\./) {
|
||||
print(OUT " va_list va;\n");
|
||||
}
|
||||
if (!($m =~ /^void[ \t]+/)) {
|
||||
my $rettype = $m;
|
||||
$rettype =~ s/^MwWidget([ \t]+)/MwOO::Base\1/;
|
||||
$rettype =~ s/ MwOO::.+\)$//;
|
||||
print(OUT " $rettype ret;\n");
|
||||
}
|
||||
if ($args[$i] =~ /\.\.\./) {
|
||||
my $p = $comments[$i];
|
||||
$p =~ /VA_HINT:([^ ]+)/;
|
||||
print(OUT " va_start(va, $1);\n");
|
||||
$suffix = "Va";
|
||||
}
|
||||
if ($m =~ /^void[ \t]+/) {
|
||||
print(OUT " Mw${name}" . $names[$i]);
|
||||
print(OUT " Mw${name}$suffix" . $names[$i]);
|
||||
}
|
||||
elsif ($m =~ /^MwWidget[ \t]+/) {
|
||||
print(OUT " return MwOO::Base(Mw${name}" . $names[$i]);
|
||||
print(OUT " ret = MwOO::Base(Mw${name}$suffix" . $names[$i]);
|
||||
$end = ")";
|
||||
}
|
||||
else {
|
||||
print(OUT " return Mw${name}" . $names[$i]);
|
||||
print(OUT " ret = Mw${name}$suffix" . $names[$i]);
|
||||
}
|
||||
if ($args[$i] eq "void") {
|
||||
print(OUT "(this->widget)$end;\n");
|
||||
}
|
||||
else {
|
||||
print(OUT "(this->widget, " . $args[$i] . ")$end;\n");
|
||||
my $p = $args[$i];
|
||||
$p =~ s/\.\.\./va/;
|
||||
print(OUT "(this->widget, " . $p . ")$end;\n");
|
||||
}
|
||||
print(OUT "}\n");
|
||||
if ($args[$i] =~ /\.\.\./) {
|
||||
print(OUT " va_end(va);\n");
|
||||
}
|
||||
if (!($m =~ /^void[ \t]+/)) {
|
||||
print(OUT " return ret;\n");
|
||||
}
|
||||
print(OUT "}\n\n");
|
||||
$i++;
|
||||
}
|
||||
foreach my $prop (@props) {
|
||||
|
||||
Reference in New Issue
Block a user