Implement multiple inheritance in Help, allowing variables, fields and related

topics to be inherited from multiple entries.  Operation/Help now also gives
the help hash a default ISA array, to make downstream processing by tests and
documentation compilers easier.
Convert existing Help entries that already used ISA to have an array ref
instead of a singular hash ref.  Also update the Help skeleton to show
the new syntax.
This commit is contained in:
Colin Kuskie 2006-05-31 04:16:40 +00:00
parent d7450926be
commit b4597e50e5
14 changed files with 105 additions and 39 deletions

View file

@ -44,18 +44,18 @@ my @relatedHelp = ();
my @isaHelp = ();
foreach my $topic ( keys %helpTable ) {
foreach my $entry ( keys %{ $helpTable{$topic} }) {
my @related = WebGUI::Operation::Help::_related($session, $helpTable{$topic}{$entry}{related});
my @related = @{ $helpTable{$topic}{$entry}{related} };
foreach my $relHash (@related) { ##Inplace modify
$relHash->{parentEntry} = $entry;
$relHash->{parentTopic} = $topic;
}
push @relatedHelp, @related;
if ( scalar keys %{ $helpTable{$topic}{$entry}{isa} } > 0 ) {
my $isaHash = $helpTable{$topic}{$entry}{isa};
my @isas = @{ $helpTable{$topic}{$entry}{isa} };
foreach my $isaHash ( @isas ) {
$isaHash->{parentEntry} = $entry;
$isaHash->{parentTopic} = $topic;
push @isaHelp, $isaHash;
}
push @isaHelp, @isas;
}
}