UIObjectView.st
changeset 78 a0a00603a8b6
parent 76 c9c4254a9ee5
child 79 33212fbe9766
equal deleted inserted replaced
77:0d3cc25662d6 78:a0a00603a8b6
   270 !
   270 !
   271 
   271 
   272 keyPress:key x:x y:y
   272 keyPress:key x:x y:y
   273     "any key pressed
   273     "any key pressed
   274     "
   274     "
   275     <resource: #keyboard ( #InspectIt #Delete #BackSpace #Cut) >
   275     <resource: #keyboard ( #Delete #BackSpace #Cut #Copy #Paste ) >
   276 
       
   277     key == #InspectIt ifTrue:[
       
   278         ^ self inspectSelection
       
   279     ].
       
   280 
   276 
   281     (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [
   277     (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [
   282         ^ self deleteSelection
   278         ^ self deleteSelection
   283     ].
   279     ].
       
   280 
       
   281     key == #Copy  ifTrue:[ ^ self copySelection].
       
   282     key == #Paste ifTrue:[ ^ self pasteBuffer].
   284 
   283 
   285     super keyPress:key x:x y:y
   284     super keyPress:key x:x y:y
   286 
   285 
   287 
   286 
   288 !
   287 !
   390     "Modified: 5.9.1995 / 12:25:25 / claus"
   389     "Modified: 5.9.1995 / 12:25:25 / claus"
   391 
   390 
   392 
   391 
   393 !
   392 !
   394 
   393 
   395 minSetOfSuperViews:aCollectionOfViews
   394 minSetOfSuperViews:setOfViews
   396     |setOfViews setOfSuperViews|
   395 
   397 
   396     setOfViews isCollection ifFalse:[
   398     aCollectionOfViews isCollection ifFalse:[
   397         setOfViews notNil ifTrue:[^ Array with:setOfViews]
   399         ^ aCollectionOfViews
   398                          ifFalse:[^ nil]
   400     ].
   399     ].
   401 
   400 
   402     setOfViews := aCollectionOfViews asIdentitySet.
   401   ^ setOfViews select:[:aView|
   403 
   402         (setOfViews detect:[:v|aView isComponentOf:v] ifNone:nil) isNil
   404     setOfSuperViews := setOfViews select:[:aView|
   403     ]
   405                             (setOfViews detect:[:v|aView isComponentOf:v]
       
   406                                      ifNone:nil
       
   407                             ) isNil
       
   408                         ].
       
   409 
       
   410     setOfSuperViews size == 1 ifTrue:[
       
   411         ^ setOfSuperViews first
       
   412     ].
       
   413     ^ setOfSuperViews asOrderedCollection
       
   414 !
   404 !
   415 
   405 
   416 setDefaultActions
   406 setDefaultActions
   417     "set default actions
   407     "set default actions
   418     "
   408     "
   521 
   511 
   522     self setDefaultActions.
   512     self setDefaultActions.
   523 
   513 
   524 !
   514 !
   525 
   515 
   526 setupCreatedObject:anObject
   516 initializeCreatedObject:anObject
   527     self subclassResponsibility
   517     self subclassResponsibility
   528 !
   518 !
   529 
   519 
   530 startCreate:aPoint
   520 startCreate:aPoint
   531     "start a widget create
   521     "start a widget create
   564     start := self alignToGrid:aPoint.
   554     start := self alignToGrid:aPoint.
   565     delta := widget originRelativeTo:self.
   555     delta := widget originRelativeTo:self.
   566     frame := Rectangle origin:(start - delta) corner:start.
   556     frame := Rectangle origin:(start - delta) corner:start.
   567 
   557 
   568     object origin:(frame origin).
   558     object origin:(frame origin).
   569     self setupCreatedObject:object.
   559     self initializeCreatedObject:object.
   570     object realize.
   560     object realize.
   571 
   561 
   572     self actionCreate:object frame:frame delta:delta.
   562     self actionCreate:object frame:frame delta:delta.
   573     self invertOutlineOf:object.
   563     self invertOutlineOf:object.
   574 
   564 
  1042 
  1032 
  1043         type == #Extent ifTrue:[
  1033         type == #Extent ifTrue:[
  1044             ^ aView geometryLayout:layout
  1034             ^ aView geometryLayout:layout
  1045         ].
  1035         ].
  1046 
  1036 
  1047         layout := aView geometryLayout.
  1037         layout := aView geometryLayout copy.
  1048 
  1038 
  1049         layout isLayout ifTrue:[
  1039         layout isLayout ifTrue:[
  1050             layout leftOffset:(layout leftOffset + l)
  1040             layout leftOffset:(layout leftOffset + l)
  1051                     topOffset:(layout topOffset  + t).
  1041                     topOffset:(layout topOffset  + t).
  1052                     
  1042                     
  1164         super addToSelection:something.
  1154         super addToSelection:something.
  1165         self changed:#selection.
  1155         self changed:#selection.
  1166     ]
  1156     ]
  1167 !
  1157 !
  1168 
  1158 
  1169 inspectSelection
       
  1170     "inspect selection
       
  1171     "
       
  1172     self singleSelectionDo:[:aView |
       
  1173         aView inspect
       
  1174     ]
       
  1175 !
       
  1176 
       
  1177 numberOfSelections
  1159 numberOfSelections
  1178     "return the number of selected entries
  1160     "return the number of selected entries
  1179     "
  1161     "
  1180     |sz|
  1162     |sz|
  1181 
  1163 
  1248 !
  1230 !
  1249 
  1231 
  1250 withSelectionHiddenDo:aBlock
  1232 withSelectionHiddenDo:aBlock
  1251     "apply block with selection hidden (no handles)
  1233     "apply block with selection hidden (no handles)
  1252     "
  1234     "
       
  1235     |coll|
       
  1236 
  1253     selectionHiddenLevel := selectionHiddenLevel + 1.
  1237     selectionHiddenLevel := selectionHiddenLevel + 1.
  1254 
  1238 
  1255     selectionHiddenLevel == 1 ifTrue:[
  1239     selectionHiddenLevel == 1 ifTrue:[
  1256         self selectionDo:[:aView| self showUnselected:aView].
  1240         self selectionDo:[:aView| self showUnselected:aView].
  1257         device flush.
  1241         device flush.
  1258     ].
  1242     ].
  1259 
  1243 
  1260     aBlock valueNowOrOnUnwindDo:[
  1244     aBlock valueNowOrOnUnwindDo:[
  1261         selectionHiddenLevel == 1 ifTrue:[
  1245         selectionHiddenLevel == 1 ifTrue:[
  1262             setOfSuperViewsSizeChanged notEmpty ifTrue:[
  1246             setOfSuperViewsSizeChanged notEmpty ifTrue:[
  1263                 |s|
  1247                 coll := self minSetOfSuperViews:setOfSuperViewsSizeChanged.
  1264                 s := self minSetOfSuperViews:setOfSuperViewsSizeChanged.
  1248                 coll do:[:aView| aView sizeChanged:nil].
  1265 
       
  1266                 s isCollection ifTrue:[
       
  1267                     s do:[:aSuperView|aSuperView sizeChanged:nil]
       
  1268                 ] ifFalse:[
       
  1269                     s sizeChanged:nil
       
  1270                 ].
       
  1271                 setOfSuperViewsSizeChanged := IdentitySet new
  1249                 setOfSuperViewsSizeChanged := IdentitySet new
  1272             ].
  1250             ].
  1273             self selectionDo:[:aView| self showSelected:aView].
  1251             self selectionDo:[:aView| self showSelected:aView].
  1274         ].
  1252         ].
  1275         selectionHiddenLevel := selectionHiddenLevel - 1.
  1253         selectionHiddenLevel := selectionHiddenLevel - 1.