The Trunk: ToolBuilder-Morphic-mt.197.mcz

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

The Trunk: ToolBuilder-Morphic-mt.197.mcz

commits-2
Marcel Taeumel uploaded a new version of ToolBuilder-Morphic to project The Trunk:
http://source.squeak.org/trunk/ToolBuilder-Morphic-mt.197.mcz

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

Name: ToolBuilder-Morphic-mt.197
Author: mt
Time: 5 October 2017, 8:50:50.594923 am
UUID: b60282f3-e8d4-4b4d-86e4-74ab5c91f62b
Ancestors: ToolBuilder-Morphic-tpr.196

To avoid confusion with the old "morphic/mvc open" pattern, rename the ToolBuilder-initiated opening for morphs from #morphicOpenWith: to #openAsTool. Drop the argument because that event check for "open window at hand" was really global and the tool builder does not have anything to do with it. Browse #currentEvent if you want to learn more about that.

Note that there is no need to hint about "morphic" in that selector because (1) "ToolBuilder-Morphic" is already a Morphic-specific package and (2) all the implementors are actual morphs.

=============== Diff against ToolBuilder-Morphic-tpr.196 ===============

Item was removed:
- ----- Method: DialogWindow>>morphicOpenWith: (in category '*ToolBuilder-Morphic-opening') -----
- morphicOpenWith: aMorphicToolBuilder
-
- ^ self
- moveToHand;
- getUserResponse!

Item was added:
+ ----- Method: DialogWindow>>openAsTool (in category '*ToolBuilder-Morphic-opening') -----
+ openAsTool
+
+ self flag: #fishy. "mt: Why does the dialog not return its Morphic form but data?"
+ ^ self
+ moveToHand;
+ getUserResponse!

Item was removed:
- ----- Method: MenuMorph>>morphicOpenWith: (in category '*ToolBuilder-Morphic-opening') -----
- morphicOpenWith: aMorphicToolBuilder
-
- self popUpInWorld: World.
- ^ super morphicOpenWith: aMorphicToolBuilder!

Item was added:
+ ----- Method: MenuMorph>>openAsTool (in category '*ToolBuilder-Morphic-opening') -----
+ openAsTool
+
+ self popUpInWorld: World.!

Item was removed:
- ----- Method: Morph>>morphicOpenWith: (in category '*ToolBuilder-Morphic-opening') -----
- morphicOpenWith: aMorphicToolBuilder
-
- ^ self openInWorld!

Item was added:
+ ----- Method: Morph>>openAsTool (in category '*ToolBuilder-Morphic-opening') -----
+ openAsTool
+
+ self openInWorld.!

Item was changed:
  ----- Method: MorphicToolBuilder>>open: (in category 'opening') -----
  open: anObject
  "Build and open the object. Answer the widget opened."
 
+ ^ (self build: anObject) openAsTool!
- ^ (self build: anObject) morphicOpenWith: self!

Item was removed:
- ----- Method: SystemWindow>>morphicOpenWith: (in category '*ToolBuilder-Morphic-opening') -----
- morphicOpenWith: aMorphicToolBuilder
-
- | morph |
- morph := self openInWorldExtent: self extent.
- (Project uiManager openToolsAttachedToMouseCursor
- and: [ | event |
- event := aMorphicToolBuilder currentEvent.
- event isMouse and: [event isMouseUp]])
- ifTrue: [
- morph setProperty: #initialDrop toValue: true.
- morph hasDropShadow: false.
- aMorphicToolBuilder currentHand attachMorph: morph].
- ^ morph
- !

Item was added:
+ ----- Method: SystemWindow>>openAsTool (in category '*ToolBuilder-Morphic-opening') -----
+ openAsTool
+ "Open this window as a tool, that is, honor the preferences such as #reuseWindows and #openToolsAttachedToMouseCursor."
+
+ | meOrSimilarWindow |
+ meOrSimilarWindow := self openInWorldExtent: self extent.
+ (Project uiManager openToolsAttachedToMouseCursor
+ and: [ | event |
+ event := self currentEvent.
+ event isMouse and: [event isMouseUp]])
+ ifTrue: [
+ meOrSimilarWindow setProperty: #initialDrop toValue: true.
+ meOrSimilarWindow hasDropShadow: false.
+ self currentHand attachMorph: meOrSimilarWindow].
+ ^ meOrSimilarWindow
+ !