Changeset 5356


Ignore:
Timestamp:
06/19/09 07:24:00 (3 years ago)
Author:
azawawi
Message:

[Perl 6] implemented the creation of the Perl 6 template files by borrowing code from Padre :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre-Plugin-Perl6/lib/Padre/Plugin/Perl6.pm

    r5355 r5356  
    8686        $main, 
    8787        $self->{menu}->Append( -1, Wx::gettext("Create Perl 6..."), $file_menu), 
    88         sub { }, 
     88        sub {}, 
    8989    ); 
    9090    Wx::Event::EVT_MENU( 
    9191        $main, 
    9292        $file_menu->Append( -1, Wx::gettext("Class"), ), 
    93         sub { }, 
     93        sub { $self->_create_from_template('p6_class','p6') }, 
    9494    ); 
    9595    Wx::Event::EVT_MENU( 
    9696        $main, 
    9797        $file_menu->Append( -1, Wx::gettext("Grammar"), ), 
    98         sub { }, 
     98        sub { $self->_create_from_template('p6_grammar', 'p6') }, 
    9999    ); 
    100100    Wx::Event::EVT_MENU( 
    101101        $main, 
    102102        $file_menu->Append( -1, Wx::gettext("Package"), ), 
    103         sub { }, 
     103        sub { $self->_create_from_template('p6_package', 'p6') }, 
    104104    ); 
    105105    Wx::Event::EVT_MENU( 
    106106        $main, 
    107107        $file_menu->Append( -1, Wx::gettext("Module"), ), 
    108         sub { }, 
     108        sub { $self->_create_from_template('p6_module', 'p6') }, 
    109109    ); 
    110110    Wx::Event::EVT_MENU( 
    111111        $main, 
    112112        $file_menu->Append( -1, Wx::gettext("Role"), ), 
    113         sub { }, 
     113        sub { $self->_create_from_template('p6_role', 'p6') }, 
    114114    ); 
    115115    Wx::Event::EVT_MENU( 
    116116        $main, 
    117117        $file_menu->Append( -1, Wx::gettext("Perl 6 in Perl 5"), ), 
    118         sub { }, 
     118        sub { $self->_create_from_template('p6_inline_in_p5', 'p5') }, 
    119119    ); 
    120120 
     
    214214sub registered_documents { 
    215215    'application/x-perl6' => 'Padre::Plugin::Perl6::Perl6Document', 
     216} 
     217 
     218# create a Perl 6 file from the template 
     219sub _create_from_template { 
     220    my ( $self, $template, $extension ) = @_; 
     221     
     222    $self->main->on_new; 
     223     
     224    my $editor = $self->current->editor or return; 
     225    my $file   = File::Spec->catdir( _sharedir(), "templates/$template.$extension" ); 
     226    $editor->insert_from_file($file); 
     227 
     228    my $document = $editor->{Document}; 
     229    $document->set_mimetype( $document->mime_type_by_extension($extension) ); 
     230    $document->editor->padre_setup; 
     231    $document->rebless; 
     232 
     233    return; 
    216234} 
    217235 
Note: See TracChangeset for help on using the changeset viewer.