Re: [Pharo-dev] Any way to avoid the filmification effect in GTInspector?

2015-01-27 Thread Hernán Morales Durand
2015-01-27 5:11 GMT-03:00 Tudor Girba :

> Hi Hernan,
>
> GTInspector was built to be extensible without any subclassing :).
>
> The GTObjectVariablesBrowser shows the raw view and you probably do not
> want to mess with that. Rather than that you should create a new tab for
> your own class.
>
> The way you extend it for a specific class is by defining a method like
> this:
>
> MyClass>>gtInspectorCustomListIn: composite
>
>composite list
>   title: 'My list'
>   display: [ self list]
>
> If you want to see all inspector extensions available in the image take a
> look at the following post:
> http://www.humane-assessment.com/blog/managing-gtinspector-extensions
>

Nice!
So it would be:

gtInspectorCustomListIn: composite
   

   composite list
  title: 'My list';
  display: [ self container ];
selectionAct: [ self actionForA ] on: $A entitled: 'Menu Item A';
selectionAct: [ self actionForB ] on: $B entitled: 'Menu Item B'.

It is possible to remove the "Raw" and "Meta" tabs?



> Does it help?
>
> Doru
>
> On Tue, Jan 27, 2015 at 8:52 AM, Hernán Morales Durand <
> hernan.mora...@gmail.com> wrote:
>
>>
>>
>> 2015-01-27 3:41 GMT-03:00 Tudor Girba :
>>
>>> Hi,
>>>
>>> On Mon, Jan 26, 2015 at 11:58 PM, Hernán Morales Durand <
>>> hernan.mora...@gmail.com> wrote:
>>>


 2015-01-26 6:25 GMT-03:00 Tudor Girba :

> Hi,
>
> On Mon, Jan 26, 2015 at 10:18 AM, Hernán Morales Durand <
> hernan.mora...@gmail.com> wrote:
>
>>
>> 2015-01-26 5:54 GMT-03:00 Tudor Girba :
>>
>>> There is no way at the moment.
>>>
>>> Just out of curiosity, why do you need to select an item if you do
>>> not want to see the details?
>>>
>>>
>> This is for two reasons
>>
>> 1) I have items with big strings inside and it takes too long to load
>> in the new inspector sub-window.
>>
>
> Why should it take too long? Is it because printString is too
> expensive? In that case, perhaps you might want to make printString 
> cheaper
> and offer a separate presentation for your object that shows the full
> contents.
>
>
 I don't know, I have this 7.7Mb XML file, opened the Time Profiler with:

 'DLoop_Bovino_31-10-14-Alignment.xml' asFileReference contents inspect.

 it took almost 6 minutes to open the inspector.

 Here is the link to the file:
 https://www.dropbox.com/s/pzw88gg3wyfkf8o/DLoop_Bovino_31-10-14-Alignment.zip?dl=0
 Here is the full report

 - 350675 tallies, 359630 msec.

>>>
>>> Hmm, Something is strange. I open the inspector on the same file in 1192
>>> ms. It takes so long because the first presentation is a text presentation
>>> of the contents of that file. What image do you use? Is it possible that
>>> you have extra . Could you make it available?
>>>
>>>
>>
>> I am using #40463 in Windows 8.1 x64. This is how I download the image
>>
>> $ wget -O- get.pharo.org/40+vm | bash
>>
>> image link with test file:
>> https://www.dropbox.com/s/57hprg7cyryd9cs/testGT1.zip?dl=0
>>
>>
>
Could you (or anyone) reproduce the case?
The dropbox upload is vanilla image.




>
>>>
 2) I select the item to send a message to it, or bring a pop-up menu to
>> remove the item (I have implemented it in the old inspector and I would
>> like to port it to Pharo 4)
>>
>
> This implies that you actually need a custom presentation. For such a
> custom presentation you can suppress the propagation of selection. If you
> tell me your use case in more details I can try to guide you.
>
>
 My use case is I want to add or remove items from an Inspector/Explorer.
 The items are classified objects and the user curates false positives.
 Another item I used to have is "Serialize" the inspector contents (or
 from a specific item) so that one could import the curated data set and
 review.

>>>
>>> Do you mean items from collections in general, or items stored as a
>>> collection in a specific object? If you mean the latter, you can create a
>>> custom presentation just for that object and add all the actions you want.
>>> Do you want to give it a try? If yes, let me know the more specific use
>>> case and I can help :)
>>>
>>>
>> I would be glad to get some help :)
>> I tried subclassing GTInspector. I see you implemented menu items in
>> GTObjectVariablesBrowser.
>> So question is how could I implement my own "GTObjectVariablesBrowser"
>> and link to GTInspector subclass?
>> Thank you Doru.
>>
>>
>> Hernán
>>
>>
>>
>>> Doru
>>>
>>>
>>> --
>>> www.tudorgirba.com
>>>
>>> "Every thing has its own flow"
>>>
>>
>>
>
>
> --
> www.tudorgirba.com
>
> "Every thing has its own flow"
>


Re: [Pharo-dev] Metacello: Possible to detect updates in a Github repo ?

2015-01-27 Thread Dale Henrichs


On 01/27/2015 10:58 AM, kilon alios wrote:
I was wondering how possible it is to check a github repo for new 
commits and compare it with the existing code to based on the Baseline 
loading of a Github repo to Pharo. Is it possible ?
Yes, I think there are a couple of different ways to skin that cat. The 
logic in MCGitBasedNetworkRepository 
class>>projectDirectoryFrom:version: could be picked apart to determine 
if a new download is available, but it relies on downloading and 
partially unpacking the zip file for the given target, which is pretty 
heavy weight ...


For notifications I would be inclined to look at the github/bitbucket 
web api and see what can be done. Someday I plan to look into this, but 
haven't done the due diligence yet.


I want to make an updater for my project that will pop up a dialog to 
alert the user for new updates in my Github repo.


Does a Baseline have access to git commits and their time/date 
signature ?


The registry records the `repositoryVersionString` of the loaded 
baseline which is the SHA of the commit for a filetree/git repo. For the 
MCGitBasedNetworkRepository, the `repositoryVersionString` is based on 
the unique identifier for the download, which is not always a commit SHA 
... for tags, I think that the identifier is the SHA of the tag ...


Timestamp  is not always useful since it is the relationship of commits 
on a branch that is  important for comparison purposes ...


At then end of the day, though, I think that these issues can be 
addressed a nice little updater tool can be built ... I will be 
interested to see what you've done, if you get there first:)




By the way Dale forgot to reply previously that I am definetly 
checking out git tags as you suggested.


Cool,

Dale



[Pharo-dev] Athens BitBlt bug?

2015-01-27 Thread Nicolai Hess
Anyone knows what this BitBlt bug is or was?
12818  Last row missing
13236  Fix 1 extra height for
Cairo surface

Because with the fix in 13236, it is not (easily) possible to make
a repeating (vertical) pattern paint with 1 pixel height:
14813  Wrong size for Athens
surface pattern paint from a Form


nicolai


Re: [Pharo-dev] [Ann] a short Bloc demo

2015-01-27 Thread Nicolai Hess
2014-12-24 15:19 GMT+01:00 Alain Plantec :

> Hello all,
>
> I’ve just uploaded a small demo of Bloc.
> http://vimeo.com/115336678
>
>
> Cheers
> Alain
>
>

You are interested in more feedback, right? :)

A normal TextMorph in the bloc world, sometimes, shows some artefacts
outside of its bounds.
For example, open a Workspace and type

EllipseMorph new

