The Trunk: Morphic-cmm.343.mcz

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

The Trunk: Morphic-cmm.343.mcz

commits-2
Chris Muller uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-cmm.343.mcz

==================== Summary ====================

Name: Morphic-cmm.343
Author: cmm
Time: 13 February 2010, 8:56:41.124 pm
UUID: d7f2b1b3-cc0d-48b8-8aeb-c29d9abbddba
Ancestors: Morphic-cmm.342

- Tools enhancement:  before opening a new window on a Model, first check whether an existing window on the desktop can fulfill the role and, if so, bring it to the top.

=============== Diff against Morphic-cmm.342 ===============

Item was changed:
  ----- Method: SystemWindow>>openInWorld:extent: (in category 'open/close') -----
  openInWorld: aWorld extent: extent
  "This msg and its callees result in the window being activeOnlyOnTop"
+ ^ self anyOpenWindowLikeMe
+ ifEmpty:
+ [ self
+ position: (RealEstateAgent initialFrameFor: self world: aWorld) topLeft ;
+ extent: extent.
+ self openAsIsIn: aWorld ]
+ ifNotEmptyDo:
+ [ : windows |
+ windows anyOne
+ expand ;
+ activate ;
+ postAcceptBrowseFor: self ]!
- self position: (RealEstateAgent initialFrameFor: self world: aWorld) topLeft; extent: extent.
- ^self openAsIsIn: aWorld!

Item was added:
+ ----- Method: SystemWindow>>postAcceptBrowseFor: (in category 'open/close') -----
+ postAcceptBrowseFor: anotherSystemWindow
+ "If I am taking over browsing for anotherSystemWindow, sucblasses may override to, for example, position me to the object to be focused on."
+ self model postAcceptBrowseFor: anotherSystemWindow model!

