Annotated workspace for tutorials...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Annotated workspace for tutorials...

LawsonEnglish
This needs a lot of work, and obviously I need to RTFM, but the concept
seems workable.


Lawson
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

LawsonEnglish
Missing youtube link added:
> .
>
> http://www.youtube.com/watch?v=UupaG5TB8Zc


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

LawsonEnglish
Lawson English wrote:
>
>>
>>
>> http://www.youtube.com/watch?v=UupaG5TB8Zc
>

So how should I be trying to do this or is it going outside the
boundries of what I should expect the canned interface to do out of the box?


Thanks.


Lawson
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

Jerome Peace
Hi Lawson,

What you are trying to do is really cool.

You are up against a squeak "you can't get there from here" problem.

Yet.

There needs to be some way to tie the extent of the workspace to the extent of the drawing area. Simply embedding doesn't do it.

It seems it would also be good to have a simple way to switch levels. My first thought is tabs.

The workspace is a window with a model. In this case the model is workspace.

A workspace model puts one component in a window, the thing you write text on. It also has the ability to keep tract of symbol bindings which makes it good for trying out code.

A browser is a window with a model. The model is browser. A browser has several components. several lists and a code holding window and buttons as well. Resizing the browser resizes the components. Changing a component notifies its dependents. When dependents are initialized the subscribe to the notifications.


What you want is a model that has two buttons to serve as tabs. To bring to the front the various layers. Then you want two overlapping components for the text and the drawing layer.

I wonder if Bert knows of something like that.

====
Second curiosity:

What are using to make the youtube tutorials with sound. Looks very good and the sound commentary makes it worth watching.

Yours in curiosity and service, --Jerome Peace



--- On Wed, 4/7/10, Lawson English <[hidden email]> wrote:

> From: Lawson English <[hidden email]>
> Subject: Re: [Newbies] Annotated workspace for tutorials...
> To: [hidden email], "A friendly place to get answers to even the most basic questions about Squeak." <[hidden email]>
> Date: Wednesday, April 7, 2010, 6:01 PM
> Lawson English wrote:
> >
> >>
> >>
> >> http://www.youtube.com/watch?v=UupaG5TB8Zc
> >
>
> So how should I be trying to do this or is it going outside
> the
> boundries of what I should expect the canned interface to
> do out of the box?
>
>
> Thanks.
>
>
> Lawson



     
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

LawsonEnglish
Jerome Peace wrote:

> Hi Lawson,
>
> What you are trying to do is really cool.
>
> You are up against a squeak "you can't get there from here" problem.
>
> Yet.
>
> There needs to be some way to tie the extent of the workspace to the extent of the drawing area. Simply embedding doesn't do it.
>
> It seems it would also be good to have a simple way to switch levels. My first thought is tabs.
> [...]
> What you want is a model that has two buttons to serve as tabs. To bring to the front the various layers. Then you want two overlapping components for the text and the drawing layer.
>  
I thinking I have to embed both layers in somethign else, but not
familiar enough with the hierarchy to know what is appropriate.

> I wonder if Bert knows of something like that.
>
> ====
> Second curiosity:
>
> What are using to make the youtube tutorials with sound. Looks very good and the sound commentary makes it worth watching.
>
>  
For now, I'm just using the SnapZ pro utility from Ambrosia. The sound
is part of the utility. I'm thinking I'll try my hand at editing the
"raw footage" with iMovie. The encoding done by SnapZ is horribly slow.


I see a great deal of potential for Squeak/Cobalt I think that not even
1% of Squeak's potential has been tapped.


Lawson
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

Jerome Peace
Ha. Poke grappling beats programming any day. Try this

From the Object flap>Test get a bordered text morph
Size it as you wish.


From the Object flap>Basics get the paint box morph.

Grab and move the paint box so it is out of the way of both the boardered text.

Using halo repostion the drawing area so the top left of the two morphs align.
Resize the drawing area but leave a strip of the text box on the right.
The heights should be about equal.

Embed the drawing area into the bordered Text box.

To draw drag cursor over the drawing area.
To type move the cursor to the strip on the right (it changes from paintbrust to arrow). Tap the strip to give the text the focus. Type.

To draw go back to painting on the drawing area.

hth,

Yours in curiosity and service, --Jerome Peace


--- On Wed, 4/7/10, Lawson English <[hidden email]> wrote:

