Re: [Pharo-project] List of Downloadable Tools

2010-08-08 Thread laurent laffont
2010/8/8 Guillermo Polito guillermopol...@gmail.com

 Hi!  I was looking for a Pharo Dev 1.2 image and I didn't find it...  I
 guess it doesn't exists, so I want to make my own downloading a few tools
 like OB, eCompletion in a 1.2 Core image.  So I began looking for gofer or
 metacello scripts to do it :P.  I searched in the Collaboractive Book, the
 PBE, the mailing list...

 Finally looking some mails and browsing the MetacelloRepository, I figured
 out something like *ConfigurationOfOmniBrowser project lastVersion load*
 that succeded with a little help :P.

 Soo, after some time doing this a few questions come to my mind:

 -Is there an up to date list of the tools we pharoers count on and how to
 load them?  I mean OB, eCompletion, FFI, Mondrian...
 -Is there a list of the tools current Dev images have?  I found a
 ConfigurationOfPharo and I thought It should behave like that.


IIRC   Pharo (Dev) = PharoCore + ConfigurationOfPharo loaded




 Maybe there's a wiki or a webpage I'm missing.


Could you create it in Pharo Collaboractive book ?


Cheers,

Laurent



 Thanks!
 Guille

 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Re: [Pharo-project] Instance variable pull up broken

2010-08-08 Thread Stéphane Ducasse
if you can reproduce it or understand what was your problem we are interested 
because we
want to make sure that the next classbuilder should be really robust.

Stef
On Aug 8, 2010, at 1:24 AM, Niko Schwarz wrote:

 Hmm, I can't reproduce it in a fresh image, either. Sorry for the noise.
 
 Niko
 
 On Sat, Aug 7, 2010 at 10:39 PM, Lukas Renggli reng...@gmail.com wrote:
 I cannot reproduce. If you look at the code you should see that what
 you describe should not happen:
 
 transform
class allSubclasses do:
[:each |
(each directlyDefinesInstanceVariable: variableName)
ifTrue: [each removeInstanceVariable: 
 variableName]].
class addInstanceVariable: variableName
 
 Maybe your class hierarchy is broken?
 
 Lukas
 
 On 7 August 2010 22:18, Niko Schwarz niko.schw...@googlemail.com wrote:
 Here's a funny way to crash your image. Works in:
 
 Pharo-1.1-11367-Beta
 Latest update: #11367
 
 Make a class named AbstractBla, with two subclasses: SubA, SubB. Then,
 add to both SubA and SubB the identically named instance variable:
 instVar. Now, use the pull up refactoring in OmniBrowser on SubA to
 pull up instVar into the superclass. As you correctly guess, that
 breaks SubB, because now both its superclass and SubB have an instance
 variable named instVar. But, instead of refusing to refactor,
 OmniBrowser dutifully refactors and takes the image with it.
 
 I hope that was understandable.
 
 Cheers,
 
 Niko
 
 
 --
 http://scg.unibe.ch/staff/Schwarz
 twitter.com/nes1983
 Tel: +41 076 235 8683
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 --
 Lukas Renggli
 www.lukas-renggli.ch
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
 
 
 
 
 -- 
 http://scg.unibe.ch/staff/Schwarz
 twitter.com/nes1983
 Tel: +41 076 235 8683
 
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Instance variable pull up broken

2010-08-08 Thread Tim Mackinnon
I've been trying out the refactoring tools with a specific 2  
subclasses of a common class example - and I didn't get this problem  
either - I could push up methods and pull up instance variables of my  
two common subclasses.


The only point I would note - it seems inconsistent that you pull up  
instance variables but push up methods (I recall it was a naming act  
of history, but it would be nice to call it push up everywhere.)


Tim

On 7 Aug 2010, at 21:39, Lukas Renggli wrote:


I cannot reproduce. If you look at the code you should see that what
you describe should not happen:

transform
class allSubclasses do:
[:each |
(each directlyDefinesInstanceVariable: variableName)
ifTrue: [each removeInstanceVariable: 
variableName]].
class addInstanceVariable: variableName

Maybe your class hierarchy is broken?

Lukas

On 7 August 2010 22:18, Niko Schwarz niko.schw...@googlemail.com  
wrote:

