For the Rubric keybinding; changing the calls using ���self model��� in RubSmalltalkEditor>>#modelCurrentSelectedClass to call ���self model interactionModel��� instead should make the keybinding work again (at least changing the one to #selectedBehaviour).

 

Best regards,

Henrik

 

 

From: Pharo-dev [mailto:pharo-dev-bounces@lists.pharo.org] On Behalf Of Nicolai Hess
Sent: Sunday, November 29, 2015 10:32 PM
To: Pharo Development List <pharo-dev@lists.pharo.org>
Subject: [Pharo-dev] Nautilus class definition pane and browseAllAccessesTo

 

In Nautilus class definition pane, if it shows a class definition like

Object subclass: #RBNamespace
    instanceVariableNames: 'changes environment newClasses removedClasses changedClasses rootClasses implementorsCache sendersCache'
    classVariableNames: ''
    package: 'Refactoring-Core-Model'

you can select an inst var and

use cmd+shift+n to browse all accesses to this var.

 

I broke this behavior. ( But I find it useful and a I want it back).

The problem, Rubric needs to know the current selected class (it calls classOrMetaclass on the

*interaction model* (Nautilus) to find the class it searches for this inst var.

But the same method #classOrMetaclass is called by NEC, and if NEC finds a class

it trys to parse the current text as a method definition, but this panes contains a

class definition, not a method definition, and this yields to the strange completions

(case 16712) this is what I tried to fix when I broke this browseAllAccessesTo behavior.

Any Idea how we can get both ?

- Rubric to find the correct class for browsing inst var access

- NEC to find *no class* so it does not try to complete the inst var names.

I don't know how to solve this, I don't understand how rubric delegates this

calls (it should be possible to call #selectedBehavior or #selectedClass but it

uses some delegates

rub editing -> rub editor -> rub scrolled text model -> interaction model -> nautilus ui