ProjectViewMorph
Laurence.Rozier at knowledgearchitects.net
Laurence.Rozier at knowledgearchitects.net
Thu Sep 4 20:28:52 UTC 2003
... here's a quick hack I've used before if you're interested in getting something working quickly just to see how things feel, you can place a transparent morph in front of the ProjectViewMorph and put the behavior you want in it's mouseUp action. That's safer than modifying mouseUp: temporarily because you might forget to change it back or may accidently include the change in another changeset.
Cheers,
Laurence
>>Thanks Laurence, I was a little slow this morning... I'm digging around a
>>little more in the ProjectViewMorph and I was wondering how much work it would
>>require to write a new method that opens ProjectViewMorphs as active. So
>>instead of holding down the mouse button, all ProjectViewMorphs would open as
>>ActiveSubprojects?
>Not very much at all - just modify mouseUp: to send enterAsActiveSubproject instead of enter. However, you do NOT want to do that except for a temporary experiment as your change will be subject to being clobbered in a future release. If you want to really want to change the behavior of all ProjectViewMorphs, you'd have to come up with a way to make it pluggable with a default to the current behavior so that it could be integrated into the image without disruption. It's something that would be nice to have and would be a good way for you to practice Squeaking :-) If you're not interested in making all ProjectViewMorphs ever created behave this way then subclass ProjectViewMorph overriding mouseUp: and figure out where you have to create instances of the new subclass.
>
>>
>>My next question digs a little deeper... and is probably a little more
>>difficult. I'd like to change the overall appearance of ActiveSubprojects -
>>the coloured squares along the side don't give the user much idea of what the
>>square will do when clicked. Any ideas on how to tackle a slight re-design?
>I'm sure if you come up with a good design for this and implement it, it will be welcomed into the update stream.
>
>>Or I could just stick with my little menu/legend that I've given the user.
>>
>>Thanks again for your help,
>>Jeff
>>
>>
>>Quoting Laurence.Rozier at knowledgearchitects.net:
>>
>>> >Just a quick newbie question for the Squeak experts... I'm trying to create
>>> a
>>> >button that uses enterAsActiveSubproject to open a project in active mode.
>>> I
>>> >have all of my ProjectViewMorphs in the world... but my question is - how
>>> do I
>>> >refer to these morphs when creating my button? The ProjectViewMorphs exist
>>> in
>>> >the world already, so it's not like I'm initializing new morphs - or is that
>>>
>>> >what I should be doing?
>>>
>>> Sending a enterAsActiveSubproject message to a ProjectViewMorph is *one* way
>>> to accomplish what you want. You can refer to these morphs a number of ways
>>> depending on what state your code has access to. For example you can use
>>> submorphsSatisfying: aBlock or submorphNamed: aProjectName. However if you
>>> have aProjectName then you could also say
>>>
>>> (Project named: aProjectName) enterAsActiveSubprojectWithin: World
>>>
>>> which will allow you to enter projects that don't have ProjectViewMorphs in
>>> the current world.
>>>
>>> Regards,
>>> Laurence
>>
>>
>>
>>
More information about the Squeak-dev
mailing list
|