[squeak-dev] The Inbox: Morphic-klc.1297.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Mar 11 08:38:02 UTC 2017


A new version of Morphic was added to project The Inbox:
http://source.squeak.org/inbox/Morphic-klc.1297.mcz

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

Name: Morphic-klc.1297
Author: klc
Time: 11 March 2017, 2:37:49.702033 am
UUID: d85f7001-40cf-9a47-8b99-e0905a154364
Ancestors: Morphic-mt.1296

Update Swiki link to point to current site in class comment.

=============== Diff against Morphic-mt.1296 ===============

Item was changed:
  Object subclass: #Morph
  	instanceVariableNames: 'bounds owner submorphs fullBounds color extension'
  	classVariableNames: 'IndicateKeyboardFocus PreferredCornerRadius UseSoftDropShadow'
  	poolDictionaries: ''
  	category: 'Morphic-Kernel'!
  
+ !Morph commentStamp: 'KLC 3/10/2017 15:50' prior: 0!
+ A Morph (from the Greek "shape" or "form") is an interactive graphical object. General information on the Morphic system can be found at http://wiki.squeak.org/squeak/30. 
- !Morph commentStamp: 'efc 2/26/2003 20:01' prior: 0!
- A Morph (from the Greek "shape" or "form") is an interactive graphical object. General information on the Morphic system can be found at http://minnow.cc.gatech.edu/squeak/30. 
  
  Morphs exist in a tree, rooted at a World (generally a PasteUpMorph). The morphs owned by a morph are its submorphs. Morphs are drawn recursively; if a Morph has no owner it never gets drawn. To hide a Morph and its submorphs, set its #visible property to false using the #visible: method. 
  
  The World (screen) coordinate system is used for most coordinates, but can be changed if there is a TransformMorph somewhere in the owner chain. 
  
  My instance variables have accessor methods (e.g., #bounds, #bounds:). Most users should use the accessor methods instead of using the instance variables directly.
  
  Structure:
  instance var 	Type 			Description 
  bounds 			Rectangle 		A Rectangle indicating my position and a size that will enclose 									me. 
  owner 			Morph		 	My parent Morph, or nil for the top-level Morph, which is a
   				or nil			world, typically a PasteUpMorph.
  submorphs 		Array 			My child Morphs. 
  fullBounds 		Rectangle 		A Rectangle minimally enclosing me and my submorphs. 
  color 			Color 			My primary color. Subclasses can use this in different ways. 
  extension 		MorphExtension Allows extra properties to be stored without adding a
  				or nil  				storage burden to all morphs. 
  
  By default, Morphs do not position their submorphs. Morphs may position their submorphs directly or use a LayoutPolicy to automatically control their submorph positioning.
  
  Although Morph has some support for BorderStyle, most users should use BorderedMorph if they want borders.!

Item was changed:
  ----- Method: ScrollBar>>scrollPageInit: (in category 'scrolling') -----
  scrollPageInit: evt
  
  	evt redButtonPressed ifFalse: [^ self].
  
  	self resetTimer.
  	self setNextDirectionFromEvent: evt.
  	self scrollBarAction: #doScrollByPage.
  	self startStepping.!

Item was changed:
  ----- Method: TheWorldMainDockingBar>>listWindowsOn: (in category 'submenu - windows') -----
  listWindowsOn: menu
  
  	| windows |
  	windows := self allVisibleWindows sorted: [:winA :winB |
  		((winA model isNil or: [winB model isNil]) or: [winA model name = winB model name])
  			ifTrue: [winA label < winB label]
  			ifFalse: [winA model name < winB model name]].
  	windows ifEmpty: [ 
  		menu addItem: [ :item | 
  			item
  				contents: 'No Windows' translated;
  				isEnabled: false ] ].
  	windows do: [ :each |
  		menu addItem: [ :item |
  			item 
  				contents: (self windowMenuItemLabelFor: each);
+ 				icon: ((each model respondsTo: #windowColorToUse)
+ 					ifTrue: [self colorIcon: each model windowColorToUse]
+ 					ifFalse: [self colorIcon: each color]);
- 				icon: (each model ifNotNil: [self colorIcon: each model windowColorToUse]);
  				target: each;
  				selector: #comeToFront;
  				subMenuUpdater: self
  				selector: #windowMenuFor:on:
  				arguments: { each };
  				action: [ each beKeyWindow; expand ] ] ].
  	menu
  		addLine;
  		add: 'Close all windows' target: self selector: #closeAllWindowsUnsafe;
  		addItem: [:item | item
  			contents: 'Close all windows without changes';
  			target: self;
  			icon: MenuIcons smallBroomIcon;
  			selector: #closeAllWindows];
  		add: 'Close all windows but workspaces' target: self selector: #closeAllWindowsButWorkspaces.!



More information about the Squeak-dev mailing list