[squeak-dev] The Trunk: Morphic-eem.658.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Jun 13 22:55:35 UTC 2013


Eliot Miranda uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-eem.658.mcz

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

Name: Morphic-eem.658
Author: eem
Time: 13 June 2013, 3:54:13.852 pm
UUID: faf57af4-504d-42f3-b7fa-afd6fed1608d
Ancestors: Morphic-eem.657

Allow creartion of windows without pane splitters via an
#allowPaneSplitters property that defaults to true.  i.e. to
disable pane splitters use
	win setProperty: #allowPaneSplitters toValue: false
Get PluggableTextMorph>>doIt to answer its result.

=============== Diff against Morphic-eem.657 ===============

Item was changed:
  ----- Method: PluggableTextMorph>>doIt (in category 'menu commands') -----
  doIt
+ 	^self handleEdit: [textMorph editor evaluateSelection]!
- 	self handleEdit: [textMorph editor evaluateSelection]!

Item was changed:
  ----- Method: SystemWindow>>addMorph:fullFrame: (in category 'panes') -----
  addMorph: aMorph fullFrame: aLayoutFrame
+ 	"Add aMorph according to aLayoutFrame."
+ 	| windowBorderWidth |
- 
- 	| left right bottom top windowBorderWidth |
  	windowBorderWidth := self class borderWidth.
+ 	"If the property #allowPaneSplitters is set to false, do *not* inset morphs by the borderWidth
+ 	 to make room for splitters.  This allows windows with non-traditional contents to avoid their
+ 	 component morphs from being clipped.  Do *NOT* remove this code please!!  Just because
+ 	 there may be no setters of allowPaneSplitters to false in the image doesn't mean they're not
+ 	 out there.  Thanks!!  eem 6/13/2013"
+ 	(self valueOfProperty: #allowPaneSplitters ifAbsent: [true]) ifTrue:
+ 		[| left right bottom top |
  
+ 		left := aLayoutFrame leftOffset ifNil: [0].
+ 		right := aLayoutFrame rightOffset ifNil: [0].
- 	left := aLayoutFrame leftOffset ifNil: [0].
- 	right := aLayoutFrame rightOffset ifNil: [0].
  
+ 		bottom := aLayoutFrame bottomOffset ifNil: [0].
+ 		top := aLayoutFrame topOffset ifNil: [0].
+ 		
+ 		aLayoutFrame rightFraction = 1 ifTrue: [aLayoutFrame rightOffset: right - windowBorderWidth].
+ 		aLayoutFrame leftFraction = 0
+ 			ifTrue: [aLayoutFrame leftOffset: left + windowBorderWidth]
+ 			ifFalse: [aLayoutFrame leftOffset: left + ProportionalSplitterMorph splitterWidth].
- 	bottom := aLayoutFrame bottomOffset ifNil: [0].
- 	top := aLayoutFrame topOffset ifNil: [0].
- 	
- 	aLayoutFrame rightFraction = 1 ifTrue: [aLayoutFrame rightOffset: right - windowBorderWidth].
- 	aLayoutFrame leftFraction = 0
- 		ifTrue: [aLayoutFrame leftOffset: left + windowBorderWidth]
- 		ifFalse: [aLayoutFrame leftOffset: left + ProportionalSplitterMorph splitterWidth].
  
+ 		aLayoutFrame bottomFraction = 1 ifTrue: [aLayoutFrame bottomOffset: bottom - windowBorderWidth].
+ 		aLayoutFrame topFraction = 0
+ 			ifTrue: [aLayoutFrame topOffset: top + windowBorderWidth]
+ 			ifFalse: [aLayoutFrame topOffset: top + ProportionalSplitterMorph splitterWidth]].
+ 
+ 	"this code should not be here!!!!  As of 6/13/2013 there aren't even any users of BrowserCommentTextMorph."
- 	aLayoutFrame bottomFraction = 1 ifTrue: [aLayoutFrame bottomOffset: bottom - windowBorderWidth].
- 	aLayoutFrame topFraction = 0
- 		ifTrue: [aLayoutFrame topOffset: top + windowBorderWidth]
- 		ifFalse: [aLayoutFrame topOffset: top + ProportionalSplitterMorph splitterWidth].
- 	
  	(aMorph class name = #BrowserCommentTextMorph) ifTrue:
  		[aLayoutFrame rightOffset: windowBorderWidth negated.
  		aLayoutFrame leftOffset: windowBorderWidth.
  		aLayoutFrame bottomOffset: windowBorderWidth negated.
  		aLayoutFrame topOffset: (windowBorderWidth negated) + 4].
  	
  	super addMorph: aMorph fullFrame: aLayoutFrame.
  
  	paneMorphs := paneMorphs copyReplaceFrom: 1 to: 0 with: (Array with: aMorph).
  	aMorph isImageMorph ifFalse:
  		[aMorph adoptPaneColor: self paneColor.
  		 aMorph borderWidth: 1; borderColor: Color lightGray; color: Color white].
  	Preferences scrollBarsOnRight ifTrue:"reorder panes so flop-out right-side scrollbar is visible"
  		[self addMorphBack: aMorph].
  		
  	self addPaneSplitters!



More information about the Squeak-dev mailing list