and wait for NECMenuMorph to appear.
It shows some suggesionts for "new" and hightlights the "new" part in the
text.
For some lines, this highlight is outside of the NECMenuMorph.
And this is strange, because this Morph is actually an ordinary Morph and
not one of the new
BlMorphs

nicolai


[Pharo-dev] Metacello: Possible to detect updates in a Github repo ?

2015-01-27 Thread kilon alios
I was wondering how possible it is to check a github repo for new commits
and compare it with the existing code to based on the Baseline loading of a
Github repo to Pharo. Is it possible ?

I want to make an updater for my project that will pop up a dialog to alert
the user for new updates in my Github repo.

Does a Baseline have access to git commits and their time/date signature ?

By the way Dale forgot to reply previously that I am definetly checking out
git tags as you suggested.


Re: [Pharo-dev] Issue 12970 - 16 steps to get through #halt - PROPOSED FIX

2015-01-27 Thread Ben Coman
I poked around and found another possible solution uploaded as
SLICE-Issue-12970-16-steps-to-get-through-halt-BenComan.2.  However this
based on my microscope view of tracing in from a #halt in the 
button.  This is the first time I've looked at this and I don't grasp the
the high level architecture.  Can someone help polish it?

The essential modification is the added line marked  "--->" below, plus
there is a scattering of  pragmas spread through
methods of Halt and Object.   I chose to use a pragma since I wanted to
cover a broader range of methods than just #halt (e.g. like
Halt>>signalerContext)
and there seemed no common convention between methods in Halt and Object.
Hopefully the pragma provides flexibility for later expansion - but I'm not
sure about the pragma name I chose.

Process>>complete: aContext
"Run self until aContext is popped or an unhandled error is raised.  Return
self's new top context, unless an unhandled error was raised then return
the signaler context (rather than open a debugger)."
| ctxt pair error |
ctxt := suspendedContext.
suspendedContext := nil.  "disable this process while running its stack in
active process below"
pair := Processor activeProcess
evaluate: [ctxt runUntilErrorOrReturnFrom: aContext]
onBehalfOf: self.
suspendedContext := pair first.
error := pair second.

"--->" error class = Halt ifTrue: [ aContext methodNode pragmaNamed:
#debuggerCompleteToSender ifPresent: [ ^ self completeTo: aContext sender ]
].

error ifNotNil: [^ error signalerContext].
^ suspendedContext

Here is my test script to compare before and after the slice.Debug it
from Playground then  each line.

a := 1.
Halt now.
b := 2.
Halt enableHaltOnce.
Halt once.
c := 3.
self halt.
d := 4.
Halt enableHaltOnce.
self haltOnce.
self inform: (a + b + c + d) printString.

Now if you execute the above script normally, and  at each
breakpoint, you will find the the #haltOnce leaves you in the wrong
position, on level too deep. The can be fixed by adding  "or: [ (context
method selector = #haltOnce) ]"  to  Halt>>signalerContext, but then what
about the other breakpoint statements like Object>>haltIf:.  I wonder
if  Halt>>signalerContext
 might leverage the pragmas I added.

The slice is tested to work with nested halts per the following example.
Execute "BenPlay new outer" and it will stop at the first #halt, then the
second #halt can be stepped over, but stepping over #inner breaks at the
#halt inside #inner.

BenPlay>>outer
| a b c | a := 1. self halt. b := 2. self halt. self inner. c := 3.
self inform: (a + b + c ) printString.

BenPlay>>inner
| a b   |
a := 10.
self halt.
b := 20.
self inform: (a + b) printString.

cheers -ben

On Tue, Jan 27, 2015 at 11:14 PM, Ben Coman  wrote:

> Just notice, I have another solution under development.
>
> On Tue, Jan 27, 2015 at 9:55 PM, Ben Coman  wrote:
>
>> @Sean,  In what way will it make halts more annoying?  As far as I can
>> tell, it eliminates FIVE mouse-clicks from #halt, and #haltOnce behaviour
>> is unchanged.
>>
>> Now ideally the debugger should not step into the halt at all when you
>>  - but this change eliminates FIVE mouse-clicks from #halt,
>> making #halt behave the same as #haltOnce.   I can live with that.   Lets
>> do the simple thing first (the ticket has been open 11 months), and leave
>> the potentially harder thing to make it right later on - unless of course
>> this creates other problems.
>>
>> On Mon, Jan 26, 2015 at 5:25 PM, Nicolai Hess  wrote:
>>
>>>
>>>
>>> 2015-01-25 0:22 GMT+01:00 Sean P. DeNigris :
>>>
 Ben Coman wrote
 > Anyone see a problem with removing
 > that last condition?

 Off the top of my head... Yes that doesn't seem like a good idea. You
 don't
 want to find yourself inside Halt. You want to be in your code.
>>>
>>>
>>> But isn't it already like  that in case of #haltOnce ?
>>>
>>>
>>>
>>>
 Although the
 change makes this weird exceptional-sounding case better, it looks like
 a
 hack that will make halts more annoying in general. The question is why
 you
 end up deeply buried in the internals of Halt and how to prevent that in
 this odd case.



 -
 Cheers,
 Sean
 --
 View this message in context:
 http://forum.world.st/Issue-12970-16-steps-to-get-through-halt-PROPOSED-FIX-tp4801405p4801457.html
 Sent from the Pharo Smalltalk Developers mailing list archive at
 Nabble.com.


>>>
>>
>


[Pharo-dev] [pharo-project/pharo-core]

2015-01-27 Thread GitHub
  Branch: refs/tags/40466
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] 953f56: 40466

2015-01-27 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: 953f563ba916fd9bb2f2a02fddad33732cad27e4
  
https://github.com/pharo-project/pharo-core/commit/953f563ba916fd9bb2f2a02fddad33732cad27e4
  Author: Jenkins Build Server 
  Date:   2015-01-27 (Tue, 27 Jan 2015)

  Changed paths:
A Compiler.package/EncoderForSistaV1.class/class/bytecode 
decoding/isAlternateBytecodeSet.st
M Compiler.package/EncoderForSistaV1.class/instance/bytecode 
generation/genPushLiteral_.st
A Compiler.package/EncoderForV3PlusClosures.class/class/bytecode 
decoding/isAlternateBytecodeSet.st
M Kernel.package/CompiledMethod.class/instance/accessing/numLiterals.st
R OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/README.md
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/class/initialize/initialize.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/class/initialize/initializeSpecialSelectors.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/class/initialize/specialSelectorsArray.st
R OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/definition.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/additionalLiterals_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/forceLongForm_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/numArgs.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/numArgs_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/numTemps.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/numTemps_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/properties.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/accessing/properties_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/error 
handling/encodingError_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/error 
handling/jumpTooBig_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/error 
handling/tooManyVars_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/initialization/initialize.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/goto_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/if_goto_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/if_goto_otherwise_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/label_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/pushClosureCopyNumCopiedValues_numArgs_to_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/instructions/pushNClosureTemps_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/mapping/mapBytesTo_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/addLastLiteral_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/addLiteral_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/addPragma_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/from_goto_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/from_if_goto_otherwise_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/newDummySeqId.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/nextPut_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/pragmas_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/saveLastJump_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/updateJumpOffsets.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/private/updateJump_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/addProperties_.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/bytecodes.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/compiledMethod.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/literals.st
R 
OpalCompiler-Core.package/IRAbstractBytecodeGenerator.class/instance/results/stackFrameSize.st
R 
OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/README.md
R 
OpalCompiler-Core.package/IRAbstractSqueakV3PlusClosuresBytecodeGenerator.class/class/initialize/bytecodeTableFrom_.st
R 
Op

Re: [Pharo-dev] Issue 12970 - 16 steps to get through #halt - PROPOSED FIX

2015-01-27 Thread Ben Coman
Just notice, I have another solution under development.

On Tue, Jan 27, 2015 at 9:55 PM, Ben Coman  wrote:

> @Sean,  In what way will it make halts more annoying?  As far as I can
> tell, it eliminates FIVE mouse-clicks from #halt, and #haltOnce behaviour
> is unchanged.
>
> Now ideally the debugger should not step into the halt at all when you
>  - but this change eliminates FIVE mouse-clicks from #halt,
> making #halt behave the same as #haltOnce.   I can live with that.   Lets
> do the simple thing first (the ticket has been open 11 months), and leave
> the potentially harder thing to make it right later on - unless of course
> this creates other problems.
>
> On Mon, Jan 26, 2015 at 5:25 PM, Nicolai Hess  wrote:
>
>>
>>
>> 2015-01-25 0:22 GMT+01:00 Sean P. DeNigris :
>>
>>> Ben Coman wrote
>>> > Anyone see a problem with removing
>>> > that last condition?
>>>
>>> Off the top of my head... Yes that doesn't seem like a good idea. You
>>> don't
>>> want to find yourself inside Halt. You want to be in your code.
>>
>>
>> But isn't it already like  that in case of #haltOnce ?
>>
>>
>>
>>
>>> Although the
>>> change makes this weird exceptional-sounding case better, it looks like a
>>> hack that will make halts more annoying in general. The question is why
>>> you
>>> end up deeply buried in the internals of Halt and how to prevent that in
>>> this odd case.
>>>
>>>
>>>
>>> -
>>> Cheers,
>>> Sean
>>> --
>>> View this message in context:
>>> http://forum.world.st/Issue-12970-16-steps-to-get-through-halt-PROPOSED-FIX-tp4801405p4801457.html
>>> Sent from the Pharo Smalltalk Developers mailing list archive at
>>> Nabble.com.
>>>
>>>
>>
>


[Pharo-dev] [pharo-project/pharo-core]

2015-01-27 Thread GitHub
  Branch: refs/tags/40465
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] d06d06: 40465

2015-01-27 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: d06d06c0ecc1cf810afea209c7ae568a05ad1d31
  
https://github.com/pharo-project/pharo-core/commit/d06d06c0ecc1cf810afea209c7ae568a05ad1d31
  Author: Jenkins Build Server 
  Date:   2015-01-27 (Tue, 27 Jan 2015)

  Changed paths:
A Compiler.package/BytecodeEncoder.class/class/bytecode 
decoding/specialSelectors.st
A Compiler.package/BytecodeEncoder.class/instance/accessing/stream_.st
A Compiler.package/BytecodeEncoder.class/instance/bytecode 
generation/genPushNClosureTemps_.st
A Compiler.package/EncoderForSistaV1.class/class/bytecode 
decoding/backJumpBytecodeSize.st
A Compiler.package/EncoderForSistaV1.class/class/bytecode 
decoding/specialLiterals.st
A Compiler.package/EncoderForSistaV1.class/instance/bytecode 
generation/genPushNClosureTemps_.st
A Compiler.package/EncoderForV3.class/instance/bytecode 
generation/genSendSpecial_numArgs_.st
A Compiler.package/EncoderForV3PlusClosures.class/class/bytecode 
decoding/backJumpBytecodeSize.st
A Compiler.package/EncoderForV3PlusClosures.class/class/bytecode 
decoding/specialLiterals.st
M OpalCompiler-Core.package/CCompilationContext.class/README.md
M 
OpalCompiler-Core.package/CCompilationContext.class/instance/accessing/bytecodeGeneratorClass.st
M 
OpalCompiler-Core.package/CompilationContext.class/instance/accessing/bytecodeGeneratorClass.st
A OpalCompiler-Core.package/IRBytecodeGenerator.class/README.md
A OpalCompiler-Core.package/IRBytecodeGenerator.class/definition.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/additionalLiterals_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/encoderClass.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/forceLongForm_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/numArgs.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/numArgs_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/numTemps.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/numTemps_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/primNum.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/properties.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/accessing/properties_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/initialize/initialize.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/initialize/irPrimitive_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/blockReturnTop.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/closureFrom_to_copyNumCopiedValues_numArgs_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/goto_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/if_goto_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/if_goto_otherwise_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/jumpBackward_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/jumpForward_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/jump_if_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/label_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/popTop.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushClosureCopyNumCopiedValues_numArgs_to_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushConsArray_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushDup.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushInstVar_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushLiteralVariable_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushLiteral_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushNClosureTemps_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushNewArray_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushReceiver.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushRemoteTemp_inVectorAt_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushTemp_.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/pushThisContext.st
A 
OpalCompiler-Core.package/IRBytecodeGenerator.class/instance/instructions/returnConstant

Re: [Pharo-dev] Issue 12970 - 16 steps to get through #halt - PROPOSED FIX

2015-01-27 Thread Ben Coman
@Sean,  In what way will it make halts more annoying?  As far as I can
tell, it eliminates FIVE mouse-clicks from #halt, and #haltOnce behaviour
is unchanged.

Now ideally the debugger should not step into the halt at all when you
 - but this change eliminates FIVE mouse-clicks from #halt,
making #halt behave the same as #haltOnce.   I can live with that.   Lets
do the simple thing first (the ticket has been open 11 months), and leave
the potentially harder thing to make it right later on - unless of course
this creates other problems.

On Mon, Jan 26, 2015 at 5:25 PM, Nicolai Hess  wrote:

>
>
> 2015-01-25 0:22 GMT+01:00 Sean P. DeNigris :
>
>> Ben Coman wrote
>> > Anyone see a problem with removing
>> > that last condition?
>>
>> Off the top of my head... Yes that doesn't seem like a good idea. You
>> don't
>> want to find yourself inside Halt. You want to be in your code.
>
>
> But isn't it already like  that in case of #haltOnce ?
>
>
>
>
>> Although the
>> change makes this weird exceptional-sounding case better, it looks like a
>> hack that will make halts more annoying in general. The question is why
>> you
>> end up deeply buried in the internals of Halt and how to prevent that in
>> this odd case.
>>
>>
>>
>> -
>> Cheers,
>> Sean
>> --
>> View this message in context:
>> http://forum.world.st/Issue-12970-16-steps-to-get-through-halt-PROPOSED-FIX-tp4801405p4801457.html
>> Sent from the Pharo Smalltalk Developers mailing list archive at
>> Nabble.com.
>>
>>
>


[Pharo-dev] [pharo-project/pharo-core]

2015-01-27 Thread GitHub
  Branch: refs/tags/40464
  Home:   https://github.com/pharo-project/pharo-core


[Pharo-dev] [pharo-project/pharo-core] b471d9: 40464

2015-01-27 Thread GitHub
  Branch: refs/heads/4.0
  Home:   https://github.com/pharo-project/pharo-core
  Commit: b471d9a15023c686d8edc106ad923e049378d60a
  
