On 7 January 2013 22:12, Frank Church <[email protected]> wrote: > > > 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?
just accept text in all workspaces (cmd-s) before doing it: Workspace allInstances collect: [:ea | ea contents ] > >>> >>> -- >> >> Frank Church >> >> ======================= >> http://devblog.brahmancreations.com > > > > > -- > Frank Church > > ======================= > http://devblog.brahmancreations.com -- Best regards, Igor Stasenko.
