ShowMeHowItWorks.st
changeset 3851 8251db282466
parent 3828 d06d8ab3e5b8
child 3852 0b3d22d37c50
equal deleted inserted replaced
3850:91824773c619 3851:8251db282466
   625             lastComponent := component.
   625             lastComponent := component.
   626             ^ self
   626             ^ self
   627         ].
   627         ].
   628         Delay waitForSeconds:0.1.
   628         Delay waitForSeconds:0.1.
   629         Timestamp now > endTime ifTrue:[
   629         Timestamp now > endTime ifTrue:[
   630             self error:('component %1 not present after %2' bindWith:componentName with:seconds)
   630             self error:('component %1 not present after %2' bindWith:componentName with:seconds).
       
   631             "/ if proceeded, just return.
       
   632             ^ self.
   631         ]
   633         ]
   632     ] loop
   634     ] loop
   633 ! !
   635 ! !
   634 
   636 
   635 !ShowMeHowItWorks methodsFor:'commands - checking'!
   637 !ShowMeHowItWorks methodsFor:'commands - checking'!
  1622         (idxString conform:#isDigit) ifTrue:[
  1624         (idxString conform:#isDigit) ifTrue:[
  1623             idx := Integer readFrom:idxString.
  1625             idx := Integer readFrom:idxString.
  1624             item := anApplicationOrViewOrMenuItem tabAtIndex:idx.
  1626             item := anApplicationOrViewOrMenuItem tabAtIndex:idx.
  1625         ] ifFalse:[
  1627         ] ifFalse:[
  1626             idxString := idxString withoutQuotes.
  1628             idxString := idxString withoutQuotes.
  1627             item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem rawLabel = idxString].
  1629             item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem label = idxString].
  1628             item isNil ifTrue:[
  1630             item isNil ifTrue:[
  1629                 item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab printableLabel = idxString].
  1631                 item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab tabItem rawLabel = idxString].
  1630                 item isNil ifTrue:[
  1632                 item isNil ifTrue:[
  1631                     item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab activeHelpKey = idxString].
  1633                     item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab printableLabel = idxString].
       
  1634                     item isNil ifTrue:[
       
  1635                         item := anApplicationOrViewOrMenuItem tabForWhich:[:tab | tab activeHelpKey = idxString].
       
  1636                     ].
  1632                 ].
  1637                 ].
  1633             ].
  1638             ].
  1634         ].
  1639         ].
  1635         self assert:item notNil.
  1640         self assert:item notNil message:('No tab named: %1' bindWith:idxString).
  1636         ^ ItemInView new view:anApplicationOrViewOrMenuItem item:item boundsInView:(item layout)
  1641         ^ ItemInView new view:anApplicationOrViewOrMenuItem item:item boundsInView:(item layout)
  1637     ].
  1642     ].
  1638 
  1643 
  1639     componentNameSymbol := componentNameOrPath asSymbolIfInterned ? componentNameOrPath.
  1644     componentNameSymbol := componentNameOrPath asSymbolIfInterned ? componentNameOrPath.
  1640 
  1645 
  2311         wasFlyByActive := FlyByHelp isSuspended.
  2316         wasFlyByActive := FlyByHelp isSuspended.
  2312         FlyByHelp suspend.
  2317         FlyByHelp suspend.
  2313 
  2318 
  2314         [
  2319         [
  2315             Error handle:[:ex |
  2320             Error handle:[:ex |
  2316                 Dialog warn:(self class classResources 
  2321                 Dialog information:(self class classResources 
  2317                                     stringWithCRs:'An error was encountered in the show:\\%1' 
  2322                                     stringWithCRs:'Sorry, the show is over\\(due to: %1)' 
  2318                                     with:ex description withCRs)
  2323                                     with:ex description withCRs)
  2319             ] do:[
  2324             ] do:[
  2320                 self doStream:(specArray readStream) from:startLabelOrNil
  2325                 self doStream:(specArray readStream) from:startLabelOrNil
  2321             ].
  2326             ].
  2322         ] ensure:[
  2327         ] ensure:[
  2465             ].
  2470             ].
  2466         ].
  2471         ].
  2467 
  2472 
  2468         [opStream atEnd] whileFalse:[
  2473         [opStream atEnd] whileFalse:[
  2469             nextCommand := opStream next.
  2474             nextCommand := opStream next.
  2470             self doCommand:nextCommand.
  2475             Error handle:[:ex |
       
  2476                 (Dialog confirm:(self class classResources 
       
  2477                                     stringWithCRs:'An error was encountered in the show:\\%1\\Proceed anyway (may result in followup errors to be encountered)?' 
       
  2478                                     with:ex description withCRs)
       
  2479                 ) ifFalse:[
       
  2480                     ex reject
       
  2481                 ].
       
  2482             ] do:[
       
  2483                 self doCommand:nextCommand.
       
  2484             ].
  2471 
  2485 
  2472             Display shiftDown ifTrue:[
  2486             Display shiftDown ifTrue:[
  2473                 (IntroShownCount ? 0) > 3 ifFalse:[
  2487                 (IntroShownCount ? 0) > 3 ifFalse:[
  2474                     self tell:(self translate:'You pressed the SHIFT key.').
  2488                     self tell:(self translate:'You pressed the SHIFT key.').
  2475                 ].    
  2489                 ].