Working with critiques in Calypso
Hi everyone, this question is mainly for Denis, but others may be also interested to participate. So Iâd really like to switch to Calypso, but I use Nautilus to eat my own dog food (the critiques). Calypso already adds critiques for methods, but it misses the ones for classes and packages. The point is that you can use anObject annotateRubricText: textModel. And anObject can be anything: a method, or a class, or a package (or theoretically any other object object). Iâve tried to expand highlighting to classes and methods in Nautilus, but it looks like a complete hell. In Calypso itâs much better, but maybe from the experience of the main developer, the styling can be pulled up somewhere higher in the hierarchy. Now it turns out that the bottom plugin is actually useful, as you can get the idea about the issue without having to power or do some other actions. Will it be possible to have some king of a plugin like that in Calypso. And simultaneously is it possible to have a changeable height? Because usually you donât have more than 1-2 critiques, and often you donât have any, so it does not make any sense to occupy so much space with an empty list. (sadly in Nautilus I cannot shrink the plugin dynamically). Cheers. Uko
Hi Yuriy. It is nice initiative. Unfortunately I am a bit delayed with documenting. I made experiments with remote Calypso which start to work in one hour. And it is moved me for a week to realize this generally with PharmIDE. But at the end it also improved editors part of Calypso. 2017-01-30 11:21 GMT+01:00 Yuriy Tymchuk <yuriy.tymchuk@me.com>:
Hi everyone,
this question is mainly for Denis, but others may be also interested to participate.
So Iâd really like to switch to Calypso, but I use Nautilus to eat my own dog food (the critiques). Calypso already adds critiques for methods, but it misses the ones for classes and packages. The point is that you can use
anObject annotateRubricText: textModel.
And anObject can be anything: a method, or a class, or a package (or theoretically any other object object). Iâve tried to expand highlighting to classes and methods in Nautilus, but it looks like a complete hell. In Calypso itâs much better, but maybe from the experience of the main developer, the styling can be pulled up somewhere higher in the hierarchy.
Now it turns out that the bottom plugin is actually useful, as you can get the idea about the issue without having to power or do some other actions. Will it be possible to have some king of a plugin like that in Calypso. And simultaneously is it possible to have a changeable height? Because usually you donât have more than 1-2 critiques, and often you donât have any, so it does not make any sense to occupy so much space with an empty list. (sadly in Nautilus I cannot shrink the plugin dynamically).
Yes to all questions but it needs to be implemented. And you force me to prepare it a bit. I already was going to extract #annotateRubricText: to separate plugin because it was problem for minimal image browsing. So try to load dev version: Gofer it smalltalkhubUser: 'Pharo' project: 'Calypso'; configuration; loadDevelopment . You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution. About empty list: I create QANautilusPluginMorph with #shrinkWrap layout. But internal submorphs do not allow hide it completely. So it is also for you. Have fun :)
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
And anObject can be anything: a method, or a class, or a package (or
theoretically any other object object). Iâve tried to expand highlighting to classes and methods in Nautilus, but it looks like a complete hell. In Calypso itâs much better, but maybe from the experience of the main developer, the styling can be pulled up somewhere higher in the hierarchy.
Now it turns out that the bottom plugin is actually useful, as you can get the idea about the issue without having to power or do some other actions. Will it be possible to have some king of a plugin like that in Calypso. And simultaneously is it possible to have a changeable height? Because usually you donât have more than 1-2 critiques, and often you donât have any, so it does not make any sense to occupy so much space with an empty list. (sadly in Nautilus I cannot shrink the plugin dynamically).
Yes to all questions but it needs to be implemented. And you force me to prepare it a bit. I already was going to extract #annotateRubricText: to separate plugin because it was problem for minimal image browsing.
Also it is slow down remote browser. Would nice to think how to compute critiques on remote image in fast way
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution.
And to get working critiques disable background tabs: ClyBrowserTabTool>>addInto: aBrowser containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build. containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self. aBrowser addTab: containerTab So question why it is not working when morph is built from background process?
And here screenshots of Calypso with critiques: â â 2017-01-31 9:52 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution.
And to get working critiques disable background tabs:
ClyBrowserTabTool>>addInto: aBrowser containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build. containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self. aBrowser addTab: containerTab
So question why it is not working when morph is built from background process?
super cool On Tue, 31 Jan 2017 09:56:08 +0100, Denis Kudriashov <dionisiydk@gmail.com> wrote:
And here screenshots of Calypso with critiques:
â â
2017-01-31 9:52 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow.I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World.I hope you can find solution.
And to get working critiques disable background tabs:
ClyBrowserTabTool>>addInto: aBrowser
containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build.
containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self.
aBrowser addTab: containerTab
So question why it is not working when morph is built from background process?
-- Using Opera's mail client: http://www.opera.com/mail/
I commit new stable version. Now browser plugins can decorate any tool (which can be created by other plugins). I found that annotating text by class or package takes too long time. So I disable it. Look at implementors of #annotateTextWithCritiquesOf: to enable it and to see the problem. QA plugin morph still not works when it is built in background. (it hangs on "updating critiquies") 2017-01-31 9:52 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution.
And to get working critiques disable background tabs:
ClyBrowserTabTool>>addInto: aBrowser containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build. containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self. aBrowser addTab: containerTab
So question why it is not working when morph is built from background process?
Hey Denis, this is super cool! I will take a look at that and try to improve. (Sorry, the end of my PhD is approaching, so I donât have much time to work on other stuff :) ) Uko
On 13 Feb 2017, at 16:04, Denis Kudriashov <dionisiydk@gmail.com> wrote:
I commit new stable version. Now browser plugins can decorate any tool (which can be created by other plugins).
I found that annotating text by class or package takes too long time. So I disable it. Look at implementors of #annotateTextWithCritiquesOf: to enable it and to see the problem. QA plugin morph still not works when it is built in background. (it hangs on "updating critiquies")
2017-01-31 9:52 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>>:
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>>: You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution.
And to get working critiques disable background tabs:
ClyBrowserTabTool>>addInto: aBrowser
containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build.
containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self.
aBrowser addTab: containerTab
So question why it is not working when morph is built from background process?
Indeed this is a very nice system browser Denis, well done , quite and improvement from Nautilus On Mon, Feb 13, 2017 at 11:56 PM Yuriy Tymchuk <yuriy.tymchuk@me.com> wrote:
Hey Denis, this is super cool! I will take a look at that and try to improve. (Sorry, the end of my PhD is approaching, so I donât have much time to work on other stuff :) )
Uko
On 13 Feb 2017, at 16:04, Denis Kudriashov <dionisiydk@gmail.com> wrote:
I commit new stable version. Now browser plugins can decorate any tool (which can be created by other plugins).
I found that annotating text by class or package takes too long time. So I disable it. Look at implementors of #annotateTextWithCritiquesOf: to enable it and to see the problem. QA plugin morph still not works when it is built in background. (it hangs on "updating critiquies")
2017-01-31 9:52 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
2017-01-30 15:29 GMT+01:00 Denis Kudriashov <dionisiydk@gmail.com>:
You will see new Calypso-Plugins-Critic-Browser package. I add decorators support to TextEditorTool. And critic plugin just adds CriticDecorator into required tools. Sadly it is not working. Critiques are not shown somehow. I leave it for you to fix it. Probably reason is that full tool morph is prepared in background. So critiques are added when morph is not in World. I hope you can find solution.
And to get working critiques disable background tabs:
ClyBrowserTabTool>>addInto: aBrowser containerTab := TabMorph label: self defaultTitle icon: self defaultIcon morph: self. self build. containerTab when: #tabDeleted send: #tabDeleted to: self. containerTab model: self. aBrowser addTab: containerTab
So question why it is not working when morph is built from background process?
participants (4)
-
Denis Kudriashov -
Dimitris Chloupis -
stepharong -
Yuriy Tymchuk