Item was added:
+ ----- Method: SystemWindow>>anyOpenWindowLikeMe (in category 'open/close') -----
+ anyOpenWindowLikeMe
+ ^ SystemWindow
+ windowsIn: World
+ satisfying:
+ [ : each |
+ each model class = self model class
+ and: [ (each model respondsTo: #representsSameBrowseeAs:)
+ and: [ each model representsSameBrowseeAs: self model ] ] ]!

Item was added:
+ ----- Method: Model>>postAcceptBrowseFor: (in category '*morphic') -----
+ postAcceptBrowseFor: anotherModel
+ "If I am taking over browsing for anotherModel, sucblasses may override to, for example, position me to the object to be focused on."!

Item was added:
+ ----- Method: Lexicon>>targetClass (in category '*morphic') -----
+ targetClass
+
+ ^targetClass
+ !

Item was added:
+ ----- Method: Model>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherModel
+ "Answer true if my browser can browse what anotherModel wants to browse."
+ ^ false!

Item was added:
+ ----- Method: Inspector>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherInspector
+ ^ self object == anotherInspector object!

Item was added:
+ ----- Method: HierarchyBrowser>>postAcceptBrowseFor: (in category '*morphic') -----
+ postAcceptBrowseFor: aHierarchyBrowser
+ self
+ selectClass: aHierarchyBrowser selectedClass ;
+ selectedMessageName: aHierarchyBrowser selector!

Item was changed:
  ----- Method: SystemWindow>>openInWorld: (in category 'open/close') -----
  openInWorld: aWorld
  "This msg and its callees result in the window being activeOnlyOnTop"
+ self anyOpenWindowLikeMe
+ ifEmpty:
+ [ self
+ bounds: (RealEstateAgent initialFrameFor: self world: aWorld) ;
+ openAsIsIn: aWorld ]
+ ifNotEmptyDo:
+ [ : windows |
+ windows anyOne
+ expand ;
+ activate ;
+ postAcceptBrowseFor: self ]!
- self bounds: (RealEstateAgent initialFrameFor: self world: aWorld).
- ^self openAsIsIn: aWorld!

Item was added:
+ ----- Method: HierarchyBrowser>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherModel
+ ^ self hasUnacceptedEdits not
+ and: [ "anotherModel selectedClass = self selectedClass" true
+ and: [ classList includesAllOf: anotherModel classList ] ]!

Item was added:
+ ----- Method: Lexicon>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherModel
+ ^self hasUnacceptedEdits not
+ and: [ anotherModel targetClass = self targetClass ]!

Item was added:
+ ----- Method: ObjectExplorer>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherObjectExplorer
+ ^ self rootObject == anotherObjectExplorer rootObject!

Item was added:
+ ----- Method: PreferenceBrowser>>representsSameBrowseeAs: (in category '*morphic') -----
+ representsSameBrowseeAs: anotherModel
+ "If an existing Preference browser is on-screen, use it."
+ ^ self class = anotherModel class!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.343.mcz

Tobias Pape
Hello,
Am 2010-02-14 um 17:13 schrieb [hidden email]:

> Chris Muller uploaded a new version of Morphic to project The Trunk:
> http://source.squeak.org/trunk/Morphic-cmm.343.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-cmm.343
> Author: cmm
> Time: 13 February 2010, 8:56:41.124 pm
> UUID: d7f2b1b3-cc0d-48b8-8aeb-c29d9abbddba
> Ancestors: Morphic-cmm.342
>
> - Tools enhancement:  before opening a new window on a Model, first check whether an existing window on the desktop can fulfill the role and, if so, bring it to the top.

This one upsets me.
It reminds me of this mercury bar for omnibrowser
that uses the existing browser to show the results of the contents.
Do I have to expect similar behaviour? Like, Two browse-its for
a class would result in only one window? This would severely
impact my workflow.

just my 2ct.

so long,
        -Tobias
Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.343.mcz

radoslav hodnicak

On Sun, 14 Feb 2010, Tobias Pape wrote:

> Hello,
> Am 2010-02-14 um 17:13 schrieb [hidden email]:
>
>> Chris Muller uploaded a new version of Morphic to project The Trunk:
>> http://source.squeak.org/trunk/Morphic-cmm.343.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Morphic-cmm.343
>> Author: cmm
>> Time: 13 February 2010, 8:56:41.124 pm
>> UUID: d7f2b1b3-cc0d-48b8-8aeb-c29d9abbddba
>> Ancestors: Morphic-cmm.342
>>
>> - Tools enhancement:  before opening a new window on a Model, first check whether an existing window on the desktop can fulfill the role and, if so, bring it to the top.
>
> This one upsets me.
> It reminds me of this mercury bar for omnibrowser
> that uses the existing browser to show the results of the contents.
> Do I have to expect similar behaviour? Like, Two browse-its for
> a class would result in only one window? This would severely
> impact my workflow.

seems to only affect opening of the MC browser (i.e. if you have one
already open, if will raise the window and not open a new one, but you
will get N class browsers as before). I can't think of a good reason to
have more than one MC browser open right now, but I can't think of a good
reason why opening MC should behave differently than opening the rest of
the tools either. This is a weird change and I vote against it.

rado

Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Morphic-cmm.343.mcz

Andreas.Raab
In reply to this post by Tobias Pape
How about submitting a change that makes this behavior a preference?

Cheers,
   - Andreas

Tobias Pape wrote:

> Hello,
> Am 2010-02-14 um 17:13 schrieb [hidden email]:
>
>> Chris Muller uploaded a new version of Morphic to project The Trunk:
>> http://source.squeak.org/trunk/Morphic-cmm.343.mcz
>>
>> ==================== Summary ====================
>>
>> Name: Morphic-cmm.343
>> Author: cmm
>> Time: 13 February 2010, 8:56:41.124 pm
>> UUID: d7f2b1b3-cc0d-48b8-8aeb-c29d9abbddba
>> Ancestors: Morphic-cmm.342
>>
>> - Tools enhancement:  before opening a new window on a Model, first check whether an existing window on the desktop can fulfill the role and, if so, bring it to the top.
>
> This one upsets me.
> It reminds me of this mercury bar for omnibrowser
> that uses the existing browser to show the results of the contents.
> Do I have to expect similar behaviour? Like, Two browse-its for
> a class would result in only one window? This would severely
> impact my workflow.
>
> just my 2ct.
>
> so long,
> -Tobias
>