Kephra

 view release on metacpan or  search on metacpan

lib/Kephra/App/Window/Menu.pm  view on Meta::CPAN

    Wx::Event::EVT_MENU( $win, 12110, sub { $ed->Undo                 });
    Wx::Event::EVT_MENU( $win, 12120, sub { $ed->Redo                 });
    Wx::Event::EVT_MENU( $win, 12130, sub { $ed->fast_undo            });
    Wx::Event::EVT_MENU( $win, 12140, sub { $ed->fast_redo            });
    Wx::Event::EVT_MENU( $win, 12150, sub { $ed->total_undo           });
    Wx::Event::EVT_MENU( $win, 12160, sub { $ed->total_redo           });
    Wx::Event::EVT_MENU( $win, 12200, sub { $ed->cut                  });
    Wx::Event::EVT_MENU( $win, 12210, sub { $ed->copy                 });
    Wx::Event::EVT_MENU( $win, 12220, sub { $ed->Paste                });
    Wx::Event::EVT_MENU( $win, 12230, sub { $ed->replace              });
    Wx::Event::EVT_MENU( $win, 12240, sub { $ed->Clear                });
    Wx::Event::EVT_MENU( $win, 12410, sub { $ed->expand_selecton      });
    Wx::Event::EVT_MENU( $win, 12420, sub { $ed->shrink_selecton      });
    Wx::Event::EVT_MENU( $win, 12510, sub { $ed->duplicate            });
    Wx::Event::EVT_MENU( $win, 13100, sub { $ed->move_left            });
    Wx::Event::EVT_MENU( $win, 13110, sub { $ed->move_right           });
    Wx::Event::EVT_MENU( $win, 13120, sub { $ed->move_up              });
    Wx::Event::EVT_MENU( $win, 13130, sub { $ed->move_down            });
    Wx::Event::EVT_MENU( $win, 13300, sub { $ed->toggle_block_comment });
    Wx::Event::EVT_MENU( $win, 13310, sub { $ed->toggle_comment       });
    Wx::Event::EVT_MENU( $win, 14110, sub { $win->{'searchbar'}->enter             });
    Wx::Event::EVT_MENU( $win, 14120, sub { $win->{'searchbar'}->find_prev         });
    Wx::Event::EVT_MENU( $win, 14130, sub { $win->{'searchbar'}->find_next         });
    Wx::Event::EVT_MENU( $win, 14210, sub { $win->{'replacebar'}->enter            });
    Wx::Event::EVT_MENU( $win, 14220, sub { $win->{'replacebar'}->replace_prev     });
    Wx::Event::EVT_MENU( $win, 14230, sub { $win->{'replacebar'}->replace_next     });
    Wx::Event::EVT_MENU( $win, 14240, sub { $win->{'replacebar'}->replace_in_selection });
    Wx::Event::EVT_MENU( $win, 14250, sub { $win->{'replacebar'}->replace_all      });
    Wx::Event::EVT_MENU( $win, 14310, sub { $ed->marker_toggle        });
    Wx::Event::EVT_MENU( $win, 14320, sub { $ed->marker_prev          });
    Wx::Event::EVT_MENU( $win, 14330, sub { $ed->marker_next          });
    Wx::Event::EVT_MENU( $win, 14310, sub { $ed->toggle_marker        });
    Wx::Event::EVT_MENU( $win, 14340, sub { $ed->delete_all_marker    });
    Wx::Event::EVT_MENU( $win, 14320, sub { $ed->goto_prev_marker     });
    Wx::Event::EVT_MENU( $win, 14330, sub { $ed->goto_next_marker     });
    Wx::Event::EVT_MENU( $win, 14400, sub { $ed->goto_last_edit       });
    Wx::Event::EVT_MENU( $win, 15100, sub { $ed->toggle_tab_usage     });
    Wx::Event::EVT_MENU( $win, 15200 + $_, eval 'sub { $ed->set_tab_size('.$_.')}') for @tab_range;
    Wx::Event::EVT_MENU( $win, 15411, sub { $ed->set_EOL_lf           });
    Wx::Event::EVT_MENU( $win, 15412, sub { $ed->set_EOL_cr           });
    Wx::Event::EVT_MENU( $win, 15413, sub { $ed->set_EOL_crlf         });
    #Wx::Event::EVT_MENU( $win, 15701 + $_, eval 'sub { Kephra::App::Editor::SyntaxMode::set($win->{editor},"'.$modes[$_].'")}') for 0 .. $#modes;
    Wx::Event::EVT_MENU( $win, 16110, sub { $ed->toggle_view_whitespace     });
    Wx::Event::EVT_MENU( $win, 16120, sub { $ed->toggle_view_eol            });
    Wx::Event::EVT_MENU( $win, 16130, sub { $ed->toggle_view_indent_guide   });
    Wx::Event::EVT_MENU( $win, 16140, sub { $ed->toggle_view_right_margin   });
    Wx::Event::EVT_MENU( $win, 16210, sub { $ed->toggle_view_line_nr_margin });
    Wx::Event::EVT_MENU( $win, 16220, sub { $ed->toggle_view_marker_margin  });
    Wx::Event::EVT_MENU( $win, 16310, sub { $ed->zoom_in                    });
    Wx::Event::EVT_MENU( $win, 16320, sub { $ed->zoom_out                   });

    Wx::Event::EVT_MENU( $win, 16340 + $_, eval 'sub { $win->{editor}->set_zoom_level('.$_.')}') for @zoom_range;
    Wx::Event::EVT_MENU( $win, 16410, sub { $win->toggle_full_screen           });
    Wx::Event::EVT_MENU( $win, 16420, sub { $win->{'editor'}->toggle_view_line_wrap      });
    Wx::Event::EVT_MENU( $win, 16430, sub { $win->{'editor'}->toggle_view_caret_line     });
#    Wx::Event::EVT_MENU( $win, 15100, sub { Kephra::App::Dialog::documentation( $win ) });
#    Wx::Event::EVT_MENU( $win, 15200, sub { Kephra::App::Dialog::keymap($win)  });
    Wx::Event::EVT_MENU( $win, 17500, sub { Kephra::App::Dialog::about( $win)  });
}

sub update_recent_files_menu {
    my ($win, $closed_file) = @_;
    my $recent_files = $win->config->get_value('file', 'closed');
    return unless ref $recent_files eq 'ARRAY';
    if (defined $closed_file and $closed_file){
        unshift @$recent_files, $closed_file;
        for my $i (reverse 1 .. $#$recent_files){
            splice( @$recent_files, $i, 1) if $recent_files->[$i] eq $closed_file;
        }
    }
    my $start_menu_ID = 11300;
    $win->{'file_menu'}->Destroy( $start_menu_ID );
    my $Recent_ID = $start_menu_ID + 1;
    $win->{'recent_menu'} = Wx::Menu->new();
    for my $path (@$recent_files){
        $win->{'recent_menu'}->Append($Recent_ID, $path);
        Wx::Event::EVT_MENU( $win, $Recent_ID++, sub { $win->read_file( $path ) });
    }
    $win->{'file_menu'}->Insert( 4, $start_menu_ID, '&Closed', $win->{'recent_menu'}, 'reopen recently closed files' );
}


sub edit_context { $edit }


1;



( run in 0.922 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )