# HG changeset patch # User Gerald Klix (speedy) # Date 1685648007 -7200 # Thu Jun 01 21:33:27 2023 +0200 # Node ID a10f6b0041b6395f726a3d483061396aa142c3f9 # Parent 63765aeca2ebca74bdf25e8365a4bf86d4a7a19f SUM: State related buttons are now colored. diff --git a/haver/office/NuMach.pck.st b/haver/office/NuMach.pck.st --- a/haver/office/NuMach.pck.st +++ b/haver/office/NuMach.pck.st @@ -1,8 +1,8 @@ -'From Haver 6.0 [latest update: #5832] on 1 June 2023 at 8:22:58 pm'! +'From Haver 6.0 [latest update: #5832] on 1 June 2023 at 9:32:34 pm'! 'Description NuMach is a very simple to list. Hopefully it will serve as a base for something more elaborate.'! -!provides: 'NuMach' 1 22! +!provides: 'NuMach' 1 23! !requires: 'Cuis-Base' 60 5780 nil! !requires: 'FacetsMorphs' 1 3 nil! !requires: 'IdGeneration' 1 0 nil! @@ -903,7 +903,7 @@ super initialize. isTopLevel := false! ! -!(Modules>>#NuMach>>#TodoItemContainerMorph) methodsFor: 'GUI building' stamp: 'KLG 6/1/2023 20:20:31'! +!(Modules>>#NuMach>>#TodoItemContainerMorph) methodsFor: 'GUI building' stamp: 'KLG 6/1/2023 21:03:43'! buildMorphicWidget "Build me." @@ -918,6 +918,7 @@ selector: #visible:state: arguments: { state } :: secondarySelector: #visible:onlyThisState:; + contentsColor: state buttonColor; setBalloonText: 'If ', 'on' italic, ' show items in state ', state displayString bold,'. @@ -1083,7 +1084,7 @@ needsUpdate ifTrue: [ self showSubItemsAccordingToFilter ] ]! ! -!(Modules>>#NuMach>>#TodoItemMorph) methodsFor: 'GUI building' stamp: 'KLG 5/31/2023 21:29:41'! +!(Modules>>#NuMach>>#TodoItemMorph) methodsFor: 'GUI building' stamp: 'KLG 6/1/2023 21:08:36'! buildMorphicWidget "Build my widget." @@ -1111,6 +1112,7 @@ selector: #showNextStateMenu) secondaryTarget: self model; secondarySelector: #moveStateForward; + contentsColor: self model state buttonColor; setBalloonText: self model state description) fixedWidth: 130. (headerPanel := LayoutMorph newRow) @@ -1185,22 +1187,13 @@ setBalloonText: nextState description ]. menu invokeModal! ! -!(Modules>>#NuMach>>#TodoItemMorph) methodsFor: 'user interface' stamp: 'KLG 5/31/2023 17:24:45'! -updateStateButton - "Update the state button." - - | state | - stateButton - contents: (state := self model state) displayString; - setBalloonText: state description - ! ! - -!(Modules>>#NuMach>>#TodoItemMorph) methodsFor: 'user interface' stamp: 'KLG 5/31/2023 17:50:25'! +!(Modules>>#NuMach>>#TodoItemMorph) methodsFor: 'user interface' stamp: 'KLG 6/1/2023 21:08:08'! updateStateButton: aNewState "Update the state button." stateButton contents: aNewState displayString; + contentsColor: aNewState buttonColor; setBalloonText: aNewState description ! ! @@ -1351,6 +1344,25 @@ ^ self subclassResponsibility! ! +!(Modules>>#NuMach>>#AbstractItemState) methodsFor: 'user interface support' stamp: 'KLG 6/1/2023 21:04:10'! +buttonBackroundColor + "Answer the backround color for buttons." + + self halt: 'I am obsolte!!'. + ^self buttonColor! ! + +!(Modules>>#NuMach>>#AbstractItemState) methodsFor: 'user interface support' stamp: 'KLG 6/1/2023 21:03:35'! +buttonColor + "Answer the backround color for buttons." + + ^self metaState + caseOf: { + [ 1 ] -> [ `Color white` ]. + [ 2 ] -> [ `Color gray` ]. + [ 3 ] -> [ `Color yellow` ]. + [ 4 ] -> [ `Color cyan` ] } + otherwise: [ `Color magenta` ]! ! + !(Modules>>#NuMach>>#AbstractItemState) methodsFor: 'user interface support' stamp: 'KLG 5/31/2023 13:42:24'! displayString "Answer my display string."