The Trunk: Morphic-cmm.1230.mcz

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

The Trunk: Morphic-cmm.1230.mcz

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

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

Name: Morphic-cmm.1230
Author: cmm
Time: 4 August 2016, 11:45:46.19494 pm
UUID: 75ecc9d2-3132-4933-ba03-98810bd1e903
Ancestors: Morphic-pre.1229

Community Dark Theme.

=============== Diff against Morphic-pre.1229 ===============

Item was changed:
  ----- Method: BalloonMorph class>>string:for:corner: (in category 'instance creation') -----
  string: str for: morph corner: cornerName
  "Make up and return a balloon for morph. Find the quadrant that
  clips the text the least, using cornerName as a tie-breaker. tk 9/12/97"
+ | text vertices balloon |
+ balloon := self new.
+ text := self
- | tm vertices |
- tm := self
  getTextMorph: (str asString withNoLineLongerThan: Preferences maxBalloonHelpLineLength)
  for: morph.
+ balloon userInterfaceTheme textColor ifNotNil:
+ [:col | text color: col].
+ balloon userInterfaceTheme font ifNotNil: [ : font | text font: font ].
+ vertices := self getVertices: text bounds.
- vertices := self getVertices: tm bounds.
  vertices := self
+ getBestLocation: vertices
+ for: morph
+ corner: cornerName.
+ ^ balloon
+ color: morph balloonColor ;
+ setVertices: vertices ;
+ addMorph: text ;
- getBestLocation: vertices
- for: morph
- corner: cornerName.
- ^ self new color: morph balloonColor;
- setVertices: vertices;
- addMorph: tm;
  setTarget: morph!

Item was changed:
  ----- Method: BalloonMorph>>defaultBorderColor (in category 'initialization') -----
  defaultBorderColor
+ ^ self userInterfaceTheme borderColor ifNil: [self defaultColor muchDarker]!
- "answer the default border color/fill style for the receiver"
- ^ self defaultColor muchDarker"Color black"!

Item was changed:
  ----- Method: BalloonMorph>>defaultBorderWidth (in category 'initialization') -----
  defaultBorderWidth
+ ^ self userInterfaceTheme borderWidth ifNil: [0]!
- "0 is appropriate for balloons because they are transient and wispy, not a solid object deserving a border."
- ^ 0!

Item was changed:
  ----- Method: BalloonMorph>>defaultColor (in category 'initialization') -----
  defaultColor
  "answer the default color/fill style for the receiver"
+ ^ self userInterfaceTheme color ifNil: [self class balloonColor]!
- ^ self class balloonColor!

Item was changed:
  ----- Method: BalloonMorph>>popUp (in category 'initialization') -----
  popUp
-
  | w worldBounds |
-
  target ifNil: [^ self].
  target isInWorld ifFalse: [^ self].
-
  w := target world.
+ self prepareToOpen.
+ "So that if the translation below makes it overlap the receiver, it won't interfere with the rootMorphsAt: logic and hence cause flashing.  Without this, flashing happens, believe me!!"
-
- self lock.
- self fullBounds. "force layout"
- self setProperty: #morphicLayerNumber toValue: self morphicLayerNumber.
- "So that if the translation below makes it overlap the receiver, it won't
- interfere with the rootMorphsAt: logic and hence cause flashing.  Without
- this, flashing happens, believe me!!"
  ((worldBounds := w bounds) containsRect: self bounds) ifFalse:
  [self bounds: (self bounds translatedToBeWithin: worldBounds)].
-
  self openInWorld.
  w activeHand addBalloonHelp: self.
  !

Item was changed:
  ----- Method: BalloonMorph>>popUpForHand: (in category 'initialization') -----
  popUpForHand: aHand
  "Pop up the receiver as balloon help for the given hand"
  | worldBounds |
