On 7 January 2013 14:15, Frank Church <[email protected]> wrote: > > > On 7 January 2013 13:01, Sean P. DeNigris <[email protected]> wrote: > >> Frank Church wrote >> > I want to create a collection of Workspace contents...What kind of array >> > would best suited to the task? >> >> I usually just start with an OrderedCollection until I feel the need for >> something more complicated. It's like an Array, but will grow dynamically. >> >> Two things to check out that already exist in the system: >> * you can save workspace contents to a file by clicking the little arrow >> in >> the top right of the workspace window and select "Save As..." >> * check out ScriptManager, which is a GUI for organizing and saving >> workspaces. It was included in Pharo by default in 1.3 (I think) and has a >> repo on sqs... search the list to see how/if it can be loaded into later >> Pharos. >> >> > > I tried ScriptManager but it appears to save the files in a binary format. > It wouldn't open in a text editor . > > I am interested in something which persists in Smalltalk, so I can just > browse them without saving to disk, 'The Smalltalk Way'. Saving to disk is > an option though. > > Is there a way of selecting a workspace and extracting the text it > contains. Something like a small script to enumerate all open Workspaces > and printing out their text contents in a Transcript? > > I saw your blog article about using Smalltalk to view the contents of your > mailbox and the other about parsing a feeds contents and I want to try > something similar as a > start. > > My thoughts are along these lines. > > 1. Define a class consisting of workspace and a method which returns their > text content. > 2. Define collection > 3. List workspaces and add to collection. I am not sure if this will > replicate the workspaces perhaps they should be 'pointers' to the workspaces > 4. inspect/explore the results like you did in your blog. > > Thanks > > HTH, >> Sean >> > >
After further investigation this is what I found. When I shift click a Workspace window the item selected is usually a PluggableTextMorph or a TextMorphForEditView. When it is a PluggableTextMorph it owns a TextMorphforEditView which was not picked by the click. Inspecting or exploring the hierarchy shows that is owned by a SystemWindow of a Model Workspace further up the hierachy. What code do I need to first list all TextMorphforEditView(s) in the system and lookup the ownership hierarchy to determine whether the model of the SystemWindow is a Workspace or a Transcript? > -- >> > Frank Church > > ======================= > http://devblog.brahmancreations.com > -- Frank Church ======================= http://devblog.brahmancreations.com
