[squeak-dev] The Trunk: Morphic-kfr.908.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Apr 20 05:34:19 UTC 2015
Karl Ramberg uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-kfr.908.mcz
==================== Summary ====================
Name: Morphic-kfr.908
Author: kfr
Time: 19 April 2015, 4:35:04.246 pm
UUID: 0ec7f662-2f9e-0948-9ca4-9a67043af0a3
Ancestors: Morphic-kfr.907, Morphic-kfr.900
Changes to access several menu colors etc. via preference browser
=============== Diff against Morphic-kfr.907 ===============
Item was changed:
----- Method: DockingBarMorph>>setDefaultParameters (in category 'initialize-release') -----
setDefaultParameters
"private - set the default parameter using Preferences as the inspiration source"
| colorFromMenu worldColor menuColor menuBorderColor |
colorFromMenu := Preferences menuColorFromWorld
and: [Display depth > 4
and: [(worldColor := self currentWorld color) isColor]].
""
menuColor := colorFromMenu
ifTrue: [worldColor luminance > 0.7
ifTrue: [worldColor mixed: 0.85 with: Color black]
ifFalse: [worldColor mixed: 0.4 with: Color white]]
+ ifFalse: [MenuMorph menuColor].
- ifFalse: [Preferences menuColor].
""
menuBorderColor := Preferences menuAppearance3d
ifTrue: [#raised]
ifFalse: [colorFromMenu
ifTrue: [worldColor muchDarker]
+ ifFalse: [MenuMorph menuBorderColor]].
- ifFalse: [Preferences menuBorderColor]].
""
self
setColor: menuColor
+ borderWidth: MenuMorph menuBorderWidth
- borderWidth: Preferences menuBorderWidth
borderColor: menuBorderColor!
Item was changed:
----- Method: FillInTheBlankMorph>>setDefaultParameters (in category 'initialization') -----
setDefaultParameters
"change the receiver's appareance parameters"
| colorFromMenu worldColor menuColor |
colorFromMenu := Preferences menuColorFromWorld
and: [Display depth > 4
and: [(worldColor := self currentWorld color) isColor]].
menuColor := colorFromMenu
ifTrue: [worldColor luminance > 0.7
ifTrue: [worldColor mixed: 0.85 with: Color black]
ifFalse: [worldColor mixed: 0.4 with: Color white]]
+ ifFalse: [MenuMorph menuColor].
- ifFalse: [Preferences menuColor].
self color: menuColor.
+ self borderWidth: MenuMorph menuBorderWidth.
- self borderWidth: Preferences menuBorderWidth.
Preferences menuAppearance3d ifTrue: [
self borderStyle: BorderStyle thinGray.
self hasDropShadow: true.
self useSoftDropShadow
ifFalse: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.666);
shadowOffset: 1 @ 1]
ifTrue: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.01);
shadowOffset: (10 at 8 corner: 10 at 12) ]
]
ifFalse: [
| menuBorderColor |
menuBorderColor := colorFromMenu
ifTrue: [worldColor muchDarker]
+ ifFalse: [MenuMorph menuBorderColor].
- ifFalse: [Preferences menuBorderColor].
self borderColor: menuBorderColor.
].
self layoutInset: 3.
!
Item was changed:
----- Method: HaloMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
"Draw this morph only if it has no target."
target isNil
ifTrue: [^ super drawOn: aCanvas].
(Preferences showBoundsInHalo
and: [target isWorldMorph not])
ifTrue: [| boundsColor |
+ boundsColor := MenuMorph menuSelectionColor
- boundsColor := Preferences menuSelectionColor
ifNil: [Color blue].
aCanvas
frameAndFillRectangle: self bounds
fillColor: Color transparent
borderWidth: 2
borderColor:
(boundsColor isTranslucent
ifTrue: [boundsColor]
ifFalse: [boundsColor alpha: 0.8])]!
Item was changed:
----- Method: ListItemWrapper>>highlightingColor (in category 'accessing') -----
highlightingColor
+ ^MenuMorph menuSelectionColor makeForegroundColor!
- ^Preferences menuSelectionColor makeForegroundColor!
Item was changed:
----- Method: MenuItemMorph>>selectionFillStyle (in category 'private') -----
selectionFillStyle
" Answer the fill style to use with the receiver is the selected
element "
| fill baseColor preferenced |
Display depth <= 2 ifTrue: [
^Color gray ].
+ preferenced := MenuMorph menuSelectionColor.
- preferenced := Preferences menuSelectionColor.
preferenced notNil ifTrue: [ ^preferenced ].
baseColor := owner color negated.
MenuMorph gradientMenu ifFalse: [ ^baseColor ].
fill := GradientFillStyle ramp: {
0.0 -> baseColor twiceLighter.
1 -> baseColor twiceDarker }.
fill origin: self topLeft.
^ fill!
Item was changed:
----- Method: MenuLineMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
| baseColor |
baseColor := Preferences menuColorFromWorld
ifTrue: [owner color twiceDarker]
ifFalse: [Preferences menuAppearance3d
ifTrue: [owner color]
+ ifFalse: [MenuMorph menuLineColor]].
- ifFalse: [Preferences menuLineColor]].
Preferences menuAppearance3d
ifTrue: [
aCanvas
fillRectangle: (bounds topLeft corner: bounds rightCenter)
color: baseColor twiceDarker.
aCanvas
fillRectangle: (bounds leftCenter corner: bounds bottomRight)
color: baseColor twiceLighter]
ifFalse: [
aCanvas
fillRectangle: (bounds topLeft corner: bounds bottomRight)
color: baseColor]!
Item was changed:
AlignmentMorph subclass: #MenuMorph
instanceVariableNames: 'defaultTarget selectedItem stayUp popUpOwner activeSubMenu'
+ classVariableNames: 'CloseBoxImage CloseBoxImageFlat CloseBoxImageGradient GradientMenu MenuBorderColor MenuBorderWidth MenuColor MenuLineColor MenuSelectionColor MenuTitleBorderColor MenuTitleBorderWidth MenuTitleColor PushPinImage RoundedMenuCorners'
- classVariableNames: 'CloseBoxImage CloseBoxImageFlat CloseBoxImageGradient GradientMenu PushPinImage RoundedMenuCorners'
poolDictionaries: ''
category: 'Morphic-Menus'!
!MenuMorph commentStamp: '<historical>' prior: 0!
Instance variables:
defaultTarget <Object> The default target for creating menu items
selectedItem <MenuItemMorph> The currently selected item in the receiver
stayUp <Boolean> True if the receiver should stay up after clicks
popUpOwner <MenuItemMorph> The menu item that automatically invoked the receiver, if any.
activeSubMenu <MenuMorph> The currently active submenu.!
Item was added:
+ ----- Method: MenuMorph class>>menuBorderColor (in category 'preferences') -----
+ menuBorderColor
+
+ <preference: 'menuBorderColor'
+ category: #menus
+ description: 'Menus border color'
+ type: #Color>
+ Display depth <= 2 ifTrue: [^ Color black].
+ ^MenuBorderColor ifNil: [(Color r: 0.2 g: 0.3 b: 0.9)]!
Item was added:
+ ----- Method: MenuMorph class>>menuBorderColor: (in category 'preferences') -----
+ menuBorderColor: aColor
+ MenuBorderColor := aColor!
Item was added:
+ ----- Method: MenuMorph class>>menuBorderWidth (in category 'preferences') -----
+ menuBorderWidth
+ <preference: 'menuBorderWidth'
+ category: #menus
+ description: 'Menus border width'
+ type: #Number>
+ ^MenuBorderWidth ifNil: [2]!
Item was added:
+ ----- Method: MenuMorph class>>menuBorderWidth: (in category 'preferences') -----
+ menuBorderWidth: anInteger
+ MenuBorderWidth := anInteger!
Item was added:
+ ----- Method: MenuMorph class>>menuColor (in category 'preferences') -----
+ menuColor
+ <preference: 'menuColor'
+ category: #menus
+ description: 'Menus color'
+ type: #Color>
+ Display depth <= 2 ifTrue: [^ Color black].
+ ^MenuColor ifNil: [(Color r: 0.9 g: 0.9 b: 0.9)]!
Item was added:
+ ----- Method: MenuMorph class>>menuColor: (in category 'preferences') -----
+ menuColor: aColor
+ MenuColor := aColor!
Item was added:
+ ----- Method: MenuMorph class>>menuLineColor (in category 'preferences') -----
+ menuLineColor
+ <preference: 'menuLineColor'
+ category: #menus
+ description: 'Menus color of separating lines'
+ type: #Color>
+ ^MenuLineColor ifNil: [(Color r: 0.6 g: 0.7 b: 1)]!
Item was added:
+ ----- Method: MenuMorph class>>menuLineColor: (in category 'preferences') -----
+ menuLineColor: aColor
+ MenuLineColor := aColor!
Item was added:
+ ----- Method: MenuMorph class>>menuSelectionColor (in category 'preferences') -----
+ menuSelectionColor
+ <preference: 'menuSelectionColor'
+ category: #menus
+ description: 'Color of selected item in menu'
+ type: #Color>
+ Display depth <= 2 ifTrue: [^ Color black].
+ ^MenuSelectionColor ifNil: [(Color r: 0.4 g: 0.5 b: 0.7)]!
Item was added:
+ ----- Method: MenuMorph class>>menuSelectionColor: (in category 'preferences') -----
+ menuSelectionColor: aColor
+ MenuSelectionColor := aColor!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleBorderColor (in category 'preferences') -----
+ menuTitleBorderColor
+ <preference: 'menuTitleBorderColor'
+ category: #menus
+ description: 'Border color of frame around menu title'
+ type: #Color>
+ Display depth <= 2 ifTrue: [^ Color black].
+ ^MenuTitleBorderColor ifNil: [(Color r: 0.6 g: 0.7 b: 1)]!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleBorderColor: (in category 'preferences') -----
+ menuTitleBorderColor: aColor
+ MenuTitleBorderColor := aColor!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleBorderWidth (in category 'preferences') -----
+ menuTitleBorderWidth
+ <preference: 'menuTitleBorderWidth'
+ category: #menus
+ description: 'Width of frame around menus title'
+ type: #Number>
+ ^MenuTitleBorderWidth ifNil: [0]!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleBorderWidth: (in category 'preferences') -----
+ menuTitleBorderWidth: anInteger
+ MenuTitleBorderWidth := anInteger!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleColor (in category 'preferences') -----
+ menuTitleColor
+ <preference: 'menuTitleColor'
+ category: #menus
+ description: 'Color of background of menus title'
+ type: #Color>
+ Display depth = 1 ifTrue: [^ Color white].
+ Display depth = 2 ifTrue: [^ Color gray].
+ ^MenuTitleColor ifNil: [ Color transparent]!
Item was added:
+ ----- Method: MenuMorph class>>menuTitleColor: (in category 'preferences') -----
+ menuTitleColor: aColor
+ MenuTitleColor := aColor!
Item was changed:
----- Method: MenuMorph>>setDefaultParameters (in category 'initialization') -----
setDefaultParameters
"change the receiver's appareance parameters"
| colorFromMenu worldColor menuColor |
colorFromMenu := Preferences menuColorFromWorld
and: [Display depth > 4
and: [(worldColor := self currentWorld color) isColor]].
menuColor := colorFromMenu
ifTrue: [worldColor luminance > 0.7
ifTrue: [worldColor mixed: 0.85 with: Color black]
ifFalse: [worldColor mixed: 0.4 with: Color white]]
+ ifFalse: [self class menuColor].
- ifFalse: [Preferences menuColor].
self color: menuColor.
+ self borderWidth: self class menuBorderWidth.
- self borderWidth: Preferences menuBorderWidth.
Preferences menuAppearance3d ifTrue: [
self borderStyle: BorderStyle thinGray.
self hasDropShadow: true.
self useSoftDropShadow
ifFalse: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.666);
shadowOffset: 1 @ 1]
ifTrue: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.01);
shadowOffset: (10 at 8 corner: 10 at 12) ]
]
ifFalse: [
| menuBorderColor |
menuBorderColor := colorFromMenu
ifTrue: [worldColor muchDarker]
+ ifFalse: [self class menuBorderColor].
- ifFalse: [Preferences menuBorderColor].
self borderColor: menuBorderColor.
].
self layoutInset: 3.
!
Item was changed:
----- Method: MorphHierarchyListMorph>>createContainer (in category 'private') -----
createContainer
"Private - Create a container"
| container |
container := BorderedMorph new.
container extent: (World extent * (1 / 4 @ (2 / 3))) rounded.
container layoutPolicy: TableLayout new.
container hResizing: #rigid.
container vResizing: #rigid.
container
+ setColor: MenuMorph menuColor
+ borderWidth: MenuMorph menuBorderWidth
+ borderColor: MenuMorph menuBorderColor.
- setColor: Preferences menuColor
- borderWidth: Preferences menuBorderWidth
- borderColor: Preferences menuBorderColor.
container layoutInset: 0.
"container useRoundedCorners."
""
container setProperty: #morphHierarchy toValue: true.
container setNameTo: 'Objects Hierarchy' translated.
""
^ container!
Item was changed:
----- Method: SelectionMorph>>defaultBorderColor (in category 'initialization') -----
defaultBorderColor
"answer the default border color/fill style for the receiver"
+ ^ ( MenuMorph menuSelectionColor ifNil: [Color blue]) twiceDarker alpha: 0.75!
- ^ (Preferences menuSelectionColor ifNil: [Color blue]) twiceDarker alpha: 0.75!
Item was changed:
----- Method: SelectionMorph>>defaultColor (in category 'initialization') -----
defaultColor
"answer the default color/fill style for the receiver"
+ ^ (MenuMorph menuSelectionColor ifNil: [Color blue]) alpha: 0.08
- ^ (Preferences menuSelectionColor ifNil: [Color blue]) alpha: 0.08
!
Item was changed:
----- Method: SimpleHierarchicalListMorph>>drawOn: (in category 'drawing') -----
drawOn: aCanvas
super drawOn: aCanvas.
selectedMorph
ifNotNil: [aCanvas
fillRectangle: (((scroller transformFrom: self)
invertBoundsRect: selectedMorph bounds)
intersect: scroller bounds)
+ color: MenuMorph menuSelectionColor].
- color: Preferences menuSelectionColor].
self drawLinesOn: aCanvas!
Item was changed:
----- Method: SystemProgressBarMorph>>initialize (in category 'initialization') -----
initialize
super initialize.
self
borderWidth: 0;
+ color: MenuMorph menuColor muchLighter.
- color: Preferences menuColor muchLighter.
barSize := 0.
!
Item was changed:
----- Method: SystemProgressMorph>>setDefaultParameters (in category 'initialization') -----
setDefaultParameters
"change the receiver's appareance parameters"
| colorFromMenu worldColor menuColor |
colorFromMenu := Preferences menuColorFromWorld
and: [Display depth > 4
and: [(worldColor := self currentWorld color) isColor]].
menuColor := colorFromMenu
ifTrue: [worldColor luminance > 0.7
ifTrue: [worldColor mixed: 0.85 with: Color black]
ifFalse: [worldColor mixed: 0.4 with: Color white]]
+ ifFalse: [MenuMorph menuColor].
- ifFalse: [Preferences menuColor].
self color: menuColor.
MenuMorph roundedMenuCorners
ifTrue: [self useRoundedCorners].
+ self borderWidth: MenuMorph menuBorderWidth.
- self borderWidth: Preferences menuBorderWidth.
Preferences menuAppearance3d ifTrue: [
self borderStyle: BorderStyle thinGray.
self hasDropShadow: true.
self useSoftDropShadow
ifFalse: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.666);
shadowOffset: 1 @ 1]
ifTrue: [
self
shadowColor: (TranslucentColor r: 0.0 g: 0.0 b: 0.0 alpha: 0.01);
shadowOffset: (10 at 8 corner: 10 at 12) ]
]
ifFalse: [
| menuBorderColor |
menuBorderColor := colorFromMenu
ifTrue: [worldColor muchDarker]
+ ifFalse: [MenuMorph menuBorderColor].
- ifFalse: [Preferences menuBorderColor].
self borderColor: menuBorderColor.
].
self
updateColor: self
color: self color
intensity: 1.!
Item was changed:
----- Method: SystemWindow class>>updatePreferences (in category 'initializing') -----
updatePreferences
"Temporary method to update system-wide preferences"
Preferences installNormalWindowColors.
Preferences setPreference: #menuAppearance3d toValue: true.
(Preferences preferenceAt: #menuAppearance3d) defaultValue: true.
Preferences setPreference: #menuColorFromWorld toValue: false.
(Preferences preferenceAt: #menuColorFromWorld) defaultValue: false.
MenuMorph roundedMenuCorners: false.
+ MenuMorph menuColor: (Color gray: 0.9).
+ MenuMorph menuTitleColor: (Color transparent).
+ MenuMorph menuTitleBorderWidth: 0.
+ Preferences
+ setParameter: #defaultWorldColor
+ to: (Color gray: 0.25).
- Preferences setParameter: #menuColor to: (Color gray: 0.9).
- Preferences setParameter: #menuTitleColor to: (Color transparent).
- Preferences setParameter: #menuTitleBorderWidth to: 0.
- Preferences setParameter: #defaultWorldColor to: (Color gray: 0.25).
Preferences setPreference: #showSplitterHandles toValue: false.
(Preferences preferenceAt: #showSplitterHandles) defaultValue: true.
Preferences setPreference: #showSharedFlaps toValue: false.
(Preferences preferenceAt: #showSharedFlaps) defaultValue: false.
CornerGripMorph drawCornerResizeHandles: false.
FillInTheBlankMorph roundedDialogCorners: true.
LazyListMorph
listSelectionColor: LazyListMorph listSelectionColor;
listSelectionTextColor: Color black.
PluggableButtonMorph roundedButtonCorners: true.
SystemWindow
clickOnLabelToEdit: false;
doubleClickOnLabelToExpand: true;
moveMenuButtonRight: true;
hideExpandButton: false.!
Item was changed:
----- Method: SystemWindow>>openInWorldExtent: (in category 'open/close') -----
openInWorldExtent: extent
"This msg and its callees result in the window being activeOnlyOnTop"
^ self openInWorld: self currentWorld extent: extent!
Item was changed:
----- Method: TheWorldMainDockingBar>>colorIcon: (in category 'private') -----
colorIcon: aColor
"Guess if 'uniform window colors' are used and avoid all icons to be just gray"
(aColor = Preferences uniformWindowColor or: [Preferences tinyDisplay]) ifTrue: [ ^nil ].
^(aColor iconOrThumbnailOfSize: 14)
+ borderWidth: 3 color: MenuMorph menuColor muchDarker;
- borderWidth: 3 color: Preferences menuColor muchDarker;
borderWidth: 2 color: Color transparent!
Item was changed:
----- Method: TheWorldMainDockingBar>>createDockingBar (in category 'construction') -----
createDockingBar
"Create a docking bar from the receiver's representation"
| dockingBar |
dockingBar := DockingBarMorph new
adhereToTop;
+ color: MenuMorph menuColor;
- color: Preferences menuColor;
gradientRamp: self gradientRamp;
autoGradient: MenuMorph gradientMenu;
borderWidth: 0.
self fillDockingBar: dockingBar.
self labelIfNeeded: dockingBar.
^ dockingBar!
Item was changed:
----- Method: TheWorldMainDockingBar>>gradientRamp (in category 'private') -----
gradientRamp
^{
0.0 -> Color white.
+ 1.0 -> MenuMorph menuColor darker }!
- 1.0 -> Preferences menuColor darker }!
More information about the Squeak-dev
mailing list
|