2015-11-30 0:07 GMT+01:00 Henrik Nergaard <henrin10@student.uia.no>:
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).
Yes! But I must admit that I don't understand the purpose of the interactionModel, why does the text model has an interaction model ? Do all text model provide it ?
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