Changeset 11990


Ignore:
Timestamp:
07/24/10 20:40:09 (19 months ago)
Author:
azawawi
Message:

Added wxwidgets.pod parsing to Padre help search. It is now included in the index but not rendered.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Document/Perl/Help.pm

    r11742 r11990  
    1414 
    1515# for caching help list (for faster access) 
    16 my ( $cached_help_list, $cached_perlopref ); 
     16my ( $cached_help_list, $cached_perlopref, $cached_wxwidgets ); 
    1717 
    1818# Initialize help 
     
    2424        $self->{help_list} = $cached_help_list; 
    2525        $self->{perlopref} = $cached_perlopref; 
     26        $self->{wxwidgets} = $cached_wxwidgets; 
    2627        return; 
    2728    } 
     
    136137    push @index, keys %{ $self->{perlopref} }; 
    137138 
     139    # Add wxWidgets documentation 
     140    $self->{wxwidgets} = $self->_parse_wxwidgets; 
     141    push @index, keys %{ $self->{wxwidgets} }; 
     142 
    138143    # Return a unique sorted index 
    139144    my %seen = (); 
     
    144149    $cached_help_list = $self->{help_list}; 
    145150    $cached_perlopref = $self->{perlopref}; 
     151    $cached_wxwidgets = $self->{wxwidgets}; 
    146152} 
    147153 
     
    205211} 
    206212 
     213# Parses wxwidgets.pod (Perl Operator Reference) 
     214sub _parse_wxwidgets { 
     215    my $self  = shift; 
     216    my %index = (); 
     217 
     218    # Open wxwidgets.pod for reading 
     219    my $wxwidgets = File::Spec->join( Padre::Util::sharedir('doc'), 'wxwidgets', 'wxwidgets.pod' ); 
     220    if ( open my $fh, '<', $wxwidgets ) { #-# no critic (RequireBriefOpen) 
     221                                          # Add PRECEDENCE to index 
     222        my $line; 
     223 
     224        # Add methods to index 
     225        my $method; 
     226        while ( $line = <$fh> ) { 
     227            if ( $line =~ /=head2\s+(.+)$/ ) { 
     228                $method = $1; 
     229                $index{$method} = $line; 
     230            } elsif ($method) { 
     231                $index{$method} .= $line; 
     232            } 
     233        } 
     234 
     235        # and we're done 
     236        close $fh; 
     237    } else { 
     238        TRACE("Cannot open wxwidgets.pod\n") if DEBUG; 
     239    } 
     240 
     241    return \%index; 
     242} 
     243 
    207244# Renders the help topic content into XHTML 
    208245sub help_render { 
Note: See TracChangeset for help on using the changeset viewer.