class definition
added:
#enableChannel:
#overWriteDefaultToggleChannel
#overwriteDefaultToggleChannel
#updateEnableChannel
changed:7 methods
--- a/ColorMenu.st Sun Jan 23 15:33:06 2011 +0100
+++ b/ColorMenu.st Sun Jan 23 20:35:29 2011 +0100
@@ -12,9 +12,9 @@
"{ Package: 'stx:libwidg2' }"
MenuPanel subclass:#ColorMenu
- instanceVariableNames:'enabledChannel labelsAreColored color colorName
- allowSymbolicColors showDefaultToggle acceptAction
- useDefaultColorToggleVisibleHolder'
+ instanceVariableNames:'overwriteDefaultToggleChannel enabledChannel labelsAreColored
+ color colorName allowSymbolicColors showDefaultToggle
+ acceptAction useDefaultColorToggleVisibleHolder'
classVariableNames:'ColorMenuSpec RecentlyUsedColors'
poolDictionaries:''
category:'Interface-UIPainter'
@@ -224,8 +224,9 @@
colorMenuSpec
"color definitions used to build a color menu
"
-"
-ColorMenuSpec := nil.
+"because it is cached, you have to:
+ ColorMenuSpec := nil.
+when changing
"
^ #(
#( gray
@@ -265,8 +266,13 @@
yellow:
#( veryLight lightened 100 87 67 50 33 25)
)
+ #( brown
+ brown:
+ #( veryLight lightened brown darkened veryDark)
+ )
+ )
- )
+ "Modified: / 23-01-2011 / 16:33:33 / cg"
! !
!ColorMenu class methodsFor:'private'!
@@ -301,10 +307,14 @@
el == #veryLight ifTrue:[
color := baseColor lightened lightened
] ifFalse:[ el == #lightened ifTrue:[
- color := baseColor perform:el
+ color := baseColor lightened
+ ] ifFalse:[ el == #darkened ifTrue:[
+ color := baseColor darkened
+ ] ifFalse:[ el == #veryDark ifTrue:[
+ color := baseColor darkened darkened
] ifFalse:[
color := Color perform:el
- ]].
+ ]]]].
colorId == #gray ifTrue:[ label := el ].
] ifFalse:[
el isNumber ifTrue:[
@@ -324,6 +334,8 @@
].
ColorMenuSpec := menu.
^ menu
+
+ "Modified: / 23-01-2011 / 16:34:45 / cg"
!
resolveMenuItem:aMenuItem value:aValue labelsAreColored:labelsAreColored
@@ -375,7 +387,7 @@
(item notNil and:[((item nameKey ? '') startsWith:'pseudo') not]) ifTrue:[
holder := self colorHolder.
holder == item ifTrue:[
- enabledChannel value ifTrue:[
+ self overwriteDefaultToggleChannel value ifTrue:[
color := self color.
] ifFalse:[
holder label:(Text string:' ').
@@ -390,6 +402,8 @@
acceptAction value:color
].
]
+
+ "Modified: / 23-01-2011 / 16:22:36 / cg"
!
chooseColor:aColor
@@ -428,7 +442,7 @@
|label newColor|
(aColor isColor or:[aColor isSymbol]) ifFalse:[
- enabledChannel value:false.
+ self overwriteDefaultToggleChannel value:false.
self colorHolder label:' '.
] ifTrue:[
newColor := aColor.
@@ -449,11 +463,13 @@
].
color := newColor.
self disabledRedrawDo:[
- enabledChannel value:true.
+ self overwriteDefaultToggleChannel value:true.
self colorHolder label:label.
self chooseColor:aColor
]
]
+
+ "Modified: / 23-01-2011 / 16:23:13 / cg"
!
colorHolder
@@ -466,8 +482,18 @@
^ self color
!
+enableChannel:aValueHolder
+ super enableChannel:aValueHolder.
+ self updateEnableChannel
+
+ "Created: / 23-01-2011 / 16:08:52 / cg"
+!
+
enabledChannel
- ^ enabledChannel
+ ^ self overwriteDefaultToggleChannel
+"/ ^ enabledChannel
+
+ "Modified: / 23-01-2011 / 16:24:12 / cg"
!
labelsAreColored
@@ -489,6 +515,15 @@
].
!
+overwriteDefaultToggleChannel
+ overwriteDefaultToggleChannel isNil ifTrue:[
+ overwriteDefaultToggleChannel := false asValue.
+ ].
+ ^ overwriteDefaultToggleChannel
+
+ "Modified: / 23-01-2011 / 16:24:00 / cg"
+!
+
useDefaultColorToggleVisibleHolder
useDefaultColorToggleVisibleHolder isNil ifTrue:[
useDefaultColorToggleVisibleHolder := true asValue
@@ -597,10 +632,10 @@
allowSymbolicColors := false.
self fitFirstPanel:false.
- enabledChannel := ValueHolder with:false.
+ "/ enabledChannel := ValueHolder with:false.
self setupMenu.
- "Modified: / 21.5.1998 / 03:07:26 / cg"
+ "Modified: / 23-01-2011 / 16:05:31 / cg"
!
setupMenu
@@ -650,15 +685,22 @@
self menu:menu.
+ self updateEnableChannel
+
+ "Modified: / 23-01-2011 / 16:08:18 / cg"
+!
+
+updateEnableChannel
self do:[:anItem|
anItem value == #selection ifTrue:[
- anItem indication:enabledChannel
+ anItem indication:self overwriteDefaultToggleChannel.
+ "/ anItem enabled:enabledChannel.
] ifFalse:[
- anItem enabled:enabledChannel.
+ anItem enabled:self overwriteDefaultToggleChannel.
]
]
- "Modified: / 23-01-2011 / 14:49:32 / cg"
+ "Created: / 23-01-2011 / 16:08:06 / cg"
! !
!ColorMenu methodsFor:'user actions'!
@@ -690,9 +732,9 @@
!ColorMenu class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/ColorMenu.st,v 1.66 2011-01-23 14:33:06 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/ColorMenu.st,v 1.67 2011-01-23 19:35:29 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libwidg2/ColorMenu.st,v 1.66 2011-01-23 14:33:06 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/ColorMenu.st,v 1.67 2011-01-23 19:35:29 cg Exp $'
! !