# HG changeset patch # User werner # Date 1081345531 -7200 # Node ID 691d1471cd3eed72cd72ef26e26132952ae65aac # Parent 25ddfdfe0bf9d24013c9c6b796df4b4820a2bc47 WOs changes diff -r 25ddfdfe0bf9 -r 691d1471cd3e UIObjectView.st --- a/UIObjectView.st Wed Apr 07 15:23:25 2004 +0200 +++ b/UIObjectView.st Wed Apr 07 15:45:31 2004 +0200 @@ -508,22 +508,29 @@ "any key pressed " + #Delete #BackSpace #Cut #Copy #Paste #Cmdu #Again) > |n sensor| (key == #Cut or:[key == #Delete or:[key == #BackSpace]]) ifTrue: [ ^ self deleteSelection ]. + (key = #PreviousPage) ifTrue:[ + self selectNextUpInHierarchy. + ]. key == #Copy ifTrue:[ ^ self copySelection]. key == #Paste ifTrue:[ ^ self pasteBuffer]. key == #Cmdu ifTrue:[ ^ self undoLast ]. "/ #Undo - (#(CursorUp CursorDown CursorRight CursorLeft) includes:key) ifTrue:[ - sensor := self sensor. - n := 1 + (sensor compressKeyPressEventsWithKey:key). - sensor shiftDown ifTrue:[ - n := n * 10. + ( #(CursorUp CursorDown CursorRight CursorLeft) + includes:key) ifTrue:[ + (sensor := self sensor) isNil ifTrue:[ + n := 1 + ] ifFalse:[ + n := 1 + (sensor compressKeyPressEventsWithKey:key). + sensor shiftDown ifTrue:[ + n := n * 10. + ]. ]. key == #CursorUp ifTrue:[ @@ -707,6 +714,7 @@ motionAction := [:movePoint | nil]. releaseAction := [nil]. keyPressAction := nil. + doublePressAction := [:pressPoint | self doublePressed: pressPoint]. self cursor:Cursor normal. @@ -918,9 +926,15 @@ ]. self setSelection:object withRedraw:true. + self forEach:selection do:[:aView | + self recomputeShapeIfTransparentBox:aView. + ]. self layoutChanged. ! +layoutChanged +! + startResizeBorder:b of:selection "resize selected view " @@ -966,6 +980,13 @@ !UIObjectView methodsFor:'private-resizing subviews'! +recomputeShapeIfTransparentBox:aView + (aView notNil and:[aView isTBox]) ifTrue:[ + aView computeShape. + aView clear; redraw + ]. +! + resize:aView bottom:aPoint "resize a views bottom " @@ -1189,6 +1210,10 @@ ^ 1 ! +selectNextUpInHierarchy + self halt. +! + selection:something "change selection to something " @@ -1300,6 +1325,33 @@ ! ! +!UIObjectView methodsFor:'selections basic'! + +setSelection:aNewSelection withRedraw:doRedraw + "set a new selection without change notifications + " + | sel | + + (sel := aNewSelection) == self ifTrue:[ + sel := nil + ]. + + doRedraw ifTrue:[ + self hideSelection. + selection := sel. + + self forEach:selection do:[:aView | + |superView| + + superView := aView superView. + self recomputeShapeIfTransparentBox:superView. + ]. + self showSelection. + ] ifFalse:[ + selection := sel + ] +! ! + !UIObjectView methodsFor:'selections-basic'! recursiveRepair:theDamages startIn:aView @@ -1387,24 +1439,6 @@ ! -setSelection:aNewSelection withRedraw:doRedraw - "set a new selection without change notifications - " - |sel| - - (sel := aNewSelection) == self ifTrue:[ - sel := nil - ]. - - doRedraw ifTrue:[ - self hideSelection. - selection := sel. - self showSelection - ] ifFalse:[ - selection := sel - ] -! - showUnselected:something "show a component ot list of components unselected " diff -r 25ddfdfe0bf9 -r 691d1471cd3e UIPainter.st --- a/UIPainter.st Wed Apr 07 15:23:25 2004 +0200 +++ b/UIPainter.st Wed Apr 07 15:45:31 2004 +0200 @@ -274,7 +274,7 @@ - ^super helpSpec addPairsFrom:#( + ^ super helpSpec addPairsFrom:#( #align 'Widget alignment functions.' @@ -321,6 +321,12 @@ #changePositionUp 'Moves the selected widget(s) towards the top.' +#drawEdit +'' + +#editBrowseViewClass +'Opens a browser on the class of the selected widget.' + #editDimensionCopyExtent 'Copies the extent of the selected widget.' @@ -351,21 +357,18 @@ #editInspectSpec 'Opens an inspector on the spec of the selected widget.' -#editBrowseViewClass -'Opens a browser on the class of the selected widget.' - #editInspectView 'Opens an inspector on the selected widget.' #editOpenSpecDocumentation 'Opens the documentation of the selected widget.' +#fileBrowseAspectMethods +'Opens a System Browser on the applications aspect methods.' + #fileBrowseClass 'Open a System Browser on the applications class.' -#fileBrowseAspectMethods -'Opens a System Browser on the applications aspect methods.' - #fileLoad 'Opens a dialog to load a window specification from a classes spec method.' @@ -429,6 +432,12 @@ #pasteWithLayout 'Pastes the widgets of the clipboard without a changing of their layouts.' +#referToCOnfigDatabase +'' + +#settingsAspectsAsInstances +'Generate aspects as instance variables (or bindings, if off).' + #settingsCanvas 'Shows or hides the canvas window.' @@ -441,9 +450,6 @@ #settingsRedefineAspectMethods 'Toggles the permission to overwrite existing aspect methods.' -#settingsAspectsAsInstances -'Generate aspects as instance variables (or bindings, if off).' - #settingsTranscriptHelp 'Toggles display of help texts (after opening a new GUI Painter).' @@ -463,8 +469,6 @@ 'Starts the application with the current window spec.' ) - - "Modified: / 31.7.1998 / 19:29:53 / cg" ! ! !UIPainter class methodsFor:'helpers'! @@ -1460,201 +1464,247 @@ - ^ - - #(#Menu - - #( - #(#MenuItem - #label: 'Undo' - #translateLabel: true - #nameKey: #undo - #value: #undoLast - #activeHelpKey: #editUndo - #enabled: #hasUndoHistory - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Cut' - #translateLabel: true - #value: #deleteSelection - #activeHelpKey: #editCut - #enabled: #valueOfCanCut - ) - #(#MenuItem - #label: 'Copy' - #translateLabel: true - #value: #copySelection - #activeHelpKey: #editCopy - #enabled: #valueOfCanCopy - ) - #(#MenuItem - #label: 'Paste' - #translateLabel: true - #value: #pasteBuffer - #activeHelpKey: #pasteBuffer - #enabled: #valueOfCanPaste - ) - #(#MenuItem - #label: 'Delete' - #translateLabel: true - #value: #deleteTotalSelection - #activeHelpKey: #editDelete - #enabled: #valueOfCanCut - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Paste with Layout' - #translateLabel: true - #value: #pasteWithLayout - #activeHelpKey: #pasteWithLayout - #enabled: #valueOfCanPasteWithKeepingLayout - ) - #(#MenuItem - #label: 'Paste Keeping Absolute Position' - #translateLabel: true - #value: #pasteKeepingPosition - #activeHelpKey: #editPaste - #enabled: #valueOfCanPasteWithKeepingLayout - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Move' - #translateLabel: true - #enabled: #canMoveSelection - #submenuChannel: #menuMove + ^ + #(Menu + ( + (MenuItem + activeHelpKey: editUndo + enabled: hasUndoHistory + label: 'Undo' + itemValue: undoLast + nameKey: undo + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: editCut + enabled: valueOfCanCut + label: 'Cut' + itemValue: deleteSelection + translateLabel: true + ) + (MenuItem + activeHelpKey: editCopy + enabled: valueOfCanCopy + label: 'Copy' + itemValue: copySelection + translateLabel: true + ) + (MenuItem + activeHelpKey: pasteBuffer + enabled: valueOfCanPaste + label: 'Paste' + itemValue: pasteBuffer + translateLabel: true + ) + (MenuItem + activeHelpKey: editDelete + enabled: valueOfCanCut + label: 'Delete' + itemValue: deleteTotalSelection + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: pasteWithLayout + enabled: valueOfCanPasteWithKeepingLayout + label: 'Paste with Layout' + itemValue: pasteWithLayout + translateLabel: true + ) + (MenuItem + activeHelpKey: editPaste + enabled: valueOfCanPasteWithKeepingLayout + label: 'Paste Keeping Absolute Position' + itemValue: pasteKeepingPosition + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + enabled: canMoveSelection + label: 'Move' + translateLabel: true + submenuChannel: menuMove + ) + (MenuItem + enabled: hasSelection + label: 'Dimension' + translateLabel: true + submenu: + (Menu + ( + (MenuItem + activeHelpKey: editDimensionDefaultExtent + enabled: canMoveOrAlignSelection + label: 'Default Extent' + itemValue: setToDefaultExtent + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionDefaultWidth + enabled: canMoveOrAlignSelection + label: 'Default Width' + itemValue: setToDefaultWidth + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionDefaultHeight + enabled: canMoveOrAlignSelection + label: 'Default Height' + itemValue: setToDefaultHeight + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: editDimensionCopyLayout + enabled: hasSingleSelection + label: 'Copy Layout' + itemValue: copyLayout + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionPasteLayout + enabled: canMoveOrAlignSelection + label: 'Paste Layout' + itemValue: pasteLayout + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionExchangeLayouts + enabled: canExchangeSelectionLayouts + label: 'Exchange Layouts' + itemValue: exchangeLayouts + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: editDimensionCopyExtent + enabled: hasSingleSelection + label: 'Copy Extent' + itemValue: copyExtent + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionPasteExtent + enabled: canMoveOrAlignSelection + label: 'Paste Extent' + itemValue: pasteExtent + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionPasteWidth + enabled: canMoveOrAlignSelection + label: 'Paste Width' + itemValue: pasteWidth + translateLabel: true + ) + (MenuItem + activeHelpKey: editDimensionPasteHeight + enabled: canMoveOrAlignSelection + label: 'Paste Height' + itemValue: pasteHeight + translateLabel: true + ) + ) + nil + nil ) - #(#MenuItem - #label: 'Dimension' - #translateLabel: true - #enabled: #hasSelection - #submenu: - #(#Menu - - #( - #(#MenuItem - #label: 'Default Extent' - #translateLabel: true - #value: #setToDefaultExtent - #activeHelpKey: #editDimensionDefaultExtent - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: 'Default Width' - #translateLabel: true - #value: #setToDefaultWidth - #activeHelpKey: #editDimensionDefaultWidth - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: 'Default Height' - #translateLabel: true - #value: #setToDefaultHeight - #activeHelpKey: #editDimensionDefaultHeight - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Copy Layout' - #translateLabel: true - #value: #copyLayout - #activeHelpKey: #editDimensionCopyLayout - #enabled: #hasSingleSelection - ) - #(#MenuItem - #label: 'Paste Layout' - #translateLabel: true - #value: #pasteLayout - #activeHelpKey: #editDimensionPasteLayout - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: 'Exchange Layouts' - #translateLabel: true - #value: #exchangeLayouts - #activeHelpKey: #editDimensionExchangeLayouts - #enabled: #canExchangeSelectionLayouts - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Copy Extent' - #translateLabel: true - #value: #copyExtent - #activeHelpKey: #editDimensionCopyExtent - #enabled: #hasSingleSelection - ) - #(#MenuItem - #label: 'Paste Extent' - #translateLabel: true - #value: #pasteExtent - #activeHelpKey: #editDimensionPasteExtent - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: 'Paste Width' - #translateLabel: true - #value: #pasteWidth - #activeHelpKey: #editDimensionPasteWidth - #enabled: #canMoveOrAlignSelection - ) - #(#MenuItem - #label: 'Paste Height' - #translateLabel: true - #value: #pasteHeight - #activeHelpKey: #editDimensionPasteHeight - #enabled: #canMoveOrAlignSelection - ) - ) nil - nil - ) - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Open Widget Documentation' - #translateLabel: true - #value: #doOpenWidgetDocumentation - #activeHelpKey: #editOpenSpecDocumentation - ) - #(#MenuItem - #label: '-' - ) - #(#MenuItem - #label: 'Browse Widget Class' - #translateLabel: true - #value: #doBrowseViewClass - #activeHelpKey: #editBrowseViewClass - #enabled: #hasOneSelectionOtherThanCanvas - ) - #(#MenuItem - #label: 'Inspect Widget' - #translateLabel: true - #value: #doInspectView - #activeHelpKey: #editInspectView - #enabled: #hasOneSelectionOtherThanCanvas - ) - #(#MenuItem - #label: 'Inspect Spec' - #translateLabel: true - #value: #doInspectSpec - #activeHelpKey: #editInspectSpec - ) - ) nil - nil + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: editOpenSpecDocumentation + label: 'Open Widget Documentation' + itemValue: doOpenWidgetDocumentation + translateLabel: true + ) + (MenuItem + activeHelpKey: referToCOnfigDatabase + label: 'Refer to Config Database' + itemValue: configSelection + translateLabel: true + isVisible: false + ) + (MenuItem + label: '-' + isVisible: false + ) + (MenuItem + activeHelpKey: drawEdit + label: 'Draw Edit' + itemValue: shapeEdit + translateLabel: true + isVisible: false + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: group + enabled: enGroup + label: 'Group' + itemValue: group + translateLabel: true + ) + (MenuItem + activeHelpKey: groupWithLayout + enabled: enGroup + label: 'Group with Layout' + itemValue: groupWithLayout + translateLabel: true + ) + (MenuItem + activeHelpKey: ungroup + enabled: enUngroup + label: 'Ungroup' + itemValue: ungroup + translateLabel: true + ) + (MenuItem + activeHelpKey: ungroupWithLayout + enabled: enUngroup + label: 'Ungroup with Layout' + itemValue: ungroupWithLayout + translateLabel: true + ) + (MenuItem + label: '-' + ) + (MenuItem + activeHelpKey: editBrowseViewClass + enabled: hasOneSelectionOtherThanCanvas + label: 'Browse Widget Class' + itemValue: doBrowseViewClass + translateLabel: true + ) + (MenuItem + activeHelpKey: editInspectView + enabled: hasOneSelectionOtherThanCanvas + label: 'Inspect Widget' + itemValue: doInspectView + translateLabel: true + ) + (MenuItem + activeHelpKey: editInspectSpec + label: 'Inspect Spec' + itemValue: doInspectSpec + translateLabel: true + ) + ) + nil + nil ) - - "Modified: / 20.5.1998 / 01:46:00 / cg" ! menuMove