Changeset 868
- Timestamp:
- 11/10/08 10:36:20 (3 years ago)
- Location:
- trunk/lib
- Files:
-
- 2 edited
-
Padre.pm (modified) (6 diffs)
-
Padre/Pod/Viewer.pm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/lib/Padre.pm
r858 r868 32 32 Windows. 33 33 34 =head1 Getting Started 35 36 After installing Padre you can start it by typing B<padre> on the command line. 37 On Windows that would be Start/Run padre.bat 38 39 By default Padre starts with an editor containing a simple Perl script 40 and instructions. 41 42 You can edit the file and save it using File/Save (Ctrl-S ). 43 44 You can run the script by pressing Run/Run Script (F5) 45 46 You can start new files File/New (Ctrl-N) 47 or open existing files File/Open (Ctrl-O). 48 49 By default Padre uses the same perl interpreter fo 50 executing code that it uses for itself but this will be configurable 51 later. 52 34 53 =head1 FEATURES 35 54 … … 40 59 =head1 DESCRIPTION 41 60 61 =head2 Configuration 62 42 63 The application maintains its configuration information in a 43 64 directory called F<.padre>. 65 66 67 =head2 Files operations 68 69 B<File/New> creates a new empty file. By default Padre assumes this is a perl script. 70 (TODO later this default will be configurable). 71 72 B<File/Open> allows you to select brows for a file and select it for opening. 73 74 B<File/Open Selection>, (Ctrl-Shift-O) if there is a selected text this will 75 try to locate files that match the selction. If the selection looks like a path 76 Padre will try to open that path either absolute or relative. 77 If it looks like a module name (Some::Thing) it will try to find the appropriate file 78 Some/Thing.pm in @INC and open it. 79 currently this feature opens the firs file encountered. 80 (TODO it should find all the possibilities and if there are multiple hits 81 offer the user to choose. This will be especially important if we are 82 working on a module that is also already installed. Padre might 83 find the installed version first while we might want to open the 84 development version.) 85 86 (TODO: when the file is not of perl type we should have other ways to recognize 87 files from internal naming and have pathes to search. Surprise, not every 88 language uses @INC.) 89 90 B<File/Close> checks if the file is saved, if it is closes the current tab. 91 92 B<File/Close All> closes all the file (in case they are not saved yet ask for instructions). 93 94 B<File/Close All but Current Document>. 95 96 B<File/Reload File> is interesting if you either made changes and want to discard them 97 and/or if the file has changed on the disk. If there are unsaved changes Padre will ask 98 you if you really want to throw them away. (TODO: make a backup of the file before discarding it) 99 100 B<File/Save> Ctrl-S - save the current file. If the buffer has not yet save and has no filename 101 associated with it, Padre will ask you for a filename. 102 103 B<File/Save As> - Offer the user to select a new filename and save the content under that name. 104 105 B<File/Save All> - Save all the currently opened files. 106 107 B<File/Convert> - Convert line endings to Windows, Unix or Mac Classic style. 108 (TODO stop the autoconversion of mixed files, just report them.) 109 110 B<Files/Recent Files> - a list of recently opened files to open them easily. 111 (TODO: update the list when we open a file, not only when opening padre) 112 (TODO: allow the user to configure size of history) 113 114 B<File/Doc Stats> - just random statistics about the current document. 115 (TODO: If you miss anything important let us know!) 116 117 B<File/Quit> also called exit. 118 119 120 =head2 Simple editing 121 122 The simple editing features (should) provide the expected behavior 123 for Windows users. 124 125 B<Edit/Undo> Ctrl-Z 126 127 B<Edit/Redo> 128 129 B<Edit/Select All> Ctrl-A , select all the characters in the current document 130 131 B<Edit/Copy> Ctrl-C 132 133 B<Edit/Cut> Ctrl-X 134 135 B<Edit/Paste> Ctrl-V 136 137 138 (TODO What is Ctrl-D ?, duplicate the current line?) 139 140 =head2 Mouse right click 141 142 Click on the right button of the mouse brings up a context sensitive menu. 143 It provides the basic editing functions and will provide other context 144 sensitive options. 145 146 147 =head2 Projects (TODO) 148 149 Padre will have the notion of a Perl project. As we would like 150 to make things as natural as possible for the perl developer 151 and we think the distribution methods used for CPAN module are 152 a good way to handle any project Padre will understand a project 153 as a CPAN module. This does not mean that you project needs to end 154 up on CPAN of course. But if your projects directory structure 155 follows that of the modules on CPAN, Padre will be automtically 156 recognize it. 157 158 159 =head2 Module::Starter 160 161 As a first step in the direction of supporting CPAN-style perl 162 projects we integrated into Padre the use of L<Module::Starter> 163 164 B<File/New.../Perl Distribution> will bring up a dialog box where 165 you can select some of the parameters your new project has such 166 as Name of the Project (e.g. My::Widgets), Author - that is probably 167 your name, e-mail (your e-mail). 168 169 Builder is the tool that you project is going to use to package itself 170 and then your user will use to install the project. 171 Currently L<Module::Build> and L<ExtUtils::MakeMaker> are supported. 172 (TODO add Module::Install as well). 173 174 License is one of the keywords currently listed in the META.yml spec of 175 Module::Build. (TODO: update the list or make it dynamic) 176 177 Once you click B<OK>, Module::Starter will create a new 178 directory called My-Widgets in the parent directory you selected 179 in the last field. 180 181 =head2 Other 44 182 45 183 On Strawberry Perl you can associate .pl file extension with … … 61 199 62 200 You can edit the command line using the Run/Setup menu item. 201 202 =head2 Bookmarks 203 204 B<View/Set Bookmark> (Ctrl-B) brings up a window with a 205 predefined text containing the file name and line number 206 (TODO should be the content of the current line). 207 208 B<View/Goto Bookmark> (Ctrl-Shift-B) brings up a window with the 209 list of available bookmarks. You can select one and press B<OK> 210 to jump to that location. If the file where the bookmark belongs 211 to is not open currently, it will be opened and the cursor will 212 jump to the desired place. 213 214 In both cases while the window is open you can select 215 existing bookmarks and press the B<Delete> button to remove the 216 selected one or press B<Delete All> to remove all the existing 217 bookmarks. 218 219 =head2 Navigation 63 220 64 221 Ctr-1 matching brace … … 69 226 Alt-S Jump to list of subs window 70 227 71 Ctr-1 .. Ctrl-9 can set markers72 Ctr-Shift-1 .. Ctrl-Shift-9 jump to marker73 228 74 229 Ctr-M Ctr-Shift-M comment/uncomment selected lines of code … … 279 434 280 435 =back 436 437 =head1 SQLite 438 439 Padre is using an SQLite database (~/.padre/config.db) for two 440 things. 441 Part of the preferences/configuration information is kept there 442 and it is used for the podreader. 443 444 =head1 Documentation POD reader 445 446 Padre currently can index (the names of) all the modules on 447 your system and it was planned to have a search capability for 448 modules/functions/etc. 281 449 282 450 =head1 Plugins … … 639 807 =head1 Code layout 640 808 641 Padre is the main module that reads/writes the configuration files 809 Padre.pm is the main module. 810 811 L<Padre::Config> reads/writes the configuration files. 812 642 813 There is an SQLite database and a yml file to keep various pices of information 643 814 The SQLite database holds the list of modules available on the system. 644 815 It will also contain indexing of the documentation 645 Looking at the X<> entries of modules816 Looking at the C<X<>> entries of modules 646 817 List of functions 647 818 648 819 The yml file contains individual configuration options 649 820 650 Padre::Wx::App is the Wx::App subclass 651 652 Padre::Wx::MainWindow is the main frame, most of the code is currently there. 653 654 Padre::Wx::Editor holds an editor text control instance 655 (one for each buffer/file) 821 L<Padre::Document> is an abstraction class to deal with a single document. 822 823 L<Padre::Documents> aggregated the list of all currently open documents. 824 825 L<Padre::DB> is the database abstraction for SQLite. 826 827 L<Padre::PluginManager> locates and loads the plugins. 828 829 L<Padre::PluginBuilder> 830 831 L<Padre::PPI> 832 833 =head2 Wx GUI 834 835 The Padre::WX::* namespace is supposed to deal with all the 836 wx related code. Outside of that the code is not supposed to 837 know about wx, but currently it still does. 838 839 L<Padre::Wx::Dialog> is the parent class of all the major dialogs 840 that are all implemented in modules in the C<Padre::Wx::Dialog::*> 841 namespace. 842 843 L<Padre::Wx::App> is the L<Wx::App> subclass 844 845 L<Padre::Wx::MainWindow> is the main frame, most of the code is currently there. 846 847 L<Padre::Wx::Editor> holds an editor text control instance (one for each buffer/file). 848 849 L<Padre::Wx::Menu> handles everythin the menu should know and do. 850 851 L<Padre::Wx::ToolBar> handles everythin the toolbar should know and do. 852 853 L<Padre::Wx::Output> - the output window. 854 855 =head2 POD viewer 656 856 657 857 Padre::Pod::* are there to index and show documentation written in pod. 858 TODO: One day we might be able to factor it out into a separate pod-viewer class. 859 658 860 659 861 =head1 SUPPORT -
trunk/lib/Padre/Pod/Viewer.pm
r858 r868 33 33 34 34 =cut 35 35 36 sub module_to_path { 36 37 my ($self, $module) = @_;
Note: See TracChangeset
for help on using the changeset viewer.