Here's a funny way to crash your image. Works in:

Pharo-1.1-11367-Beta
Latest update: #11367

Make a class named AbstractBla, with two subclasses: SubA, SubB.  
Then,

add to both SubA and SubB the identically named instance variable:
instVar. Now, use the pull up refactoring in OmniBrowser on SubA to
pull up instVar into the superclass. As you correctly guess, that
breaks SubB, because now both its superclass and SubB have an  
instance

variable named instVar. But, instead of refusing to refactor,
OmniBrowser dutifully refactors and takes the image with it.

I hope that was understandable.

Cheers,

Niko


--
http://scg.unibe.ch/staff/Schwarz
twitter.com/nes1983
Tel: +41 076 235 8683

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--
Lukas Renggli
www.lukas-renggli.ch

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] Instance variable pull up broken

2010-08-08 Thread Lukas Renggli
 The only point I would note - it seems inconsistent that you pull up
 instance variables but push up methods (I recall it was a naming act of
 history, but it would be nice to call it push up everywhere.)

That was unified a few months ago.

Lukas

-- 
Lukas Renggli
www.lukas-renggli.ch

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] SocketStream enh

2010-08-08 Thread Stéphane Ducasse
Hi lukas and others

I will integrate the following SocketStream tests and before I would love to 
see if this 
does not impact seaside 

http://code.google.com/p/pharo/issues/detail?id=2767

Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] [update 1.2] #12084

2010-08-08 Thread stephane ducasse
12084
-

-  Issue 2760:  More robust handling of HTTP upload responses. Thanks Andreas 
Raab.

-  Issue 2753:  introduce Smalltalk  platform to forward to OSPlatform.

- Issue 2761:   Some Cog-specific VM attribute accessors

- Issue 2763:   SocketStream destroy. Thanks Andreas Raab.

- Better xIllegal message. Thanks Nicolas Cellier

- Better Rectangle class comment. Thanks Nicolas Cellier


Stef
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


[Pharo-project] Pharocasts: Web application testing through Selenium-RC

2010-08-08 Thread laurent laffont
http://pharocasts.blogspot.com/2010/08/web-application-testing-through.html

WebTester is a framework to test web applications. Designed to support
several testing systems, it actually provides an implementation which
uses Selenium RC.

You can test a any web application with it; but if you are developing
Seaside applications you can take a component (any component), and unit test
that component.

For me the cool part is that with this sort of tool it's easy to open the
entreprise backdoor to Pharo. Pharo + WebTester can quickly integrate an
existing (web) development based on other tools / languages.

Christoph's voice should arrive soon.

Cheers,

Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

[Pharo-project] Early days of an MVP framework

2010-08-08 Thread Schwab,Wilhelm K
Gary,

