From 47f9f8c3e78916409320a7fcdd0fe05ab83bd352 Mon Sep 17 00:00:00 2001 From: Michael Zucci Date: Mon, 25 Oct 2004 04:42:29 +0000 Subject: Various updates, some more work on auto-generated stuff. svn path=/trunk/; revision=27711 --- doc/devel/build-eplugin-manual.pl | 109 ++++++++++++++++++++++++++++++++++ doc/devel/evolution-plugin-manual.xml | 31 +++++++++- 2 files changed, 137 insertions(+), 3 deletions(-) (limited to 'doc/devel') diff --git a/doc/devel/build-eplugin-manual.pl b/doc/devel/build-eplugin-manual.pl index 6608c876e5..f7e5569b63 100755 --- a/doc/devel/build-eplugin-manual.pl +++ b/doc/devel/build-eplugin-manual.pl @@ -122,3 +122,112 @@ END } +# +# Generic table builder, still experimental. +# + +sub buildxml { + my $type = $_[0]; + my $out = $_[1]; + my %data = %{$_[2]}; + my @files, $module; + + print "generating doc $out for $type\n"; + @files = @{$data{'files'}}; + $module = $data{'module'}; + open OUT,">$out"; + foreach $file (@files) { + open IN,"<../../$module/$file"; + while () { + if (m/\/\*\* \@$type: (.*)/) { + my $key = ""; + my $val = ""; + my $desc = 0; + my $title = $1; + my %blob = { }; + my @blobs = (); + + while () { + if (m/\@(.*): (.*)/) { + if ($val ne "") { + $blob{$key} = $val; + } + $key = $1; + $val = $2; + push @blobs, $key; + } elsif (m/\* (.+)/) { + $val .= $1."\n"; + } else { + if ($desc == 0) { + if ($val ne "") { + $blob{$key} = $val; + } + $val = ""; + $key = ""; + } else { + $val .= "\n"; + } + if (m/\*\s*$/) { + $desc = 1; + } + } + last if (m/\*\//); + } + print OUT< + $title + + + + + +END + + foreach $key (@blobs) { + print OUT < + $key + $blob{$key} + +END +} + print OUT < + + +END + if ($val ne "") { + $val =~ s/[\n]+$//gos; + $val =~ s/\n\n/\<\/simpara\>\n\/g; + print OUT "$val\n"; + } + print OUT "\n"; + } + } + close IN; + } + close OUT; +} + + +%hooks = ( 'es-hooks.xml' => + { 'type' => 'HookClass', + 'files' => [ 'es-menu.c', 'es-event.c' ], + 'module' => 'shell' }, + 'es-menus.xml' => + { 'type' => 'HookPoint', + 'files' => [ 'e-shell-window.c' ], + 'module' => 'shell' }, + 'es-events.xml' => + { 'type' => 'Event', + 'files' => [ 'e-shell.c' ], + 'module' => 'shell' }, + ); + +foreach $out (keys %hooks) { + %data = %{$hooks{$out}}; + + &buildxml($data{'type'}, $out, \%data); +} + + diff --git a/doc/devel/evolution-plugin-manual.xml b/doc/devel/evolution-plugin-manual.xml index dbac234ca4..ad84699172 100644 --- a/doc/devel/evolution-plugin-manual.xml +++ b/doc/devel/evolution-plugin-manual.xml @@ -18,6 +18,9 @@ + + + ]> @@ -2872,9 +2875,31 @@ Shell Hooks - - None defined. - + + + Main menus + + + The mail menu class is + org.gnome.evolution.shell.bonobomenu:1.0. + + + The plugin callback data will be the target matching the plugin + menu itself, and the callback returns no value. + + &es-menus; + + + Events + + + The shell event class is + org.gnome.evolution.shell.events:1.0. + + + &es-events; + + -- cgit v1.2.3