Line 1: |
Line 1: |
− | == Pippy Design Idea == | + | == Pippy Design Idea 2011-03-10 == |
| | | |
− | Purpose: | + | === Purpose === |
| *increase code sharing, | | *increase code sharing, |
| *increase relevance to Python users, | | *increase relevance to Python users, |
| *increase portability of code written. | | *increase portability of code written. |
| | | |
| + | === Data === |
| A running Pippy instance will contain the following data: | | A running Pippy instance will contain the following data: |
| *zero or more python zip bundles, | | *zero or more python zip bundles, |
Line 11: |
Line 12: |
| *unless the user has asked to edited the setup.py, it will not be shown, instead a default will be used, maintained by Pippy, | | *unless the user has asked to edited the setup.py, it will not be shown, instead a default will be used, maintained by Pippy, |
| | | |
| + | === Input === |
| Pippy may read from: | | Pippy may read from: |
| *a saved instance of Pippy, in the journal, | | *a saved instance of Pippy, in the journal, |
| + | *a zip bundle in the journal, |
| *example zip bundles included with Pippy, | | *example zip bundles included with Pippy, |
| | | |
| + | === Output === |
| Pippy may write to: | | Pippy may write to: |
| *a saved instance of Pippy, in the journal, | | *a saved instance of Pippy, in the journal, |
| *a zip bundle in the journal. | | *a zip bundle in the journal. |
| | | |
| + | === Display === |
| Display will contain: | | Display will contain: |
| *toolbar, | | *toolbar, |
− | *a series of tabs, one for each bundle, and an add bundle button, | + | *a series of tabs, one for each bundle, an add bundle button, and an open example bundle button, |
− | *within each bundle, a series of tabs, one for each file, and an add file button, | + | *within each bundle, a series of tabs, one for __doc__ that is not editable, one for each source file that is editable, and an add file button, |
| *within each file, a syntax highlighting text edit widget. | | *within each file, a syntax highlighting text edit widget. |
| | | |
| + | === Process === |
| When run is pressed, display will contain: | | When run is pressed, display will contain: |
| *toolbar, | | *toolbar, |
Line 30: |
Line 36: |
| *a stop button. | | *a stop button. |
| | | |
− | List of changes:
| + | === Changes === |
| + | Partial list of changes to bring Pippy existing source to a state consistent with the design above: |
| *remove the examples widget from the main screen, provide it only as an "open an example bundle" function, | | *remove the examples widget from the main screen, provide it only as an "open an example bundle" function, |
| *remove the output window from the main screen, provide it only when a program is run, and only if the program generates stdout or reads from stdin, | | *remove the output window from the main screen, provide it only when a program is run, and only if the program generates stdout or reads from stdin, |