Pavel I have a nearly working (just need to look at the rules) to autorecategorize the methods so may be we could do a pass to make it really better. Then as soon as 40 is out I want to recategorize the packages in Morphic aas we discussed when I visited you at Prague. Stef On 16/5/14 11:10, Pavel Krivanek wrote:
Hi,
if you would like to contribute to better Pharo modularization and you do not know how, I have a tip for you.
Following methods are extension methods of various packages that extend classes in Morphic-Core package. We need to move them directly to Morphic-Core package so we have to place them in different categories.
Example:
Morph organization classify: #handleMouseWheel: under: 'events-processing'. Morph organization classify: #handlesMouseWheel: under: 'events-processing'
Methods:
Morph organization classify: #layoutChanged under: 'recategorized'. PasteUpMorph organization classify: #resizeBackgroundMorph under: 'recategorized'. PasteUpMorph organization classify: #backgroundMorph under: 'recategorized'. Color organization classify: #fillRectangle:on: under: 'recategorized'. Morph organization classify: #rejectsEvent: under: 'recategorized'. Morph organization classify: #privateMoveBy: under: 'recategorized'. Morph organization classify: #rejectsEvent: under: 'recategorized'. Morph organization classify: #changed under: 'recategorized'. Morph organization classify: #handlesDropShadowInHand under: 'recategorized'. Morph organization classify: #layoutChanged under: 'recategorized'. Morph organization classify: #morphicLayerNumberWithin: under: 'recategorized'. Morph organization classify: #morphicLayerNumberWithin: under: 'recategorized'. Morph organization classify: #handlesMouseOver: under: 'recategorized'. Morph organization classify: #privateMoveBy: under: 'recategorized'. Morph organization classify: #rejectsEvent: under: 'recategorized'. Morph organization classify: #changed under: 'recategorized'. Morph organization classify: #handlesDropShadowInHand under: 'recategorized'. Morph organization classify: #ayoutChanged under: 'recategorized'. Morph organization classify: #morphicLayerNumberWithin: under: 'recategorized'. Morph organization classify: #handlesMouseOver: under: 'recategorized'. HandMorph organization classify: #fullDrawOn: under: 'recategorized'. HandMorph organization classify: #fullDrawOn: under: 'recategorized'. PasteUpMorph organization classify: #resizeBackgroundMorph under: 'recategorized'. PasteUpMorph organization classify: #handlerForMouseDown: under: 'recategorized'. PasteUpMorph organization classify: #backgroundMorph under: 'recategorized'. PasteUpMorph organization classify: #resizeBackgroundMorph under: 'recategorized'. PasteUpMorph organization classify: #handlerForMouseDown: under: 'recategorized'. PasteUpMorph organization classify: #backgroundMorph under: 'recategorized'. Color organization classify: #fillRectangle:on: under: 'recategorized'.
That is not all. There is a lot of methods that do not need to be in Morphic-Core package. Most of them will be moved to Morphic-Base package but it is not good to place them directly to '*Morphic-Base' category. We should create categories like '*Morphic-Base-something' or place this methods to some more fitting packages.
WorldMorph class organization classify: #installNewWorld under: '*Morphic-Base'. BorderStyle class organization classify: #raised under: '*Morphic-Base'. BorderStyle class organization classify: #complexAltRaised under: '*Morphic-Base'. BorderStyle class organization classify: #complexAltFramed under: '*Morphic-Base'. BorderStyle class organization classify: #complexAltInset under: '*Morphic-Base'. BorderStyle class organization classify: #inset under: '*Morphic-Base'. BorderStyle class organization classify: #simple under: '*Morphic-Base'. BorderStyle class organization classify: #complexInset under: '*Morphic-Base'. BorderStyle class organization classify: #width:color: under: '*Morphic-Base'. BorderStyle class organization classify: #complexRaised under: '*Morphic-Base'. BorderStyle class organization classify: #complexFramed under: '*Morphic-Base'. BorderedMorph class organization classify: #exampleGradient under: '*Morphic-Base'. WorldState class organization classify: #startThenBrowseMessageTally under: '*Morphic-Base'. WorldState class organization classify: #startMessageTally under: '*Morphic-Base'. WorldState class organization classify: #windowsOn: under: '*Morphic-Base'. WorldState class organization classify: #systemOn: under: '*Morphic-Base'. GrafPort organization classify: #displayScannerFor:foreground:background:ignoreColorChanges: under: '*Morphic-Base'. Canvas organization classify: #asAlphaBlendingCanvas: under: '*Morphic-Base'. Canvas organization classify: #copyClipRect: under: '*Morphic-Base'. WorldMorph organization classify: #acceptDroppingMorph:event: under: '*Morphic-Base'. WorldMorph organization classify: #install under: '*Morphic-Base'. WorldMorph organization classify: #installForUIProcessReinstall under: '*Morphic-Base'. WorldMorph organization classify: #dispatchKeystroke: under: '*Morphic-Base'. BorderedMorph organization classify: #changeBorderWidth: under: '*Morphic-Base'. BorderedMorph organization classify: #splitters under: '*Morphic-Base'. BorderedMorph organization classify: #addPaneVSplitterBetween:and: under: '*Morphic-Base'. BorderedMorph organization classify: #removeCornerGrips under: '*Morphic-Base'. BorderedMorph organization classify: #addCornerGrips under: '*Morphic-Base'. BorderedMorph organization classify: #addPaneSplitters under: '*Morphic-Base'. Morph organization classify: #newTransformationMorph under: '*Morphic-Base'. Morph organization classify: #exportAsGIF under: '*Morphic-Base'. Morph organization classify: #embeddedInMorphicWindowLabeled: under: '*Morphic-Base'. Morph organization classify: #addWorldHandlesTo:box: under: '*Morphic-Base'. Morph organization classify: #useGradientFill under: '*Morphic-Base'. Morph organization classify: #assureTableProperties under: '*Morphic-Base'. Morph organization classify: #resizeMorph: under: '*Morphic-Base'. Morph organization classify: #justDroppedInto:event: under: '*Morphic-Base'. Morph organization classify: #fillWithRamp:oriented: under: '*Morphic-Base'. Morph organization classify: #borderColor: under: '*Morphic-Base'. Morph organization classify: #on:send:to:withValue: under: '*Morphic-Base'. Morph organization classify: #assureLayoutProperties under: '*Morphic-Base'. Morph organization classify: #exportAsPNG under: '*Morphic-Base'. Morph organization classify: #embedInWindow under: '*Morphic-Base'. Morph organization classify: #defaultBalloonFont under: '*Morphic-Base'. Morph organization classify: #addHandlesTo:box: under: '*Morphic-Base'. Morph organization classify: #containingWindow under: '*Morphic-Base'. Morph organization classify: #collapse under: '*Morphic-Base'. Morph organization classify: #borderWidth: under: '*Morphic-Base'. Morph organization classify: #on:send:to: under: '*Morphic-Base'. Morph organization classify: #rowMorphForNode:inColumn: under: '*Morphic-Base'. Morph organization classify: #useBitmapFill under: '*Morphic-Base'. Morph organization classify: #changeColor under: '*Morphic-Base'. Morph organization classify: #changeProportionalLayout under: '*Morphic-Base'. Morph organization classify: #setShadowOffset: under: '*Morphic-Base'. Morph organization classify: #changeTableLayout under: '*Morphic-Base'. Morph organization classify: #changeCellInset: under: '*Morphic-Base'. Morph organization classify: #changeMinCellSize: under: '*Morphic-Base'. Morph organization classify: #defaultBalloonColor under: '*Morphic-Base'. Morph organization classify: #changeMaxCellSize: under: '*Morphic-Base'. Morph organization classify: #defaultBitmapFillForm under: '*Morphic-Base'. Morph organization classify: #changeLayoutInset: under: '*Morphic-Base'. Morph organization classify: #addHalo: under: '*Morphic-Base'. Morph organization classify: #setArrowheads under: '*Morphic-Base'. FormCanvas organization classify: #drawString:from:to:autoBoundAt:font:color: under: '*Morphic-Base'. FormCanvas organization classify: #asBalloonCanvas under: '*Morphic-Base'. FormCanvas organization classify: #roundCornersOf:in:during: under: '*Morphic-Base'. FormCanvas organization classify: #roundShadowCornersOf:in:during: under: '*Morphic-Base'. PasteUpMorph organization classify: #windowsSatisfying: under: '*Morphic-Base'. PasteUpMorph organization classify: #keystrokeInWorld: under: '*Morphic-Base'. PasteUpMorph organization classify: #modelWakeUp under: '*Morphic-Base'. PasteUpMorph organization classify: #grabRubberBandFromScreen: under: '*Morphic-Base'. PasteUpMorph organization classify: #grabLassoFromScreen: under: '*Morphic-Base'. PasteUpMorph organization classify: #drawingClass under: '*Morphic-Base'. PasteUpMorph organization classify: #createTaskbarIfNecessary under: '*Morphic-Base'. PasteUpMorph organization classify: #mouseDown: under: '*Morphic-Base'. PasteUpMorph organization classify: #makeAScreenshot under: '*Morphic-Base'. PasteUpMorph organization classify: #acceptDroppingMorph:event: under: '*Morphic-Base'. PasteUpMorph organization classify: #dragThroughOnDesktop: under: '*Morphic-Base'. PasteUpMorph organization classify: #fitAll under: '*Morphic-Base'. HandMorph organization classify: #generateDropFilesEvent: under: '*Morphic-Base'. HandMorph organization classify: #waitForClicksOrDrag:event:selectors:threshold: under: '*Morphic-Base'. WorldState organization classify: #startStepping:at:selector:arguments:stepTime: under: '*Morphic-Base'. WorldState organization classify: #menuBuilder under: '*Morphic-Base'. WorldState organization classify: #convertStepList under: '*Morphic-Base'. WorldState organization classify: #addAlarm:withArguments:for:at: under: '*Morphic-Base'.
Please try to take care for at least one of the classes and write the recategorization code here as a response or directly to the issue report https://pharo.fogbugz.com/f/cases/13263/Morphic-Core-methods-recategorizatio...
Cheers, -- Pavel