No edit summary
No edit summary
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,