I was on an unstoppable roll (salvaged early on by Andreas' bitblt coaching), 
until I needed to repeat a complex GUI component and wanted/insisted on doing 
so with some reuse.  Seaside gives us components on web pages; we need them for 
GUI code too.  I tried turning my presenter-like structures into factories that 
would add morphs to a single shell, but it fell apart when it came time to set 
the framing values.  I was not particularly interested in fixing it, because if 
I could do that, I would simply build proper composite widgets using the fix.

The problem appears to be in SystemWindow, which does some incredibly 
complicated things, all of which (correct me if I am wrong) would be 
unnecessary if only there were a good set of layout managers.  I can get very 
simple-minded about things, but it would make a whole lot more sense to me to 
create rows and columns of widgets, adding splitters between them until the 
whole things behaves as intended, rather than writing code (present only in a 
top-level shell) that tries to split things up into rows using its own 
judgment.  Not good.  I realize you did not create the situation, and have done 
wonders to make it work far better than when you found it.

Some time ago, I built an emulated widget framework for Dolphin, which I needed 
because the combination of Dolphin's view resources and Windows itself was too 
slow for what I was trying to do.  That project included a somewhat strange set 
of layout classes, but the basics are present, and it is not Object Arts' IP.  
I ported the classes to Pharo and did some work on stub View and Presenter 
classes that I had added to Pharo largely to passify my code that I was 
importing from Dolphin.  The layouts think in terms of emulated widgets, and I 
see no reason to change their minds: I might want to replicate the framework.  
However, dynamic typing and a couple of extra methods allow them to work with 
just about anything.  My goals are modest.  Being able to compose rows and 
columns would do a lot for me.  Add splitters and the ability to fix the size 
of some items, and I could almost anything I would need.

View classexample
| row column dot square out shell |
dot := ( Form dotOfSize:100 ) asFormOfDepth:32. 
square := ( Form squareOfSize:100 ) asFormOfDepth:32. 
out := Array writeStream.

row := ContainerView row.
2 timesRepeat:[
column := row addSubview:ContainerView column.
2 timesRepeat:[
out nextPut:(
column addSubview:ImageView new
).
].
].

out contents with:{ dot copy. square copy. square copy. dot copy. } 
do:[ :view :form |
view morph image:form.
].

row rectangle:( 0...@0 extent:4...@400 ).
row layout.

shell := StandardWindow labelled:'Hello MVP'.
^shell addMorph:row morph frame:( 0...@0 extent:1...@1 ); yourself.


The above code produces an array of dots and squares, as intended.  One quirk 
is that the grid does not resize as the shell resizes, a consequence of my not 
having hooked it up to resize events.  I might get some interesting meltdowns 
once I begin to do that =:0  I used your PanelMorph as the view associated 
with ContainerView.  What, ContainView isn't a view???  No.  The code is biased 
toward Morphic, but hopefully the same code should extend to wx, GTK, etc.  
Dolphin's views have a handle instance variable to control the external 
resource; these views have an instance variable pointing to their morph.  
Handling of sub views works pretty much as in Dolphin: any view/morph can have 
children, but adding them is legal only for composites.

Most systems I have seen treat coordinates relative to the parent/owner, but 
not Morphic.  I remember seeing plans to make the change, but nothing after 
that.  The view instances provide a natural place to fix things, so I took the 
plunge.  If we switch to some other graphical realization, we can simply remove 
the the transformation.

Are the existing splitters as strange as SystemWindow?  By that I mean, would 
it be reasonable to add them between other morphs and look for events from 
them, or will they have to be replaced?  I will eventually need splitters, but 
I could initially live without them if I can get reliable composition where I 
need it.

There are very few view classes at present.  MorphView can wrap almost 
anything, so it might be better to create a rich set of presenters instead.  
Dolphin's view resources are going to be interesting to replace.  There are 
some complexities that I suspect are in deference to Windows, and some that 
might be avoidable.  For our purposes, it might be enough to use SIXX to 
serialize a bunch of message sends and gzip the results to save memory.  
Another option might be to rely on class methods; having full closures 

[Pharo-project] Keyboard Shortcuts: Keymapping now loads in Pharo core 1.2

2010-08-08 Thread Sean P. DeNigris

To get the ball moving, I ported one of the keyboard shortcut packages,
Keymapping, to Pharo.  Maybe if we start playing with it, we'll see what
works and what doesn't, and use it to create something great.

The Metacello configuration is at http://www.squeaksource.com/Keymapping

Sean
-- 
View this message in context: 
http://forum.world.st/Keyboard-Shortcuts-Keymapping-now-loads-in-Pharo-core-1-2-tp2318018p2318018.html
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] List of Downloadable Tools

