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