Can you help me? (Work-in-Progress, Zooming Browser Panes)
Karl Ramberg
karl.ramberg at chello.se
Sat May 13 14:33:24 UTC 2000
Karl Ramberg wrote:
> Here is my contribution. It comments out mouseEnter mouseLeave in
> PluggableListMorph
> and PluggableTextMorph. It works fine when you have inboard scrollbars. A few
> rough edges
> doug and not as smooth as my mac; when I click on another window, the keyboard
> focus should
> follow in one click, not two. That means you can end up typing to a window in
> the background.
>From what I see after looking at several windows in Squeak there seems to be only
one textpane in each window who one can edit and there for should have a default
keyboard focus. But I can't see yet were to implement it.
Karl
>
> Otherwise this change set works fine for spastic people who can't
> let the mouse sit in one place. :-). With the keyboard focus fixed this would
> be a nice
> sub preference to inboard scrollbars.
>
> Karl
>
> "Norton, Chris" wrote:
>
> > Hello friends!
> >
> > I was coding merrily along one day and I got a bit frustrated with the
> > teensy little window pane I was working in. My mouse kept sliding off of
> > the pane and my typing kept getting lost. So I thought... "well, I'll just
> > zoom the pane" (zoom = enlarge the pane to the extent of the window). I
> > brought up the Squeak shortcuts list and discovered that zoom is not
> > implemented! "Oh ho!" I thought. "An opportunity to improve Squeak."
> > Dropping everything, I gleefully set about to implement zoom...
> >
> > Now, I am not that experienced with morphic, so I've probably gone about
> > this the wrong way, but I figured that I would associate command-t (Alt-t on
> > Windows) with the ability to zoom (I chose 't', because it's the last letter
> > available... oh drat!). I added behavior to PluggableListMorph and to
> > PluggableTextMorph that I believe will do the zooming/unzooming, but I've
> > had some trouble making it work properly. If I try to zoom from a Browser's
> > text pane, it maximizes/minimizes the pane splendidly. But if I try to zoom
> > from the Browser's scroll panes, it doesn't zoom properly. Herein lies
> > confusion #1.
> >
> > Another strange thing that I've had some trouble identifying is what the
> > inner boundary of a system window is. I mean the stuff inside the frame and
> > underneath the title bar. This is the ideal space I'd like to use for
> > zooming (confusion #2).
> >
> > The last part I'd like a bit of advice on is where this code should live.
> > Clearly, it is not nice to have duplicate code sprinkled here and there
> > throughout the image. I'd prefer to put this in one place... but I don't
> > know where that place is (confusion #3).
> >
> > Thanks in advance for your consideration/ideas and help! :-)
> >
> > ---==> Chris
> >
> > <<BrowserZoom-ccn.1.cs>>
> >
> > ------------------------------------------------------------------------
> > Name: BrowserZoom-ccn.1.cs
> > BrowserZoom-ccn.1.cs Type: unspecified type (application/octet-stream)
> > Encoding: quoted-printable
>
> ------------------------------------------------------------------------
> 'From Squeak2.8alpha of 19 February 2000 [latest update: #2098] on 13 May 2000 at 2:59:51 pm'!
>
> !PluggableListMorph methodsFor: 'events' stamp: 'kfr 4/30/2000 22:55'!
> mouseEnter: event
> "super mouseEnter: event.
> event hand newKeyboardFocus: self"! !
>
> !PluggableTextMorph methodsFor: 'pane events' stamp: 'kfr 4/30/2000 22:52'!
> mouseEnter: event
> "super mouseEnter: event.
> selectionInterval ifNotNil:
> [textMorph handleEdit: [textMorph editor selectInterval: selectionInterval.
> textMorph editor setEmphasisHere]].
> event hand newKeyboardFocus: textMorph"! !
>
> !PluggableTextMorph methodsFor: 'pane events' stamp: 'kfr 4/30/2000 22:53'!
> mouseLeave: event
>
> "textMorph ifNotNil: [selectionInterval _ textMorph editor selectionInterval].
> super mouseLeave: event.
> event hand newKeyboardFocus: nil."
> ! !
More information about the Squeak-dev
mailing list
|