https://github.com/pharo-project/pharo-core/commit/b471d9a15023c686d8edc106ad923e049378d60a
  Author: Jenkins Build Server 
  Date:   2015-01-27 (Tue, 27 Jan 2015)

  Changed paths:
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
scripts/script464.st
A ScriptLoader40.package/ScriptLoader.class/instance/pharo - 
updates/update40464.st
M 
ScriptLoader40.package/ScriptLoader.class/instance/public/commentForCurrentUpdate.st
M UpdateStreamer-Core.package/UpdateStreamer.class/definition.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/path.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/path_.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/server.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/shouldApplyChanges.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/shouldApplyChanges_.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/silent.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/upToNumber.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/upToNumber_.st
R 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/updateFolderURL.st
R 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/updateListFileURLString.st
R 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/updatesListFile.st
M 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/updatesListFileName.st
A 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/accessing/updatesListFileName_.st
A 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/defaults/defaultPath.st
A 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/defaults/defaultServer.st
A 
UpdateStreamer-Core.package/UpdateStreamer.class/instance/defaults/defaultUpdatesListFileName.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/elementaryReadServerUpdates.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/elementaryReadServerUpdates_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/extractVersion_from_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/feedback_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/groupUpdatesByVersion_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/newUpdates.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/newUpdatesFromFile_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/newUpdatesFromString_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/newUpdatesUpToNumber_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/retrieveUrls_ontoQueue_withWaitSema_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/silentRetrieveUrls_ontoQueue_withWaitSema_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/verboseRetrieveUrls_ontoQueue_withWaitSema_.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
actions/zapUpdateDownloader.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
updating/updateListFileURLString.st
A UpdateStreamer-Core.package/UpdateStreamer.class/instance/private - 
updating/updateWith_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/elementaryReadServerUpdates.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/elementaryReadServerUpdates_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/extractVersion_from_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/feedback_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/groupUpdatesByVersion_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/newUpdates.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/newUpdatesFromFile_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/newUpdatesFromString_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/newUpdatesUpToNumber_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/retrieveUrls_ontoQueue_withWaitSema_.st
R UpdateStreamer-Core.package/UpdateStreamer.class/instance/private 
actions/silentRetrieveUrls_ontoQueue_withWaitSema_.st
R UpdateS

Re: [Pharo-dev] Who are the experts?

2015-01-27 Thread Henrik Johansen

> On 27 Jan 2015, at 1:51 , Henrik Johansen  
> wrote:
> 
> 
>> On 27 Jan 2015, at 1:21 , Roberto Minelli  wrote:
>> 
>> Dear all,
>> 
>> I have some questions about the following topics: Morphic, the 
>> Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone 
>> can help ;)
>> 
>> I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
>> tables” @ 3rd floor of INRIA). If someone is willingness to help, please 
>> come forward! To get an idea (and hopefully to collect some answers from 
>> people outside of Lille) here are my doubts
>> 
>> ### Morphic
>> - How can I assess the “z index” of windows?
> That would be their index in the PasteupMorphs submorphs collection, where 
> larger index -> higher in z-order.
> In general, the z-ordering of morphs would be a tree, where
> 
> Morph >> visibilityIndex 
>   ^self owner ifNil:[0] ifNotNil: [:  own | own submorphs indexOf: self ]
> 
> Morph >> visibility
>   ^self owner ifNotNil: [ owner visibility addLast: self visibilityIndex; 
> yourself ] ifNil:[OrderedCollection new]. 
> 
> would give you a list of numbers, all morphs with higher numbers at any level 
> would have a higher z-order.

Hupps, upon further reading, I got the ordering wrong, submorphs at higher 
indexes are drawn first.
It's amazing what you forget over time... (a modification to this method was 
the first thing I contributed to Pharo :) * )
Morph visibilityIndex 
^self owner ifNil: [0] ifNotNil: [: | own | own submorphs size - (own 
submorphs indexOf: self) ]

is probably better than switching the definition in the original post, since 
then you'd need to special case the root morph.

Cheers,
Henry

* Related to the Pharo-users thread about when Pharo was publicly announced, 
timestamp in 1.0 shows that change committed 25/2/2009.
I remember first hearing about Pharo from Steph announcing a new dialect at an 
ESUG, which means even though it's not an official post of the program of ESUG 
Amsterdam 2008, at least by the end of that, it was public.




Re: [Pharo-dev] Who are the experts?

2015-01-27 Thread Roberto Minelli
Henry, thanks a lot for all the useful information! 

Concerning the last part my question is: given a window, say a Workspace (or 
Playground) is there a way to tell which program entity (i.e., method or class) 
is involved? So, for a SystemBrowser the entity is the #selectedClass or 
#selectedMethod. For a Playground I should probably extract the source code 
displayed and parse it? I have no idea on how to do that.. 

Cheers,
Roberto

> On 27 Jan 2015, at 13:51, Henrik Johansen  
> wrote:
> 
>> 
>> On 27 Jan 2015, at 1:21 , Roberto Minelli  wrote:
>> 
>> Dear all,
>> 
>> I have some questions about the following topics: Morphic, the 
>> Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone 
>> can help ;)
>> 
>> I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
>> tables” @ 3rd floor of INRIA). If someone is willingness to help, please 
>> come forward! To get an idea (and hopefully to collect some answers from 
>> people outside of Lille) here are my doubts
>> 
>> ### Morphic
>> - How can I assess the “z index” of windows?
> That would be their index in the PasteupMorphs submorphs collection, where 
> larger index -> higher in z-order.
> In general, the z-ordering of morphs would be a tree, where
> 
> Morph >> visibilityIndex 
>   ^self owner ifNil:[0] ifNotNil: [:  own | own submorphs indexOf: self ]
> 
> Morph >> visibility
>   ^self owner ifNotNil: [ owner visibility addLast: self visibilityIndex; 
> yourself ] ifNil:[OrderedCollection new]. 
> 
> would give you a list of numbers, all morphs with higher numbers at any level 
> would have a higher z-order.
> 
>> For each window I’d like to know the % that is visible on screen, i.e., not 
>> covered from other windows.
> 
> That's not possible to calculate accurately in the general case, due to 
> morphs possibly containing fully transparent portions within their bounds.
> An approximation using bounds would work the same way as the procedure in 
> WorldState >> drawWorld: aWorld submorphs: submorphs invalidAreasOn: aCanvas  
> , 
> where:
> - The bounds of the morph to check is the damage rect to fill (rectList)
> - The bounds of higher ordered morphs that might obscure it corresponds to 
> the submorphs parameter.
> - There's no merging of remnants
> - No actually drawing/all the other fluff :P 
> 
> Area of remnants / area of original morph bounds would then be an ok-ish 
> approximation of the % that is visible.
> 
>> - Is there a “general pattern” on how to extract which entity is “displayed” 
>> on a window? In System Browsers is easy, what about other types of windows?
> 
> Dunno what you mean by that...
>> 
>> ### Zinc-HTTP-Client-Server
>> - How can I do a real upload (HTTP post) in background?
>> 
>> ### NautilusRefactoring
>> - How does it work? Why there are different methods to remove a class, for 
>> example? e.g., NautilusRefactoring>>#removeClasses: vs. 
>> AbstractTool>>#removeClasses:
>> - Why #removeClasses: is triggered before the actual removal (i.e., 
>> confirmation dialogue)?
> 
> Leaving these for others ;)
> 
> Cheers,
> Henry




Re: [Pharo-dev] Who are the experts?

2015-01-27 Thread Roberto Minelli
Hi Sven,

Yes, I’ll be there at the Pharo Days! Super cool that I can discuss with you 
about the Zinc-HTTP-Client-Server! See you at the Pharo Days then!

Cheers,
Roberto


> On 27 Jan 2015, at 13:24, Sven Van Caekenberghe  wrote:
> 
> 
>> On 27 Jan 2015, at 13:21, Roberto Minelli  wrote:
>> 
>> Dear all,
>> 
>> I have some questions about the following topics: Morphic, the 
>> Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone 
>> can help ;)
>> 
>> I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
>> tables” @ 3rd floor of INRIA). If someone is willingness to help, please 
>> come forward! To get an idea (and hopefully to collect some answers from 
>> people outside of Lille) here are my doubts
> 
> Are you at the Pharo Days ?
> 
>> ### Morphic
>> - How can I assess the “z index” of windows? For each window I’d like to 
>> know the % that is visible on screen, i.e., not covered from other windows.
>> - Is there a “general pattern” on how to extract which entity is “displayed” 
>> on a window? In System Browsers is easy, what about other types of windows?
>> 
>> ### Zinc-HTTP-Client-Server
>> - How can I do a real upload (HTTP post) in background?
> 
> You can talk to me about that.
> 
>> ### NautilusRefactoring
>> - How does it work? Why there are different methods to remove a class, for 
>> example? e.g., NautilusRefactoring>>#removeClasses: vs. 
>> AbstractTool>>#removeClasses:
>> - Why #removeClasses: is triggered before the actual removal (i.e., 
>> confirmation dialogue)?
>> 
>> Cheers and thanks in advance,
>> Roberto
> 
> 




Re: [Pharo-dev] Who are the experts?

2015-01-27 Thread Henrik Johansen

> On 27 Jan 2015, at 1:21 , Roberto Minelli  wrote:
> 
> Dear all,
> 
> I have some questions about the following topics: Morphic, the 
> Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone 
> can help ;)
> 
> I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
> tables” @ 3rd floor of INRIA). If someone is willingness to help, please come 
> forward! To get an idea (and hopefully to collect some answers from people 
> outside of Lille) here are my doubts
> 
> ### Morphic
> - How can I assess the “z index” of windows?
That would be their index in the PasteupMorphs submorphs collection, where 
larger index -> higher in z-order.
In general, the z-ordering of morphs would be a tree, where

Morph >> visibilityIndex 
^self owner ifNil:[0] ifNotNil: [:  own | own submorphs indexOf: self ]

Morph >> visibility
^self owner ifNotNil: [ owner visibility addLast: self visibilityIndex; 
yourself ] ifNil:[OrderedCollection new]. 

would give you a list of numbers, all morphs with higher numbers at any level 
would have a higher z-order.

> For each window I’d like to know the % that is visible on screen, i.e., not 
> covered from other windows.

That's not possible to calculate accurately in the general case, due to morphs 
possibly containing fully transparent portions within their bounds.
An approximation using bounds would work the same way as the procedure in 
WorldState >> drawWorld: aWorld submorphs: submorphs invalidAreasOn: aCanvas  , 
where:
- The bounds of the morph to check is the damage rect to fill (rectList)
- The bounds of higher ordered morphs that might obscure it corresponds to the 
submorphs parameter.
- There's no merging of remnants
- No actually drawing/all the other fluff :P 

Area of remnants / area of original morph bounds would then be an ok-ish 
approximation of the % that is visible.

> - Is there a “general pattern” on how to extract which entity is “displayed” 
> on a window? In System Browsers is easy, what about other types of windows?

Dunno what you mean by that...
> 
> ### Zinc-HTTP-Client-Server
> - How can I do a real upload (HTTP post) in background?
> 
> ### NautilusRefactoring
> - How does it work? Why there are different methods to remove a class, for 
> example? e.g., NautilusRefactoring>>#removeClasses: vs. 
> AbstractTool>>#removeClasses:
> - Why #removeClasses: is triggered before the actual removal (i.e., 
> confirmation dialogue)?

Leaving these for others ;)

Cheers,
Henry


[Pharo-dev] [ANN] Pharo Consortium New Academic Partner: FAST: Fundación Argentina de Smalltalk

2015-01-27 Thread Marcus Denker
The Pharo Consortium is very happy to announce that the  FAST: Fundación 
Argentina de Smalltalk has joined the Consortium as an Academic Partner.

About

   - FAST: Fundación Argentina de Smalltalk: http://www.fast.org.ar
   - Pharo Consortium: http://consortium.pharo.org

The goal of the Pharo Consortium is to allow companies and institutions to 
support the ongoing development and future of Pharo.
Individuals can support Pharo via the Pharo Association: 
http://association.pharo.org


Re: [Pharo-dev] Who are the experts?

2015-01-27 Thread Sven Van Caekenberghe

> On 27 Jan 2015, at 13:21, Roberto Minelli  wrote:
> 
> Dear all,
> 
> I have some questions about the following topics: Morphic, the 
> Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone 
> can help ;)
> 
> I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
> tables” @ 3rd floor of INRIA). If someone is willingness to help, please come 
> forward! To get an idea (and hopefully to collect some answers from people 
> outside of Lille) here are my doubts

Are you at the Pharo Days ?

> ### Morphic
> - How can I assess the “z index” of windows? For each window I’d like to know 
> the % that is visible on screen, i.e., not covered from other windows.
> - Is there a “general pattern” on how to extract which entity is “displayed” 
> on a window? In System Browsers is easy, what about other types of windows?
> 
> ### Zinc-HTTP-Client-Server
> - How can I do a real upload (HTTP post) in background?

You can talk to me about that.

> ### NautilusRefactoring
> - How does it work? Why there are different methods to remove a class, for 
> example? e.g., NautilusRefactoring>>#removeClasses: vs. 
> AbstractTool>>#removeClasses:
> - Why #removeClasses: is triggered before the actual removal (i.e., 
> confirmation dialogue)?
> 
> Cheers and thanks in advance,
> Roberto




[Pharo-dev] Who are the experts?

2015-01-27 Thread Roberto Minelli
Dear all,

I have some questions about the following topics: Morphic, the 
Zinc-HTTP-Client-Server, and NautilusRefactoring. I am wondering if someone can 
help ;)

I am visiting RMoD @ INRIA these days (I am now sitting at the “visiting 
tables” @ 3rd floor of INRIA). If someone is willingness to help, please come 
forward! To get an idea (and hopefully to collect some answers from people 
outside of Lille) here are my doubts

### Morphic
- How can I assess the “z index” of windows? For each window I’d like to know 
the % that is visible on screen, i.e., not covered from other windows.
- Is there a “general pattern” on how to extract which entity is “displayed” on 
a window? In System Browsers is easy, what about other types of windows?

### Zinc-HTTP-Client-Server
- How can I do a real upload (HTTP post) in background?

### NautilusRefactoring
- How does it work? Why there are different methods to remove a class, for 
example? e.g., NautilusRefactoring>>#removeClasses: vs. 
AbstractTool>>#removeClasses:
- Why #removeClasses: is triggered before the actual removal (i.e., 
confirmation dialogue)?

Cheers and thanks in advance,
Roberto


Re: [Pharo-dev] Installing Pharo on Ubuntu

2015-01-27 Thread Damien Cassou

J.F. Rick writes:

> I have a new computer and installed Ubuntu 14.10 on it. When I tried to
> install Pharo using the PPA instructions, it failed. I get the following
> message when executing "sudo apt-get update":
>
> W: Failed to fetch
> http://ppa.launchpad.net/pharo/stable/ubuntu/dists/utopic/main/binary-amd64/Packages
> 404  Not Found
> W: Failed to fetch
> http://ppa.launchpad.net/pharo/stable/ubuntu/dists/utopic/main/binary-i386/Packages
> 404  Not Found
>
> I was able to get Pharo running with the Zeroconf script, but I thought I'd
> report that the standard thing didn't work. Is it just that a binary
> doesn't yet exist for 14.10.


please try https://launchpad.net/~pharo/+archive/ubuntu/unstable

Nevertheless, I'm not the maintainer anymore, Markus Fritsche is.
Contact him directly in case of trouble.

If you have trouble with Ubuntu packages, I typically advise people to
use the Nix package system (it works on any Unix). Pharo is packaged and
maintained there: http://nixos.org/nix/

-- 
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill



Re: [Pharo-dev] Installing Pharo on Ubuntu

2015-01-27 Thread Markus Fritsche

On 2015-01-26 15:41, J.F. Rick wrote:

I have a new computer and installed Ubuntu 14.10 on it. When I tried
to install Pharo using the PPA instructions, it failed. I get the
following message when executing "sudo apt-get update":

W: Failed to fetch
http://ppa.launchpad.net/pharo/stable/ubuntu/dists/utopic/main/binary-amd64/Packages
[1]  404  Not Found
W: Failed to fetch
http://ppa.launchpad.net/pharo/stable/ubuntu/dists/utopic/main/binary-i386/Packages
[2]  404  Not Found



I was able to get Pharo running with the Zeroconf script, but I
thought I'd report that the standard thing didn't work. Is it just
that a binary doesn't yet exist for 14.10.


I'll check that this week, I guess I just have to update my build 
scripts to include utopic as a target.


I thought I've been there and done that, but being on 14.04 myself, I 
didn't have the oppurtunity to check.


Best regards,
  Markus



Re: [Pharo-dev] [Ann] a short Bloc demo

2015-01-27 Thread Alain Plantec via Pharo-dev
--- Begin Message ---
Hi Doru,

MCHttpRepository
location: 'http://smalltalkhub.com/mc/AlainPlantec/Bloc/main'
user: ''
password: ‘’.

load ConfigurationOfBloc
then
ConfigurationOfBloc loadBleedingEdge.

then from the world menu:

Bloc/New Bloc space
Bloc/Switch to space…/Bloc-1

You can try examples from Bloc-Core/Examples of from the view hierarchy, 
BlRectangleView, BlStringView,  BlPolygonView…
try the keyboard in a workspace, you can also try with BlTextMorph examples

Notice that in bloc, you get the world menu with the right button.

Thanks

Alain



> Le 27 janv. 2015 à 09:12, Tudor Girba  a écrit :
> 
> I will have access to a Windows 7 today. Can you give me detailed 
> instructions of what to try?
> 
> Doru
> 
> On Tue, Jan 27, 2015 at 9:02 AM, Alain Plantec via Pharo-dev 
> mailto:pharo-dev@lists.pharo.org>> wrote:
> 
> 
> -- Forwarded message --
> From: Alain Plantec mailto:alain.plan...@yahoo.com>>
> To: nicolaih...@web.de 
> Cc: Pharo Development List  >
> Date: Tue, 27 Jan 2015 09:02:17 +0100
> Subject: Re: [Pharo-dev] [Ann] a short Bloc demo
> I will try to find a win 7 somewhere and have a look
> thanks for your feedbacks
> Cheers
> Alain
> 
>> Le 27 janv. 2015 à 08:47, Nicolai Hess > > a écrit :
>> 
>> I tried another windows 7 machine and it is working now. Except the keyboard 
>> input, but bloc world now has the full display screen extent.
>> 
>> 2015-01-26 23:52 GMT+01:00 Alain Plantec > >:
>> Hello Nicolai,
>> I’ve not tested in w7.
>> I’ve just tried in Windows 8.1.
>> It works outofthebox here.
>> Cheers
>> Alain
>> 
>> 
>> 
>>> Le 25 janv. 2015 à 16:40, Nicolai Hess >> > a écrit :
>>> 
>>> 2014-12-26 15:39 GMT+01:00 Alain Plantec >> >:
>>> 
 
 Why does it open another window? (see screenshot, the left pharo windows 
 opens after switching
 to bloc world. Only the right window acts to mouse and keyboard 
 (cmd+enter). The left window
 looks like a "mirror", just shows what happens in the right window.
>>> 
>>> ah, I’ve never tested it in windows. It should not open another window. 
>>> Maybe it’s because of OSWindow 
>>> that is used for the vm rendering.
>>> I will have a look. maybe have to not use OSWindow.
>>> 
>>> I tried it again in windows , (both loadDevelopment and loadBleedingEdget). 
>>> This time the bloc world only opens in the upper left corner  extent ~ 
>>> 100@50.
>>> I can open a world menu in this area :) , but I can not make it larger. 
>>> And after some time, it crashes the vm. And it still opens another 
>>> (native)window.
>>> (on pharo 40459  latest vm (Win32 built on Jan 22 2015 01:03:55 Compiler: 
>>> 4.6.2))
>>> 
>>> 
>>>  
>>> Thanks 
>>> Alain
>>> 
>>> 
 
 
 
 
  
 
> On 25 Dec 2014, at 20:57, Nicolai Hess  > wrote:
> 
> I tried both, loadDevelopment and loadBleedingEdget, but 
> I can not get it to work like in the video. 
> For me, the keyboard input stop working as soon as I start the bloc world.
> And for me it opens another window in the background, what is it for?
> 
> BTW how many developers working on bloc, just you two ?
> 
> nicolai
> 
> 
> 
> 2014-12-25 10:31 GMT+01:00 stepharo  >:
> 
> Le 25/12/14 03:04, Ben Coman a écrit :
> Really nice to see your progress.  Now do you have some sketches that 
> show how it relates to the components of the existing Morphic? What is 
> being disposed of, what reimplemented, what ported?
> 
> I'm writing class comments and soon a chapter. But it takes time because 
> I have to also do a bit of reverse engineering.
> Now Bloc does not relate to Morphic :) Everything is rewritten from 
> scratch and we will rewrite everything.
> We will try to reuse Spec.
> Now for default Morphic, rewritting all the morphs to use Athens
> is a huge tasks considered the current logic of certain morphic elements
> Since Bloc is fully athens-based, it may be better to only work on Bloc.
> Now the trick is that we can use the morphic elements.
> This would really help to understand where contributions might be useful.
> 
> 
> btw, with Build 40419, "ConfigurationOfBloc load" warns that
> it depends on BlEllipseShape which must be resolved before #drawOn: and 
> #drawOnAthensCanvas: can be resolved.
> 
> Yes this is normal, you should load bleedingEdge.
> 
> 
> "ConfigurationOfBlock loadDevelopment" works fine.
> 
> cheer -ben
> 
> Sven Van Caekenberghe wrote:
> Yes, a nice X-Mas present !
> 
> On 24 Dec 2014, at 15:41, Alexandre Bergel  > wrote:
> 
> Wow! Impressive!!!
> 
>>>

Re: [Pharo-dev] [Ann] a short Bloc demo

2015-01-27 Thread Tudor Girba
I will have access to a Windows 7 today. Can you give me detailed
instructions of what to try?

Doru

On Tue, Jan 27, 2015 at 9:02 AM, Alain Plantec via Pharo-dev <
pharo-dev@lists.pharo.org> wrote:

>
>
> -- Forwarded message --
> From: Alain Plantec 
> To: nicolaih...@web.de
> Cc: Pharo Development List 
> Date: Tue, 27 Jan 2015 09:02:17 +0100
> Subject: Re: [Pharo-dev] [Ann] a short Bloc demo
> I will try to find a win 7 somewhere and have a look
> thanks for your feedbacks
> Cheers
> Alain
>
> Le 27 janv. 2015 à 08:47, Nicolai Hess  a écrit :
>
> I tried another windows 7 machine and it is working now. Except the
> keyboard input, but bloc world now has the full display screen extent.
>
> 2015-01-26 23:52 GMT+01:00 Alain Plantec :
>
>> Hello Nicolai,
>> I’ve not tested in w7.
>> I’ve just tried in Windows 8.1.
>> It works outofthebox here.
>> Cheers
>> Alain
>>
>> 
>>
>> Le 25 janv. 2015 à 16:40, Nicolai Hess  a écrit :
>>
>> 2014-12-26 15:39 GMT+01:00 Alain Plantec :
>>
>>>
>>>
>>> Why does it open another window? (see screenshot, the left pharo windows
>>> opens after switching
>>> to bloc world. Only the right window acts to mouse and keyboard
>>> (cmd+enter). The left window
>>> looks like a "mirror", just shows what happens in the right window.
>>>
>>>
>>> ah, I’ve never tested it in windows. It should not open another window.
>>> Maybe it’s because of OSWindow
>>> that is used for the vm rendering.
>>> I will have a look. maybe have to not use OSWindow.
>>>
>>
>> I tried it again in windows , (both loadDevelopment and
>> loadBleedingEdget).
>> This time the bloc world only opens in the upper left corner  extent ~
>> 100@50.
>> I can open a world menu in this area :) , but I can not make it larger.
>> And after some time, it crashes the vm. And it still opens another
>> (native)window.
>> (on pharo 40459  latest vm (Win32 built on Jan 22 2015 01:03:55 Compiler:
>> 4.6.2))
>>
>>
>>
>>
>>> Thanks
>>> Alain
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>

 On 25 Dec 2014, at 20:57, Nicolai Hess  wrote:

 I tried both, loadDevelopment and loadBleedingEdget, but
 I can not get it to work like in the video.
 For me, the keyboard input stop working as soon as I start the bloc
 world.
 And for me it opens another window in the background, what is it for?

 BTW how many developers working on bloc, just you two ?

 nicolai



 2014-12-25 10:31 GMT+01:00 stepharo :

>
> Le 25/12/14 03:04, Ben Coman a écrit :
>
>> Really nice to see your progress.  Now do you have some sketches that
>> show how it relates to the components of the existing Morphic? What is
>> being disposed of, what reimplemented, what ported?
>>
>
> I'm writing class comments and soon a chapter. But it takes time
> because I have to also do a bit of reverse engineering.
> Now Bloc does not relate to Morphic :) Everything is rewritten from
> scratch and we will rewrite everything.
> We will try to reuse Spec.
> Now for default Morphic, rewritting all the morphs to use Athens
> is a huge tasks considered the current logic of certain morphic
> elements
> Since Bloc is fully athens-based, it may be better to only work on
> Bloc.
> Now the trick is that we can use the morphic elements.
>
>> This would really help to understand where contributions might be
>> useful.
>>
>>
>> btw, with Build 40419, "ConfigurationOfBloc load" warns that
>> it depends on BlEllipseShape which must be resolved before #drawOn:
>> and #drawOnAthensCanvas: can be resolved.
>>
>
> Yes this is normal, you should load bleedingEdge.
>
>
>> "ConfigurationOfBlock loadDevelopment" works fine.
>>
>> cheer -ben
>>
>> Sven Van Caekenberghe wrote:
>>
>>> Yes, a nice X-Mas present !
>>>
>>>  On 24 Dec 2014, at 15:41, Alexandre Bergel 
 wrote:

 Wow! Impressive!!!

 Alexandre


  On Dec 24, 2014, at 3:19 PM, Alain Plantec <
> alain.plan...@yahoo.com> wrote:
>
> Hello all,
>
> I’ve just uploaded a small demo of Bloc.
> http://vimeo.com/115336678
>
>
> Cheers
> Alain
>
>  --
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>


>>> 
>>>
>>>
>>>
>>
>>
>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"


Re: [Pharo-dev] Any way to avoid the filmification effect in GTInspector?

2015-01-27 Thread Tudor Girba
Hi Hernan,

GTInspector was built to be extensible without any subclassing :).

The GTObjectVariablesBrowser shows the raw view and you probably do not
want to mess with that. Rather than that you should create a new tab for
your own class.

The way you extend it for a specific class is by defining a method like
this:

MyClass>>gtInspectorCustomListIn: composite
   
   composite list
  title: 'My list'
  display: [ self list]

If you want to see all inspector extensions available in the image take a
look at the following post:
http://www.humane-assessment.com/blog/managing-gtinspector-extensions

Does it help?

Doru

On Tue, Jan 27, 2015 at 8:52 AM, Hernán Morales Durand <
hernan.mora...@gmail.com> wrote:

>
>
> 2015-01-27 3:41 GMT-03:00 Tudor Girba :
>
>> Hi,
>>
>> On Mon, Jan 26, 2015 at 11:58 PM, Hernán Morales Durand <
>> hernan.mora...@gmail.com> wrote:
>>
>>>
>>>
>>> 2015-01-26 6:25 GMT-03:00 Tudor Girba :
>>>
 Hi,

 On Mon, Jan 26, 2015 at 10:18 AM, Hernán Morales Durand <
 hernan.mora...@gmail.com> wrote:

>
> 2015-01-26 5:54 GMT-03:00 Tudor Girba :
>
>> There is no way at the moment.
>>
>> Just out of curiosity, why do you need to select an item if you do
>> not want to see the details?
>>
>>
> This is for two reasons
>
> 1) I have items with big strings inside and it takes too long to load
> in the new inspector sub-window.
>

 Why should it take too long? Is it because printString is too
 expensive? In that case, perhaps you might want to make printString cheaper
 and offer a separate presentation for your object that shows the full
 contents.


>>> I don't know, I have this 7.7Mb XML file, opened the Time Profiler with:
>>>
>>> 'DLoop_Bovino_31-10-14-Alignment.xml' asFileReference contents inspect.
>>>
>>> it took almost 6 minutes to open the inspector.
>>>
>>> Here is the link to the file:
>>> https://www.dropbox.com/s/pzw88gg3wyfkf8o/DLoop_Bovino_31-10-14-Alignment.zip?dl=0
>>> Here is the full report
>>>
>>> - 350675 tallies, 359630 msec.
>>>
>>
>> Hmm, Something is strange. I open the inspector on the same file in 1192
>> ms. It takes so long because the first presentation is a text presentation
>> of the contents of that file. What image do you use? Is it possible that
>> you have extra . Could you make it available?
>>
>>
>
> I am using #40463 in Windows 8.1 x64. This is how I download the image
>
> $ wget -O- get.pharo.org/40+vm | bash
>
> image link with test file:
> https://www.dropbox.com/s/57hprg7cyryd9cs/testGT1.zip?dl=0
>
>
>>
>>
>>> 2) I select the item to send a message to it, or bring a pop-up menu to
> remove the item (I have implemented it in the old inspector and I would
> like to port it to Pharo 4)
>

 This implies that you actually need a custom presentation. For such a
 custom presentation you can suppress the propagation of selection. If you
 tell me your use case in more details I can try to guide you.


>>> My use case is I want to add or remove items from an Inspector/Explorer.
>>> The items are classified objects and the user curates false positives.
>>> Another item I used to have is "Serialize" the inspector contents (or
>>> from a specific item) so that one could import the curated data set and
>>> review.
>>>
>>
>> Do you mean items from collections in general, or items stored as a
>> collection in a specific object? If you mean the latter, you can create a
>> custom presentation just for that object and add all the actions you want.
>> Do you want to give it a try? If yes, let me know the more specific use
>> case and I can help :)
>>
>>
> I would be glad to get some help :)
> I tried subclassing GTInspector. I see you implemented menu items in
> GTObjectVariablesBrowser.
> So question is how could I implement my own "GTObjectVariablesBrowser" and
> link to GTInspector subclass?
> Thank you Doru.
>
>
> Hernán
>
>
>
>> Doru
>>
>>
>> --
>> www.tudorgirba.com
>>
>> "Every thing has its own flow"
>>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"


Re: [Pharo-dev] [Ann] a short Bloc demo

2015-01-27 Thread Alain Plantec via Pharo-dev
--- Begin Message ---
I will try to find a win 7 somewhere and have a look
thanks for your feedbacks
Cheers
Alain

> Le 27 janv. 2015 à 08:47, Nicolai Hess  a écrit :
> 
> I tried another windows 7 machine and it is working now. Except the keyboard 
> input, but bloc world now has the full display screen extent.
> 
> 2015-01-26 23:52 GMT+01:00 Alain Plantec  >:
> Hello Nicolai,
> I’ve not tested in w7.
> I’ve just tried in Windows 8.1.
> It works outofthebox here.
> Cheers
> Alain
> 
> 
> 
>> Le 25 janv. 2015 à 16:40, Nicolai Hess > > a écrit :
>> 
>> 2014-12-26 15:39 GMT+01:00 Alain Plantec > >:
>> 
>>> 
>>> Why does it open another window? (see screenshot, the left pharo windows 
>>> opens after switching
>>> to bloc world. Only the right window acts to mouse and keyboard 
>>> (cmd+enter). The left window
>>> looks like a "mirror", just shows what happens in the right window.
>> 
>> ah, I’ve never tested it in windows. It should not open another window. 
>> Maybe it’s because of OSWindow 
>> that is used for the vm rendering.
>> I will have a look. maybe have to not use OSWindow.
>> 
>> I tried it again in windows , (both loadDevelopment and loadBleedingEdget). 
>> This time the bloc world only opens in the upper left corner  extent ~ 
>> 100@50.
>> I can open a world menu in this area :) , but I can not make it larger. 
>> And after some time, it crashes the vm. And it still opens another 
>> (native)window.
>> (on pharo 40459  latest vm (Win32 built on Jan 22 2015 01:03:55 Compiler: 
>> 4.6.2))
>> 
>> 
>>  
>> Thanks 
>> Alain
>> 
>> 
>>> 
>>> 
>>> 
>>> 
>>>  
>>> 
 On 25 Dec 2014, at 20:57, Nicolai Hess >>> > wrote:
 
 I tried both, loadDevelopment and loadBleedingEdget, but 
 I can not get it to work like in the video. 
 For me, the keyboard input stop working as soon as I start the bloc world.
 And for me it opens another window in the background, what is it for?
 
 BTW how many developers working on bloc, just you two ?
 
 nicolai
 
 
 
 2014-12-25 10:31 GMT+01:00 stepharo >>> >:
 
 Le 25/12/14 03:04, Ben Coman a écrit :
 Really nice to see your progress.  Now do you have some sketches that show 
 how it relates to the components of the existing Morphic? What is being 
 disposed of, what reimplemented, what ported?
 
 I'm writing class comments and soon a chapter. But it takes time because I 
 have to also do a bit of reverse engineering.
 Now Bloc does not relate to Morphic :) Everything is rewritten from 
 scratch and we will rewrite everything.
 We will try to reuse Spec.
 Now for default Morphic, rewritting all the morphs to use Athens
 is a huge tasks considered the current logic of certain morphic elements
 Since Bloc is fully athens-based, it may be better to only work on Bloc.
 Now the trick is that we can use the morphic elements.
 This would really help to understand where contributions might be useful.
 
 
 btw, with Build 40419, "ConfigurationOfBloc load" warns that
 it depends on BlEllipseShape which must be resolved before #drawOn: and 
 #drawOnAthensCanvas: can be resolved.
 
 Yes this is normal, you should load bleedingEdge.
 
 
 "ConfigurationOfBlock loadDevelopment" works fine.
 
 cheer -ben
 
 Sven Van Caekenberghe wrote:
 Yes, a nice X-Mas present !
 
 On 24 Dec 2014, at 15:41, Alexandre Bergel >>> > wrote:
 
 Wow! Impressive!!!
 
 Alexandre
 
 
 On Dec 24, 2014, at 3:19 PM, Alain Plantec >>> > wrote:
 
 Hello all,
 
 I’ve just uploaded a small demo of Bloc.
 http://vimeo.com/115336678 
 
 
 Cheers
 Alain
 
 -- 
 _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
 Alexandre Bergel  http://www.bergel.eu 
 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 

--- End Message ---


Re: [Pharo-dev] athens font rendering bug

2015-01-27 Thread Alain Plantec via Pharo-dev
--- Begin Message ---
of Nicolai example, not Andrei … :)
Cheers
Alain

> Le 27 janv. 2015 à 08:57, Alain Plantec  a écrit :
> 
> I’ve dig a little bit to understand why it is working in my image.
> 
> Something is weird with the default ‘source Sans Pro’ setting.
> 
> With a fresh Pharo 4 #40463, Mac OS
> I’ve the same bad  result.
> 
> Now, the Source Sans Pro line (the first one)  is rendered as expected after 
> the following:
> - open the setting browser
> - open Standard fonts/Default, click on the first  button and choose 'Source 
> code pro’ instead of ‘Source sans pro’
> - click on the 'force all’ button.
> - new try of Andrei example -> then the first line with ‘Source sans pro’ is 
> ok 
> 
> the second line with Arial turns ok if I update the free fonts (Update button 
> from the font chooser).
> After, the result remains ok whatever font is defined as default, comprising 
> ‘source Sans Pro’.
> 
> So, I guess the default source sans pro font setting is broken somewhere in 
> the initial image
> 
> Cheers
> Alain
> 
> 
>> Le 27 janv. 2015 à 00:04, Alain Plantec > > a écrit :
>> 
>> it seems ok here (also in Pharo 4, Mac OS X)
>> Alain
>> 
>> 
>> 
>> 
>>> Le 26 janv. 2015 à 23:45, Sven Van Caekenberghe >> > a écrit :
>>> 
>>> Looks the same here, Pharo 4, Mac OS X
>>> 
 On 26 Jan 2015, at 23:18, Nicolai Hess >>> > wrote:
 
 You can "force" the wrong font characters if you try to use a font that
 is not known to the fontregistry:
 Open a fresh image (40463) and execute the code:
 
 |text font1 font2 string1 string2|
 font1:=(LogicalFont familyName:'Source Sans Pro' pointSize:20).
 font2:=(LogicalFont familyName:'Arial' pointSize:20).
 string1 := font1 realFont asString.
 string2 := font2 realFont asString.
 text := TxModel new.
 text at:text startPosition insert:(string1, String cr, string2).
 (text startPosition selectTo: text startPosition + string1 size)
 applyAttribute:(TxForeColorAttribute  with: Color red);
 applyAttribute:(TxFontAttribute with:font1).
 ((text startPosition + 1 + string1 size) selectTo: text endPosition)
 applyAttribute:(TxForeColorAttribute  with: Color blue);
 applyAttribute:(TxFontAttribute with:font2).
 TxTextEditorMorph openInWindowWithText:text.
 
 
 Or am I the only one ?
 This is, how it looks for me:
 
 
 
 
>>> 
>>> 
>> 
> 

--- End Message ---