#REFACTORING by exept
authorClaus Gittinger <cg@exept.de>
Mon, 22 Jul 2019 17:10:02 +0200
changeset 4315 1a0e7c9e4f80
parent 4314 23fdaa63f239
child 4316 a0550c30453e
#REFACTORING by exept class: ApplicationModel added: #showMeHowItWorks #showMeHowItWorks: #showMeHowItWorks:in:
ApplicationModel.st
--- a/ApplicationModel.st	Sun Jul 21 07:09:43 2019 +0200
+++ b/ApplicationModel.st	Mon Jul 22 17:10:02 2019 +0200
@@ -3297,6 +3297,115 @@
 ! !
 
 
+!ApplicationModel methodsFor:'menu actions - help'!
+
+showMeHowItWorks
+    self showMeHowItWorks:nil
+"/    ShowMeHowItWorks do: #(
+"/        show: 'this little presentation shows, how to find a method when the desired result is known'
+"/
+"/        intro
+"/        
+"/        (unless: ( isEmpty: ReceiverEditor ) do:(
+"/            (showing: 'you can clear the fields - by pressing the "Clear" button' do:(
+"/                    fastMoveTo: ClearButton
+"/                    click
+"/            ))
+"/        ))
+"/        
+"/        ( showing: 'start by choosing the number of arguments,' do:(
+"/            moveTo: AllowedArguments
+"/            select: '1 argument' 
+"/        ))  
+"/        (showing: 'Click into the "receiver" field' do:(
+"/            moveTo: ReceiverEditor
+"/            click 
+"/        ))
+"/        wait: 0.5
+"/        (showing: 'Enter a value (or expression) into "receiver" field' do:(
+"/            type: '10'
+"/        ))
+"/        wait: 0.5
+"/        (showing: 'Click into the "first argument" field' do:(
+"/            moveTo: Arg1Editor
+"/            click
+"/        ))
+"/        wait: 0.5
+"/        (showing: 'and enter a value for the argument' do:(
+"/            type: '1'
+"/        ))
+"/        wait: 0.5
+"/        (showing: 'Click into the "answer" field' do:(
+"/            fastMoveTo: AnswerEditor
+"/            click
+"/        ))
+"/        (showing: 'Enter the expected result value into the "answer" field' do:(
+"/            type: '11'
+"/        ))
+"/        wait: 0.5
+"/        (showing: 'and finally, Click on the "search" button' do:(
+"/            fastMoveTo: SearchButton
+"/            click
+"/        ))
+"/        show: 'now, the finder searches for combinations that produce the desired result' 
+"/        fastMoveTo: ResultList
+"/        show: 'and present code which would produce it in the answer list below' 
+"/        show: 'if you select any item there,' 
+"/        wait: 0.5
+"/        selectIndex: 2 
+"/        wait: 0.5
+"/        fastMoveTo: ImplementorsList
+"/        show: 'the implementations will be shown in the top right implementor list' 
+"/        show: 'if you select any item there,' 
+"/        selectIndex: 1 
+"/        wait: 0.5
+"/        show: 'the implementation is shown in the bottom code editor' 
+"/        fastMoveTo: CodeView
+"/        wait: 0.5
+"/        show: 'Thank you for watching, indeed' 
+"/    )
+
+    "Created: / 18-07-2019 / 21:59:06 / Claus Gittinger"
+    "Modified: / 19-07-2019 / 16:52:01 / Claus Gittinger"
+!
+
+showMeHowItWorks:minorKey
+    self showMeHowItWorks:minorKey in:self className
+
+!
+
+showMeHowItWorks:minorKey in:majorKey
+    |fn rsrcDir spec|
+
+    fn := majorKey.
+    minorKey notEmptyOrNil ifTrue:[
+        fn := fn,'_',minorKey
+    ].
+
+    rsrcDir := self class packageDirectory asFilename / 'resources' / 'shows'.
+    (rsrcDir exists) ifFalse:[
+        Dialog warn:'No presentations available for %1' with:fn.
+        ^ self
+    ].
+    {
+        ('_',Smalltalk language,'.show') .
+        ('_en','.show') .
+        '.show' .
+    } do:[:rest |
+        |triedFn|
+
+        triedFn := fn,rest.
+        (rsrcDir / triedFn) exists ifTrue:[
+            (rsrcDir / triedFn) readingFileDo:[:s |
+                spec := Array readFrom:s.
+            ].
+            ShowMeHowItWorks do:spec.
+            ^ self
+        ]
+    ].
+    Dialog warn:'No presentations available for %1' with:fn.
+! !
+
 !ApplicationModel methodsFor:'opening'!
 
 hideWindows