I want to build a Playground-like browser and I'd really like some help for getting the initial prototype up and running.
I see two parts:
- Code entry with "Go" button.
- Code execution with output printed (interpreter running as unix process.)
I have made a start on the "Code entry" pane like this:
| composite |
composite := GLMCompositePresentation new.
composite title: 'Script editor'.
composite act:  iconName: #glamorousGo on: $G entitled: 'Run'.
composite openOn: ''.
which does look the way that I want:
but the part I am missing is how to make the "Go" action (green arrow) cause a new object to be inspected in a miller column to the right (like in the Playground and the Inspector.)
Could somebody please tell me how to update the example to make this happen?
The next part is that I want to run the code using an interpreter running in a separate unix process (a PipeableOSProcess.) I have made a GTInspector extension to inspect this process and show its output, but I am looking for a way to automatically refresh the presentation when new output becomes available (e.g. polling at ~100ms interval and inserting new text that has been printed.)
Can somebody give me a hint about how to update that presentation with the latest output of the process?
Then, once the code has finished running, I want to refresh the inspector with potentially some new views based on the final result. But I would be more than satisfied to just solve the first two issues for now :-)
Thanks in advance! I have read the masters thesis on Glamour and I feel like I am slowly developing a mental model but it's not all there yet. To guess it seems like I need to embed my GLMCompositePresentation into a browser based on miller-columns and to somehow send my new object to its #selection port. Or something like that...