DataSetBuilder.st
changeset 1974 f3e9c2ded641
parent 1944 f35d2f61f294
child 1981 d28960fc1576
equal deleted inserted replaced
1973:58e2df779faa 1974:f3e9c2ded641
  2434 
  2434 
  2435 ! !
  2435 ! !
  2436 
  2436 
  2437 !DataSetBuilder methodsFor:'building'!
  2437 !DataSetBuilder methodsFor:'building'!
  2438 
  2438 
  2439 buildFromClass:aClass andSelector:aSelector
  2439 buildFromResourceSpec:aResourceSpec
       
  2440 
       
  2441     self columns:aResourceSpec.
       
  2442 
       
  2443 "/    columns notEmpty ifTrue: [
       
  2444 "/        self tabModel value: 1. 
       
  2445 "/        self selectedColumnModel value:nil; value:1.    "/ toggle to force change
       
  2446 "/        self updateInputFields.
       
  2447 "/        self updateInfoLabel.
       
  2448 "/        self updateHistory
       
  2449 "/    ].
       
  2450 
       
  2451 !
       
  2452 
       
  2453 loadFromClass:aClass andSelector:aSelector
  2440 
  2454 
  2441     |updateBlock cls list|
  2455     |updateBlock cls list|
       
  2456 
       
  2457     self assert:(aClass isNil or:[aClass isClass]).
  2442 
  2458 
  2443     selectedColumnIndex := 0.
  2459     selectedColumnIndex := 0.
  2444 
  2460 
  2445     updateBlock := [
  2461     updateBlock := [
  2446         columns notEmpty ifTrue: [
  2462         columns notEmpty ifTrue: [
  2461         self tabModel value: 0. 
  2477         self tabModel value: 0. 
  2462         self columns removeAll.
  2478         self columns removeAll.
  2463         self seqList removeAll.
  2479         self seqList removeAll.
  2464         self updateColumnView.
  2480         self updateColumnView.
  2465         self updateInfoLabel.
  2481         self updateInfoLabel.
  2466       ^ self isColumnSelected value: false.
  2482         self isColumnSelected value: false.
       
  2483         ^ self.
  2467     ].
  2484     ].
  2468 
  2485 
  2469     specSelector isNil ifTrue: [updateBlock value. ^self].
  2486     specSelector isNil ifTrue: [updateBlock value. ^self].
  2470 
  2487 
  2471     list := nil.
  2488     list := nil.
  2472 
  2489 
  2473     (aClass notNil or:[self isStandAlone or:[self window shown]]) ifTrue:[
  2490     (aClass notNil or:[self isStandAlone or:[self window shown]]) ifTrue:[
  2474 
       
  2475         (aClass notNil and:[aSelector notNil]) ifTrue:[
  2491         (aClass notNil and:[aSelector notNil]) ifTrue:[
  2476             cls := self resolveName:aClass.
  2492             cls := aClass isBehavior ifTrue:[ aClass ] ifFalse:[ self resolveName:aClass].
  2477 
  2493 
  2478             (cls respondsTo:aSelector) ifTrue:[
  2494             (cls respondsTo: aSelector) ifTrue:[ 
  2479                 list := cls perform:aSelector        
  2495                 list := cls perform: aSelector.
  2480             ]
  2496             ].
  2481         ]
  2497         ]
  2482     ] ifFalse:[
  2498     ] ifFalse:[
  2483         list := columns
  2499         list := columns
  2484     ].
  2500     ].
  2485     self columns:list.
  2501     self columns:list.
  2486     updateBlock value.
  2502     updateBlock value.
  2487 
       
  2488 !
       
  2489 
       
  2490 buildFromResourceSpec:aResourceSpec
       
  2491 
       
  2492     self columns:aResourceSpec.
       
  2493 
       
  2494 "/    columns notEmpty ifTrue: [
       
  2495 "/        self tabModel value: 1. 
       
  2496 "/        self selectedColumnModel value:nil; value:1.    "/ toggle to force change
       
  2497 "/        self updateInputFields.
       
  2498 "/        self updateInfoLabel.
       
  2499 "/        self updateHistory
       
  2500 "/    ].
       
  2501 
       
  2502 ! !
  2503 ! !
  2503 
  2504 
  2504 !DataSetBuilder methodsFor:'code generation'!
  2505 !DataSetBuilder methodsFor:'code generation'!
  2505 
  2506 
  2506 compile:aCode forClass:aClass inCategory:aCategory
  2507 compile:aCode forClass:aClass inCategory:aCategory
  3097         column perform:(aKey , ':') asSymbol with: aModel value
  3098         column perform:(aKey , ':') asSymbol with: aModel value
  3098     ].
  3099     ].
  3099     self seqList at:selectedColumnIndex put:(self labelFromColumn:column).
  3100     self seqList at:selectedColumnIndex put:(self labelFromColumn:column).
  3100     self updateColumnView.
  3101     self updateColumnView.
  3101     self cancel.
  3102     self cancel.
  3102     modified := true.
  3103     self clearModified.
  3103 !
  3104 !
  3104 
  3105 
  3105 cancel
  3106 cancel
  3106     "remove all changes and reload selected column values"
  3107     "remove all changes and reload selected column values"
  3107 
  3108 
  3136 
  3137 
  3137     columns isEmpty ifTrue:[
  3138     columns isEmpty ifTrue:[
  3138         self isColumnSelected value: false
  3139         self isColumnSelected value: false
  3139     ].
  3140     ].
  3140     self cancel.
  3141     self cancel.
  3141     modified := true.
  3142     self setModified.
  3142 
       
  3143 !
  3143 !
  3144 
  3144 
  3145 doBrowseRowClass
  3145 doBrowseRowClass
  3146     "browse class of columns spec"
  3146     "browse class of columns spec"
  3147 
  3147 
  3179     self valueOfEnablingCommitButtons value ifFalse:[
  3179     self valueOfEnablingCommitButtons value ifFalse:[
  3180         self selectedColumnModel value:selectedColumnIndex + 1
  3180         self selectedColumnModel value:selectedColumnIndex + 1
  3181     ].
  3181     ].
  3182     self cancel.
  3182     self cancel.
  3183     self updateColumnView.
  3183     self updateColumnView.
  3184     modified := true.
  3184     self setModified.
  3185 !
  3185 !
  3186 
  3186 
  3187 doCut
  3187 doCut
  3188     "remove selected column and put it to the clipboard"
  3188     "remove selected column and put it to the clipboard"
  3189 
  3189 
  3336     ].
  3336     ].
  3337     columns add:col   beforeIndex:idx.
  3337     columns add:col   beforeIndex:idx.
  3338     list    add:label beforeIndex:idx.  
  3338     list    add:label beforeIndex:idx.  
  3339     self selectedColumnModel value:idx.
  3339     self selectedColumnModel value:idx.
  3340     self updateColumnView.
  3340     self updateColumnView.
  3341     modified := true.
  3341     self setModified.
  3342 
       
  3343 !
  3342 !
  3344 
  3343 
  3345 doPaste
  3344 doPaste
  3346     "paste clipboard copy column after selected column or at left (nothing selected)"
  3345     "paste clipboard copy column after selected column or at left (nothing selected)"
  3347 
  3346 
  3357     self valueOfEnablingCommitButtons value ifFalse:[
  3356     self valueOfEnablingCommitButtons value ifFalse:[
  3358         self selectedColumnModel value:selectedColumnIndex + 1
  3357         self selectedColumnModel value:selectedColumnIndex + 1
  3359     ].
  3358     ].
  3360     self updateColumnView.
  3359     self updateColumnView.
  3361     self updateInputFields.
  3360     self updateInputFields.
  3362     modified := true.
  3361     self setModified.
  3363 
       
  3364 !
  3362 !
  3365 
  3363 
  3366 doPickColumns
  3364 doPickColumns
  3367 
  3365 
  3368     |view cls|
  3366     |view cls|
  3425 
  3423 
  3426     self updateHistory.
  3424     self updateHistory.
  3427     self updateInfoLabel.
  3425     self updateInfoLabel.
  3428 
  3426 
  3429     hasSaved := true.
  3427     hasSaved := true.
  3430     modified := false.
  3428     self clearModified.
  3431 !
  3429 !
  3432 
  3430 
  3433 openDocumentation
  3431 openDocumentation
  3434    self openHTMLDocument:'tools/uipainter/DataSetBuilder.html'.
  3432    self openHTMLDocument:'tools/uipainter/DataSetBuilder.html'.
  3435 ! !
  3433 ! !