+ self prepareToOpen.
-
- self lock.
- self fullBounds. "force layout"
- self setProperty: #morphicLayerNumber toValue: self morphicLayerNumber.
  aHand world addMorphFront: self.
  "So that if the translation below makes it overlap the receiver, it won't
  interfere with the rootMorphsAt: logic and hence cause flashing.  Without
  this, flashing happens, believe me!!"
  ((worldBounds := aHand world bounds) containsRect: self bounds) ifFalse:
  [self bounds: (self bounds translatedToBeWithin: worldBounds)].
  aHand resetBalloonHelp: self.
  !

Item was added:
+ ----- Method: BalloonMorph>>prepareToOpen (in category 'private') -----
+ prepareToOpen
+ "Override the color if not already set."
+ self userInterfaceTheme color ifNotNil: [ : col | self color: col].
+ self
+ lock ;
+ fullBounds ;
+ setProperty: #morphicLayerNumber
+ toValue: self morphicLayerNumber!

Item was changed:
  ----- Method: MenuItemMorph>>isEnabled: (in category 'accessing') -----
+ isEnabled: aBoolean
- isEnabled: aBoolean
-
  isEnabled = aBoolean ifTrue: [^ self].
  isEnabled := aBoolean.
+ self color:
+ (self userInterfaceTheme perform:
+ (aBoolean
+ ifTrue: [#textColor]
+ ifFalse: [#disabledTextColor]))!
- self color: (aBoolean ifTrue: [Color black] ifFalse: [Color lightGray]).
- !

Item was changed:
  ----- Method: PluggableTextMorph>>drawFrameAdornment:on: (in category 'drawing') -----
  drawFrameAdornment: aColor on: aCanvas
  "Indicate edit status for the text editor"
  self class simpleFrameAdornments
  ifTrue:
  [ aCanvas
  frameRectangle: self innerBounds
+ width: (self userInterfaceTheme frameAdornmentWidth ifNil: [1])
- width: 1
  color: aColor.
  aCanvas
  frameRectangle: (self innerBounds insetBy: 1)
+ width: (self userInterfaceTheme frameAdornmentWidth ifNil: [1])
- width: 1
  color: (aColor alpha: aColor alpha / 3.0) ]
  ifFalse:
  [ | form |
  "Class-side adornment cache is currently using pre-multiplied alpha, so we need to use rule 34 which works for < 32bpp, too."
  form := self class adornmentWithColor: aColor.
  aCanvas
  image: form
  at: self innerBounds topRight - (form width @ 0)
  sourceRect: form boundingBox
  rule: 34 ]!

Item was changed:
  ----- Method: SearchBar>>scratchPad (in category 'accessing') -----
  scratchPad
  ^ scratchPad ifNil:
  [ scratchPad := TextMorphForEditView new. "we should be able to use TextMorph here; fix later"
  scratchPad
  " on: #keyboardFocusChange send: #removeScratchPad to: self ;"
  on: #mouseLeave send: #removeScratchPad to: self ;
  on: #keyStroke send: #handleScratchPadKey: to: self ;
  margins: (5@0 corner: 5@0);
  backgroundColor: (BalloonMorph balloonColor alpha: 1.0) ;
  setEditView: PluggableTextMorph new ; "dummy"
  autoFit: true ;
  wrapFlag: true ;
  newContents: '--scratch area--' ;
  font: ((UserInterfaceTheme current get: #font for: #PluggableTextMorph) ifNil: [TextStyle defaultFont]);
  textColor: ((UserInterfaceTheme current get: #textColor for: #PluggableTextMorph) ifNil: [Color black]);
  caretColor: ((UserInterfaceTheme current get: #caretColor for: #PluggableTextMorph) ifNil: [Color red]);
+ selectionColor: ((UserInterfaceTheme current get: #selectionColor for: #PluggableTextMorph) ifNil: [Color blue muchDarker] ifNotNil: [ : col | col twiceLighter ]);
- selectionColor: ((UserInterfaceTheme current get: #selectionColor for: #PluggableTextMorph) ifNil: [Color blue]) muchDarker;
  yourself.
  self layoutScratchPad.
  Preferences menuAppearance3d ifTrue: [ scratchPad addDropShadow ].
  scratchPad ]!