DataSetBuilder.st
changeset 421 b8094b7c7fe7
parent 419 34cc530118c6
child 427 ad235cdacee5
equal deleted inserted replaced
420:7fd01e47c912 421:b8094b7c7fe7
  1017      
  1017      
  1018        #(#FullSpec
  1018        #(#FullSpec
  1019           #'window:' 
  1019           #'window:' 
  1020            #(#WindowSpec
  1020            #(#WindowSpec
  1021               #'name:' 'Data Set Builder'
  1021               #'name:' 'Data Set Builder'
  1022               #'layout:' #(#LayoutFrame 246 0 169 0 732 0 528 0)
  1022               #'layout:' #(#LayoutFrame 109 0 262 0 595 0 621 0)
  1023               #'label:' 'Data Set Builder'
  1023               #'label:' 'Data Set Builder'
  1024               #'min:' #(#Point 10 10)
  1024               #'min:' #(#Point 10 10)
  1025               #'max:' #(#Point 1152 900)
  1025               #'max:' #(#Point 1152 900)
  1026               #'bounds:' #(#Rectangle 246 169 733 529)
  1026               #'bounds:' #(#Rectangle 109 262 596 622)
  1027               #'menu:' #menu
  1027               #'menu:' #menu
  1028               #'usePreferredExtent:' false
  1028               #'usePreferredExtent:' false
  1029           )
  1029           )
  1030           #'component:' 
  1030           #'component:' 
  1031            #(#SpecCollection
  1031            #(#SpecCollection
  1079                                      #(#SubCanvasSpec
  1079                                      #(#SubCanvasSpec
  1080                                         #'name:' 'specCanvas'
  1080                                         #'name:' 'specCanvas'
  1081                                         #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 -30 1.0)
  1081                                         #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 -30 1.0)
  1082                                         #'specHolder:' #specChannel
  1082                                         #'specHolder:' #specChannel
  1083                                     )
  1083                                     )
  1084                                      #(#HorizontalPanelViewSpec
  1084                                      #(#UISubSpecification
  1085                                         #'name:' 'modifyPanel'
  1085                                         #'name:' 'SubSpecification'
  1086                                         #'layout:' #(#LayoutFrame 0 0.0 -30 1.0 0 1.0 0 1.0)
  1086                                         #'layout:' #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0)
  1087                                         #'component:' 
  1087                                         #'majorKey:' #ToolApplicationModel
  1088                                          #(#SpecCollection
  1088                                         #'minorKey:' #windowSpecForCommit
  1089                                             #'collection:' 
       
  1090                                              #(
       
  1091                                                #(#ActionButtonSpec
       
  1092                                                   #'name:' 'cancelButton'
       
  1093                                                   #'label:' 'Cancel'
       
  1094                                                   #'model:' #cancel
       
  1095                                                   #'enableChannel:' #modifiedChannel
       
  1096                                                   #'extent:' #(#Point 173 24)
       
  1097                                               )
       
  1098                                                #(#ActionButtonSpec
       
  1099                                                   #'name:' 'acceptButton'
       
  1100                                                   #'label:' 'OK'
       
  1101                                                   #'model:' #accept
       
  1102                                                   #'enableChannel:' #modifiedChannel
       
  1103                                                   #'extent:' #(#Point 174 24)
       
  1104                                               )
       
  1105                                             )
       
  1106                                         )
       
  1107                                         #'horizontalLayout:' #fitSpace
       
  1108                                         #'verticalLayout:' #fitSpace
       
  1109                                         #'horizontalSpace:' 3
       
  1110                                         #'verticalSpace:' 3
       
  1111                                     )
  1089                                     )
  1112                                   )
  1090                                   )
  1113                               )
  1091                               )
  1114                               #'borderWidth:' 1
  1092                               #'borderWidth:' 1
  1115                           )
  1093                           )
  1425 
  1403 
  1426 
  1404 
  1427 
  1405 
  1428 !
  1406 !
  1429 
  1407 
  1430 modifiedChannel
       
  1431     "returns a boolean value holder which is set to true if something is modified
       
  1432      and not accepted"
       
  1433 
       
  1434     ^builder booleanValueAspectFor:#modifiedChannel
       
  1435 
       
  1436 
       
  1437 
       
  1438 !
       
  1439 
       
  1440 rendererTypeList
  1408 rendererTypeList
  1441     "generate list of supported renderer types"
  1409     "generate list of supported renderer types"
  1442 
  1410 
  1443     |list|
  1411     |list|
  1444 
  1412 
  1518 
  1486 
  1519     isModified 
  1487     isModified 
  1520     ifFalse:
  1488     ifFalse:
  1521     [
  1489     [
  1522         isModified := hasChanged := true.
  1490         isModified := hasChanged := true.
  1523         self modifiedChannel value: true.
  1491         self valueOfEnablingCommitButtons value: true.
  1524         self columnIsNotEditing value: false
  1492         self columnIsNotEditing value: false
  1525     ]
  1493     ]
  1526 ! !
  1494 ! !
  1527 
  1495 
  1528 !DataSetBuilder methodsFor:'code generation'!
  1496 !DataSetBuilder methodsFor:'code generation'!
  1848 !DataSetBuilder methodsFor:'private'!
  1816 !DataSetBuilder methodsFor:'private'!
  1849 
  1817 
  1850 checkMenuItemModified
  1818 checkMenuItemModified
  1851     "check column modification"
  1819     "check column modification"
  1852 
  1820 
  1853     self modifiedChannel value
  1821     self valueOfEnablingCommitButtons value
  1854     ifTrue:
  1822     ifTrue:
  1855     [
  1823     [
  1856         ((YesNoBox title:'Column was modified!!\Save it?\' withCRs)        
  1824         ((YesNoBox title:'Column was modified!!\Save it?\' withCRs)        
  1857             noText:'No';
  1825             noText:'No';
  1858             yesText:'Yes';
  1826             yesText:'Yes';
  1859             showAtPointer;
  1827             showAtPointer;
  1860             accepted) ifFalse: [self modifiedChannel value: false. ^true].
  1828             accepted) ifFalse: [self valueOfEnablingCommitButtons value: false. ^true].
  1861         self accept
  1829         self accept
  1862     ].
  1830     ].
  1863     ^true
  1831     ^true
  1864 
  1832 
  1865 !
  1833 !
  1984 accept
  1952 accept
  1985     "accept changes made"
  1953     "accept changes made"
  1986 
  1954 
  1987     |column type|
  1955     |column type|
  1988 
  1956 
  1989     self modifiedChannel value == false ifTrue: [^self].
  1957     self valueOfEnablingCommitButtons value == false ifTrue: [^self].
  1990     isModified := true.
  1958     isModified := true.
  1991 
  1959 
  1992     (column := self selectedColumn) isNil ifTrue: [^self cancel].
  1960     (column := self selectedColumn) isNil ifTrue: [^self cancel].
  1993 
  1961 
  1994     type := (aspects at:#rendererType) value.
  1962     type := (aspects at:#rendererType) value.
  2010     "remove all changes and reload selected column values"
  1978     "remove all changes and reload selected column values"
  2011 
  1979 
  2012     |column|
  1980     |column|
  2013 
  1981 
  2014     self updateInputFields.
  1982     self updateInputFields.
  2015     self modifiedChannel value:false.
  1983     self valueOfEnablingCommitButtons value:false.
  2016     self columnIsNotEditing value: true.
  1984     self columnIsNotEditing value: true.
  2017     isModified := false
  1985     isModified := false
  2018 !
  1986 !
  2019 
  1987 
  2020 doBrowseClass
  1988 doBrowseClass
  2050     list := self seqList.
  2018     list := self seqList.
  2051     label := 'Column ', list size printString.
  2019     label := 'Column ', list size printString.
  2052     columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex.
  2020     columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex.
  2053     self seqList add:label afterIndex:selectedColumnIndex.
  2021     self seqList add:label afterIndex:selectedColumnIndex.
  2054     hasChanged := true.
  2022     hasChanged := true.
  2055     self modifiedChannel value ifFalse:[self selectedColumnModel value:selectedColumnIndex + 1].
  2023     self valueOfEnablingCommitButtons value ifFalse:[self selectedColumnModel value:selectedColumnIndex + 1].
  2056     self cancel
  2024     self cancel
  2057 
  2025 
  2058 !
  2026 !
  2059 
  2027 
  2060 doCutColumn
  2028 doCutColumn
  2227     label := self class clipboard label.
  2195     label := self class clipboard label.
  2228     columns add: self class clipboard deepCopy afterIndex:selectedColumnIndex.
  2196     columns add: self class clipboard deepCopy afterIndex:selectedColumnIndex.
  2229     self seqList add: label afterIndex:selectedColumnIndex.
  2197     self seqList add: label afterIndex:selectedColumnIndex.
  2230     hasChanged := true.
  2198     hasChanged := true.
  2231 
  2199 
  2232     self modifiedChannel value ifFalse:[self selectedColumnModel value:selectedColumnIndex + 1].
  2200     self valueOfEnablingCommitButtons value ifFalse:[self selectedColumnModel value:selectedColumnIndex + 1].
  2233     self updateColumnView.
  2201     self updateColumnView.
  2234 
  2202 
  2235 ! !
  2203 ! !
  2236 
  2204 
  2237 !DataSetBuilder class methodsFor:'documentation'!
  2205 !DataSetBuilder class methodsFor:'documentation'!