On Dec 29, 2011, at 7:48 PM, Benoit St-Jean wrote:

> What if a class was deleted in Pharo?  What if some methods are missing?  
> What if it's referring to a Preference while we dumped this in favor of 
> settings ?  What if it's using some Morphic stuff that was cleaned up.  Your 
> comment assumes that everything on SqueakSource is outdated an unusable.  


You did not reply to my question:
        what packages do not load?

> FYI, lots of packages there (that are 5 years old) ***do load cleanly*** in 
> Squeak 4.3...
> 
> Besides, there are LOTS of Squeak users that maintain their stuff only for 
> Squeak without considering Pharo.  

        How many?
        And we cannot force them. So what is the solution? Should we stop pharo?

> Should we maintain those packages by adding some "PharoCompatibility" classes 
> or we should start our own repository ?
        The way people want.
        Now you ****CANNOT**** imagine how this is difficult to manage a 
monolithic system with full of unused code and 
        complex duplicated half done logic. 

> Finally, it's not because a package is 5 years old that it's not useful...  
> If it's there and freely available, why would we throw all this code to the 
> trash ?  To reinvent the wheel ?  I think we should seriously consider 
> porting a lot of this stuff to our own repository before the distance between 
> Squeak and Pharo gets too big.

Indeed. Now nothing prevent the community to look at important packages and 
decide to maintain them. See the list at the end for an example.
        
> My 2 cents.

What do you mean?


> 
> P.S.  I've read this on the #pharo-project channel on IRC : "yeah, Pharo is 
> great but nothing on SqueakSource works with it"

Reply to my question:
        - what exact packages?
        - what added value?


Now tell me: just compare the two next methods and tell me which you believe 
will let us have multitouch support for real in the future?
You can also look at generateKeyboardEvent: if you are not afraid. 


generateMouseEvent: evtBuf 
        "Generate the appropriate mouse event for the given raw event buffer"

        | position buttons modifiers type trail stamp oldButtons evtChanged |
        evtBuf first = lastEventBuffer first 
                ifTrue: 
                        ["Workaround for Mac VM bug, *always* generating 3 
events on clicks"

                        evtChanged := false.
                        3 to: evtBuf size
                                do: [:i | (lastEventBuffer at: i) = (evtBuf at: 
i) ifFalse: [evtChanged := true]].
                        evtChanged ifFalse: [^nil]].
        stamp := evtBuf second.
        stamp = 0 ifTrue: [stamp := Time millisecondClockValue].
        position := evtBuf third @ evtBuf fourth.
        buttons := evtBuf fifth.
        modifiers := evtBuf sixth.
        type := buttons = 0 
                ifTrue: 
                        [lastEventBuffer fifth = 0 ifTrue: [#mouseMove] 
ifFalse: [#mouseUp]]
                ifFalse: 
                        [lastEventBuffer fifth = 0 
                                                ifTrue: [#mouseDown]
                                                ifFalse: [#mouseMove]].
        buttons := buttons bitOr: (modifiers bitShift: 3).
        oldButtons := lastEventBuffer fifth 
                                bitOr: (lastEventBuffer sixth bitShift: 3).
        lastEventBuffer := evtBuf.
        type == #mouseMove 
                ifTrue: 
                        [trail := self mouseTrailFrom: evtBuf.
                        ^MouseMoveEvent basicNew 
                                setType: type
                                startPoint: (self position)
                                endPoint: trail last
                                trail: trail
                                buttons: buttons
                                hand: self
                                stamp: stamp].
        ^MouseButtonEvent basicNew 
                setType: type
                position: position
                which: (oldButtons bitXor: buttons)
                buttons: buttons
                hand: self
                stamp: stamp




handleMouseInputEvent: sysEvent
        
        | type oldButtons |
        type := sysEvent typeBasedOnPreviousEvent: self lastSystemEvent.
        oldButtons := self lastSystemEvent buttons. 
        lastSystemEvent := sysEvent.
        type == #mouseMove 
                ifTrue: 
                        [
                        ^MouseMoveEvent basicNew 
                                setType: type
                                startPoint: self position
                                endPoint: sysEvent trail last
                                trail:  sysEvent trail
                                buttons: sysEvent buttons
                                hand: self
                                stamp: sysEvent timeStamp].
        ^MouseButtonEvent basicNew 
                setType: type
                position: self  position
                which: ( oldButtons bitXor: sysEvent buttons)
                buttons:  sysEvent buttons
                hand: self
                stamp: sysEvent timeStamp


See the list at the end

- XML
        - Soup
        - XMLRPC        
        - OmniBrowser
6.2
Automatic Method Categorizer
6.3
Script Manager
6.4
Shout
6.5
OCompletion
6.6
Pharo Non Core Packages
6.7
New Inspector
6.8
Refactoring Browser
6.8.1
Programmatically Refactor Method Example
6.9
Nile
6.10
ProfStef
6.11
Metacello
6.12
Memory Monitor
6.13
Mondrian
6.14
Spy
6.15
SqueakDBX
6.16
Moose
6.17
Seaside
6.18
Pier
6.19
Magritte
6.20
Class Use Discovery
6.21
RemoteFrameBuffer
6.22
Glorp
6.23
Magma
6.24
Goods
6.25
SandstoneDB
6.26
TokyoTyrant
6.27
Cassandra
6.28
FFI
6.29
Postgres Driver
6.30
SIXX
6.31
SqueakSave
6.32
CouchDB
6.33
SPrevayler
6.34
Riak
6.35
Pharogenesis
6.36
Fuel
6.37
Monticello
6.38
Gofer
6.39
Metacello Browser
6.40
Autotest
6.41
Filesystem
6.42
HelpSystem
6.43
OSProcess





Reply via email to