> From: Lawson English <[hidden email]>
> Subject: Re: [Newbies] Annotated workspace for tutorials...
> To: "Jerome Peace" <[hidden email]>
> Cc: "A friendly place to get answers to even the most basic questions about Squeak." <[hidden email]>
> Date: Wednesday, April 7, 2010, 11:27 PM
> Jerome Peace wrote:
> > Hi Lawson,
> >
> > What you are trying to do is really cool.
> >
> > You are up against a squeak "you can't get there from
> here" problem.
> >
> > Yet.
> >
> > There needs to be some way to tie the extent of the
> workspace to the extent of the drawing area. Simply
> embedding doesn't do it.
> > It seems it would also be good to have a simple way to
> switch levels. My first thought is tabs.
> > [...]
> > What you want is a model that has two buttons to serve
> as tabs. To bring to the front the various layers. Then you
> want two overlapping components for the text and the drawing
> layer.   
> I thinking I have to embed both layers in somethign else,
> but not familiar enough with the hierarchy to know what is
> appropriate.
>
> > I wonder if Bert knows of something like that.
> >
> > ====
> > Second curiosity:
> >
> > What are using to make the youtube tutorials with
> sound. Looks very good and the sound commentary makes it
> worth watching.
> >
> >   
> For now, I'm just using the SnapZ pro utility from
> Ambrosia. The sound is part of the utility. I'm thinking
> I'll try my hand at editing the "raw footage" with iMovie.
> The encoding done by SnapZ is horribly slow.
>
>
> I see a great deal of potential for Squeak/Cobalt I think
> that not even 1% of Squeak's potential has been tapped.
>
>
> Lawson
>



_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

Yoshiki Ohshima-2
In reply to this post by Jerome Peace
At Wed, 7 Apr 2010 19:52:11 -0700 (PDT),
Jerome Peace wrote:

>
> Hi Lawson,
>
> What you are trying to do is really cool.
>
> You are up against a squeak "you can't get there from here" problem.
>
> Yet.
>
> There needs to be some way to tie the extent of the workspace to the
> extent of the drawing area. Simply embedding doesn't do it.

  For this, you can create a tile-script that runs every now and then
and set the drawing area's extent to be consistent with its container.
Tile scripting can send a morph back and bring to front so you can
make buttons to do such and place them near the Workspace.

  Just an idea...

-- Yoshiki
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

hernanmd
In reply to this post by LawsonEnglish
Hi Lawson,

Perhaps you may use some idea or code from the STicky project?

http://www.youtube.com/watch?v=b9uUIEaGyoU

Cheers,

Hernán

2010/4/7 Lawson English <[hidden email]>:

> This needs a lot of work, and obviously I need to RTFM, but the concept
> seems workable.
>
>
> Lawson
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

Sean P. DeNigris
Administrator
I played around and found two approaches.  Neither work perfectly (there seems to be a problem resizing SketchEditorMorph in general), but they give you an idea of what's possible and how to attack:

1. Morphs can have layout policies that control how their submorphs are laid out, so you can do something like:
sm := SketchMorph new.
sm openInWorld.
sm editDrawing. "bring up the sketch editor"

sem := World submorphs detect: [ :morph | morph isKindOf: SketchEditorMorph ].
sem clear. "erase the default sketch"

ws := Workspace new openLabel: 'Workspace'.

sem extent: ws panelRect extent.
sem center: ws panelRect center.
lf := LayoutFrame fractions: (0.01@0.01 corner: 1@1).
ws addMorph: sem fullFrame: lf.
sem comeToFront.
sem color: Color transparent.

2. There is a method layoutChanged that provides a hook to layout submorphs manually.  So you could do something like (where sem is an instance variable):
PluggableSystemWindow>>layoutChanged
    super layoutChanged.
    sem ifNotNil: [ sem extent: self panelRect extent.
                           sem center: self panelRect center. ].

PluggableSystemWindow>>addAnnotation
        | sm |
        sm := SketchMorph new.
        sm openInWorld; editDrawing.

        sem := World submorphs detect: [ :morph | morph isKindOf: SketchEditorMorph ].
        sem clear.
        sem extent: self panelRect extent.
        sem center: self panelRect center.
        self addMorph: sem.
        sem comeToFront.
        sem color: Color transparent.

Not that you would necessarily put these methods in PluggableSystemWindow, but you can see what's available.

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Annotated workspace for tutorials...

LawsonEnglish
Sean P. DeNigris wrote:
> I played around and found two approaches.  Neither work perfectly (there
> seems to be a problem resizing SketchEditorMorph in general), but they give
> you an idea of what's possible and how to attack:
>  

Thanks very much.

I managed to embed one morph into another via the GUI, but as you said,
the resizing doesn't work quite as expected.

I'll play around as you suggest and see if I can achieve anything...


Lawson
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners