refactoring browser in Squeak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
I have updated the Metacello configurations for OmniBrowser and RefactoringBrowser. Together with the OCompletion update we can now load OmniBrowser dev with OCompletion and Refactoring tools enabled.

This loads the (currently) latest refactoring tools, the new OCompletion and the newest OB packages we have in the wiresong repo.

Let me know if it works!

-Tim

On Oct 28, 2010, at 5:13 PM, Levente Uzonyi wrote:

> On Thu, 28 Oct 2010, Tim Felgentreff wrote:
>
>> Also: Hmmm. Works here... Any errors?
>
> It's a DNU. The relevant part of the stack trace is here:
>
> ORPackageBrowser(Object)>>doesNotUnderstand: #definitionPanel
> Receiver: an ORPackageBrowser
> Arguments and temporary variables:
> aMessage: definitionPanel
> exception: MessageNotUnderstood: ORPackageBrowser>>definitionPanel
> resumeValue: nil
> Receiver's instance variables:
> panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
> announcer: an OBAnnouncer
> cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
> hasChanges: nil
>
> ORPackageBrowser(OREnvironmentBrowser)>>selectionChanged:
> Receiver: an ORPackageBrowser
> Arguments and temporary variables:
> anAnnouncement: an OBSelectionChanged
> interval: nil
> Receiver's instance variables:
> panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
> announcer: an OBAnnouncer
> cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
> hasChanges: nil
>
> It I change the implementation to:
>
> OREnvironmentBrowser >> selectionChanged: anAnnouncement
> | interval |
> interval := self environment selectionIntervalFor: self class definitionPanel text.
> interval isNil ifFalse: [ self definitionPanel selection: interval ]
>
> then it works.
>
>
> Levente
>
>>
>> On Oct 28, 2010, at 5:01 PM, Tim Felgentreff wrote:
>>
>>> Yes, but we cannot use Lukas' versions - they are dependent on polymorph.
>>>
>>> On Oct 28, 2010, at 4:18 PM, Levente Uzonyi wrote:
>>>
>>>> On Mon, 25 Oct 2010, Tim Felgentreff wrote:
>>>>
>>>>> Hello
>>>>>
>>>>> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.
>>>>
>>>> The changes are in the Trunk, but if I evaluate this script:
>>>>
>>>> Installer squeaksource
>>>>  project: 'MetacelloRepository';
>>>>  install: 'ConfigurationOfOmniBrowser'.
>>>> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>>>>
>>>> and file in your changeset, I still can't use the "browse package" feature. I think this is because the latest RB on squeaksource is not compatibile with the OB in the wiresong repository. Lukas uses his own OB repository for developement.
>>>>
>>>>
>>>> Levente
>>>>
>>>>>
>>>>> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>>>>>
>>>>> Regards
>>>>> Tim
>>>>>
>>>>
>>>
>>>
>>
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Levente Uzonyi-2
On Thu, 28 Oct 2010, Tim Felgentreff wrote:

> I have updated the Metacello configurations for OmniBrowser and RefactoringBrowser. Together with the OCompletion update we can now load OmniBrowser dev with OCompletion and Refactoring tools enabled.
>
> This loads the (currently) latest refactoring tools, the new OCompletion and the newest OB packages we have in the wiresong repo.
>
> Let me know if it works!

It works, thanks.


Levente

>
> -Tim
>
> On Oct 28, 2010, at 5:13 PM, Levente Uzonyi wrote:
>
>> On Thu, 28 Oct 2010, Tim Felgentreff wrote:
>>
>>> Also: Hmmm. Works here... Any errors?
>>
>> It's a DNU. The relevant part of the stack trace is here:
>>
>> ORPackageBrowser(Object)>>doesNotUnderstand: #definitionPanel
>> Receiver: an ORPackageBrowser
>> Arguments and temporary variables:
>> aMessage: definitionPanel
>> exception: MessageNotUnderstood: ORPackageBrowser>>definitionPanel
>> resumeValue: nil
>> Receiver's instance variables:
>> panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
>> announcer: an OBAnnouncer
>> cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
>> hasChanges: nil
>>
>> ORPackageBrowser(OREnvironmentBrowser)>>selectionChanged:
>> Receiver: an ORPackageBrowser
>> Arguments and temporary variables:
>> anAnnouncement: an OBSelectionChanged
>> interval: nil
>> Receiver's instance variables:
>> panels: an OrderedCollection(an OBMercuryPanel an OBColumnPanel an OBFixedButto...etc...
>> announcer: an OBAnnouncer
>> cmdFactories: {OBCmdNewClassTemplate . ORCmdRefactoringRedo . ORCmdRefactoringU...etc...
>> hasChanges: nil
>>
>> It I change the implementation to:
>>
>> OREnvironmentBrowser >> selectionChanged: anAnnouncement
>> | interval |
>> interval := self environment selectionIntervalFor: self class definitionPanel text.
>> interval isNil ifFalse: [ self definitionPanel selection: interval ]
>>
>> then it works.
>>
>>
>> Levente
>>
>>>
>>> On Oct 28, 2010, at 5:01 PM, Tim Felgentreff wrote:
>>>
>>>> Yes, but we cannot use Lukas' versions - they are dependent on polymorph.
>>>>
>>>> On Oct 28, 2010, at 4:18 PM, Levente Uzonyi wrote:
>>>>
>>>>> On Mon, 25 Oct 2010, Tim Felgentreff wrote:
>>>>>
>>>>>> Hello
>>>>>>
>>>>>> There are currently two packages in the inbox (Kernel-topa.508, Compiler-tfel.175) which enable AST, Refactoring-*, VB-Regex and the useful OB packages (Standard, Core, Morphic, Regex, Refactory, Shout) to load in trunk.
>>>>>
>>>>> The changes are in the Trunk, but if I evaluate this script:
>>>>>
>>>>> Installer squeaksource
>>>>>  project: 'MetacelloRepository';
>>>>>  install: 'ConfigurationOfOmniBrowser'.
>>>>> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).
>>>>>
>>>>> and file in your changeset, I still can't use the "browse package" feature. I think this is because the latest RB on squeaksource is not compatibile with the OB in the wiresong repository. Lukas uses his own OB repository for developement.
>>>>>
>>>>>
>>>>> Levente
>>>>>
>>>>>>
>>>>>> Attached you will find a ChangeSet that, if applied after loading all of the packages, fixes all but 12 failures and 1 error in the aforementioned packages' tests.
>>>>>>
>>>>>> Regards
>>>>>> Tim
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Sean P. DeNigris
Administrator
In reply to this post by Tim Felgentreff
Tim Felgentreff wrote
Let me know if it works!
Thanks, I can't live without RB!!!

Installer squeaksource
     project: 'MetacelloRepository';
     install: 'ConfigurationOfOmniBrowser'.
(Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev ).

In both 4.1 and 4.2.10628 gave me a browser that opens, but:
* doesn't seem to do anything refectory
  - push up gives "MessageNotUnderstood: AnObsoletePushUpMethodRefactoring class>>model:pushUp:from:"
  - extract method opens confirmation window, but "accept" does nothing
* buttons, e.g. Hierarchy, do nothing.

Down for everyone, or just me?

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Levente Uzonyi-2
On Fri, 29 Oct 2010, Sean P. DeNigris wrote:

>
>
> Tim Felgentreff wrote:
>>
>> Let me know if it works!
>>
>
> Thanks, I can't live without RB!!!
>
> Installer squeaksource
>     project: 'MetacelloRepository';
>     install: 'ConfigurationOfOmniBrowser'.
> (Smalltalk at: #ConfigurationOfOmniBrowser) project lastVersion load: #( Dev
> ).
>
> In both 4.1 and 4.2.10628 gave me a browser that opens, but:
> * doesn't seem to do anything refectory
>  - push up gives "MessageNotUnderstood: AnObsoletePushUpMethodRefactoring
> class>>model:pushUp:from:"
>  - extract method opens confirmation window, but "accept" does nothing
> * buttons, e.g. Hierarchy, do nothing.
>
> Down for everyone, or just me?

You didn't file in Tim's changeset. Here's a link:
http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20101025/c4b65afe/OB-SqueakTesting-fixes.3.obj


Levente

>
> Sean
> --
> View this message in context: http://forum.world.st/refactoring-browser-in-Squeak-tp3010490p3019893.html
> Sent from the Squeak - Dev mailing list archive at Nabble.com.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Tim Felgentreff
In reply to this post by Sean P. DeNigris

On Oct 30, 2010, at 2:08 AM, Sean P. DeNigris wrote:
>
>  - extract method opens confirmation window, but "accept" does nothing
> * buttons, e.g. Hierarchy, do nothing.

Hi

The buttons currently don't work properly (looking into that), but hitting the 'accept' key combination will accept the refactoring.

-Tim
Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Sean P. DeNigris
Administrator
In reply to this post by Levente Uzonyi-2
Levente Uzonyi-2 wrote
Okay, changeset filed it - errors have disappeared.

The buttons on the OB System Browser still don't work (4.2.10628) + ConfigOfOB + changeset.  The buttons have "yourself" as the actionSelector instead of "execute".  I found that it was set in OBButtonBar>>buttonFor: aCommand
...
action: (aCommand isActive
                                ifTrue: [ #execute ]
                                ifFalse: [ #yourself ])
...

I changed this to "action: #execute" for the moment, so they work.  But now they work all the time, even when not appropriate e.g. Browse when no class selected.  The browser seems to not be updating the action selector of the buttons when appropriate, but I'm not sure where that should be happening.

That's as far as I got.

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: refactoring browser in Squeak?

Sean P. DeNigris
Administrator
This is the changeset to get the buttons to work. OBButtonBar-buttonFor.st

n.b. It is just a hack to hold us over until it's properly fixed.

Sean
Cheers,
Sean
12