2010-08-08 Thread Guillermo Polito
And the other questions? anybody? :(  I can do some little work on the
Collaboractive book (Mariano, I can't edit and I know you do it usually :P.
Can I ask you for a user?), but I would like to have not just the list of
the tools, but also a little explaing of each one...  Here is the
(copypasted) list of packages in the ConfigurationOfPharo I would like to
have a little description:

*project: 'OB Dev' with: [ spec className: 'ConfigurationOfOmniBrowser';
loads: #('Dev');
file: 'ConfigurationOfOmniBrowser';
repository: 'http://www.squeaksource.com/MetacelloRepository'
];

project: 'OB Dev Tests' copyFrom: 'OB Dev' with: [ spec loads: #('Dev
Tests') ];

project: 'AutomaticMethodCategorizer' with: [ spec
className:
'ConfigurationOfAutomaticMethodCategorizer';
file:
'ConfigurationOfAutomaticMethodCategorizer';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'ScriptManager' with:
[ spec
className: 'ConfigurationOfScriptManager';
file: 'ConfigurationOfScriptManager';
loads: 'ALL';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'Shout'
with:
[ spec
className: 'ConfigurationOfShout';
loads: #('Core');
file: 'ConfigurationOfShout';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'Shout Tests'
copyFrom: 'Shout'
with: [ spec loads: #('Tests') ];

project: 'OCompletion'
with:
[ spec
className: 'ConfigurationOfOCompletion';
loads: #('Core');
file: 'ConfigurationOfOCompletion';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'OCompletion Tests'
copyFrom: 'OCompletion'
with: [ spec loads: #('Tests') ];

project: 'PharoNonCorePackages'
with:
[ spec
className: 'ConfigurationOfPharoNonCore';
file: 'ConfigurationOfPharoNonCore';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'NewInspector'
with:
[ spec
className: 'ConfigurationOfNewInspector';
file: 'ConfigurationOfNewInspector';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];
project: 'RefactoringBrowser'
with:
[ spec
className:
'ConfigurationOfRefactoringBrowser';
loads: #('Core');
file: 'ConfigurationOfRefactoringBrowser';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'RefactoringBrowser Tests'
copyFrom: 'RefactoringBrowser'
with: [ spec loads: #('Tests') ];

project: 'Nile'
with:
[ spec
className: 'ConfigurationOfNile';
loads: #('Core');
file: 'ConfigurationOfNile';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];
project: 'Nile Tests'
copyFrom: 'Nile'
with: [ spec loads: #('Tests') ];

project: 'ProfStef'
with:
[ spec
className: 'ConfigurationOfProfStef';
loads: #('Core' 'Browser');
file: 'ConfigurationOfProfStef';
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'ProfStef Tests'
copyFrom: 'ProfStef'
with: [ spec loads: #('Tests')];

project: 'Metacello'
with:
[ spec
className: 'ConfigurationOfMetacello';
file: 'ConfigurationOfMetacello';
loads: #('Metacello-Core' 'Tutorial' 'UI'
'Metacello-ProfStef' 'Metacello-Help');
repository: '
http://www.squeaksource.com/MetacelloRepository' ];

project: 'Metacello Tests'
copyFrom: 'Metacello'

Re: [Pharo-project] List of Downloadable Tools

2010-08-08 Thread Miguel Enrique Cobá Martínez
El sáb, 07-08-2010 a las 22:07 -0300, Guillermo Polito escribió:
 Hi!  I was looking for a Pharo Dev 1.2 image and I didn't find it...
 I guess it doesn't exists, so I want to make my own downloading a few
 tools like OB, eCompletion in a 1.2 Core image.  So I began looking
 for gofer or metacello scripts to do it :P.  I searched in the
 Collaboractive Book, the PBE, the mailing list...
 
 Finally looking some mails and browsing the MetacelloRepository, I
 figured out something like ConfigurationOfOmniBrowser project
 lastVersion load that succeded with a little help :P.
 
 Soo, after some time doing this a few questions come to my mind:
 
 -Is there an up to date list of the tools we pharoers count on and how
 to load them?  I mean OB, eCompletion, FFI, Mondrian...
 -Is there a list of the tools current Dev images have?  I found a
 ConfigurationOfPharo and I thought It should behave like that.

In the pharo download page (http://pharo-project.org/pharo-download) you
get:
Pharo 1.1 image (stable):
http://gforge.inria.fr/frs/download.php/27300/Pharo-1.1-11411dev10.07.1.zip

then unzipping it you find inside the installScript.st, that is used to
build the developer image from a PharoCore released image. This scripts
evaluates:


Gofer new
  squeaksource: 'MetacelloRepository';
  package: 'ConfigurationOfPharo';
  load.

((Smalltalk at: #ConfigurationOfPharo) project version: '1.1') perform:
#silently: with: true; perform: #load.

And indeed the ConfigurationOfPharo is the one used to build the image.
There you'll find the list of packages that are loaded in the image.

Cheers
 
 Maybe there's a wiki or a webpage I'm missing.
 
 Thanks!
 Guille
 ___
 Pharo-project mailing list
 Pharo-project@lists.gforge.inria.fr
 http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

-- 
Miguel Cobá
http://miguel.leugim.com.mx


___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project