[Q][morphic] Collapsing menus. Was: how to hide submorphs
Ned Konz
ned at bike-nomad.com
Tue Apr 30 19:13:43 UTC 2002
On Tuesday 30 April 2002 12:08 pm, Martin Drautzburg wrote:
> I tried the code below, but #clipSubmorphs: true still lets me drag
> the owner morph from the invisible rectangle below. If I adjust
> fullBounds to bounds I can no longer grab, but I have trouble
> getting the hidden morph repainted after an #expand.
Normally, the fullBounds is what is repainted.
I'd recommend not having visible submorphs outside your fullBounds.
Actually, I'd recommend not having submorphs at all outside your
fullBounds.
> Sending a self
> changed from an inspector does repaint it but the same message in
> the #expand method seems to have no effect.
>
> I may be completely on the wrong track ... how would *you* collapse
> a menu ?
You can just override drawOn: to only draw the collapsed view when
collapsed, otherwise call super drawOn: for drawing the whole thing.
drawOn: aCanvas
self isCollapsed ifTrue: [ aCanvas fillRectangle: (self position
extent: 20 at 20) color: Color green "or whatever you want to draw for
collapsed" ]
ifFalse: [ ^super drawOn: aCanvas ].
You may also want to override fullBounds to be sensitive to your
collapsed state (otherwise you'll be asked to redraw when it's not
strictly necessary).
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
More information about the Squeak-dev
mailing list
|