how to update a pane in a customized inspector

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

how to update a pane in a customized inspector

Steven Costiou-2

Hi,

I am trying to customize an inspector with a code browser, and I have in a compose method of my own browser the following:

[...]

browser transmit
                from: #methods;
                fromOutsidePort: #entity;
                to: #source;
                when: [ :method | method notNil ];
                andShow: [ :a :method :object | self sourceOf: method for: object in: a ].
         
browser transmit
                from: #links;
                fromOutsidePort: #entity;
                to: #selectedLink;
                when: [ :link | link notNil ];
                andShow: [ :a :link | self inspectSelectedLink: link inPresenter: a ].

[...]

Is there an easy way to update the #source pane whenever one of my links is selected in my #link pane ?

In my case, the source code is displayed first, and when i select a link in the #link pane i want to highlight specific parts of this source code and the easiest way would be to re-trigger the first block above. I did not try it, but it seems that i could retrieve the #source pane and the selected method manually and re-trigger the method from the second block (i.e. when a link is selected), but i am not sure that is the right way to do it...

 

Also i was wondering if there was a video of the moldable inspector tutorial from pharo days 17 somewhere on the web, because i did not find it on youtube.

Reply | Threaded
Open this post in threaded view
|

Re: how to update a pane in a customized inspector

Andrei Chis
Hi,

On Tue, Oct 10, 2017 at 11:31 AM, Steven Costiou <[hidden email]> wrote:

Hi,

I am trying to customize an inspector with a code browser, and I have in a compose method of my own browser the following:

[...]

browser transmit
                from: #methods;
                fromOutsidePort: #entity;
                to: #source;
                when: [ :method | method notNil ];
                andShow: [ :a :method :object | self sourceOf: method for: object in: a ].
         
browser transmit
                from: #links;
                fromOutsidePort: #entity;
                to: #selectedLink;
                when: [ :link | link notNil ];
                andShow: [ :a :link | self inspectSelectedLink: link inPresenter: a ].

[...]

Is there an easy way to update the #source pane whenever one of my links is selected in my #link pane ?

In my case, the source code is displayed first, and when i select a link in the #link pane i want to highlight specific parts of this source code and the easiest way would be to re-trigger the first block above. I did not try it, but it seems that i could retrieve the #source pane and the selected method manually and re-trigger the method from the second block (i.e. when a link is selected), but i am not sure that is the right way to do it...

If you know the interval that you want to highlight when selecting a link, you can create a transmission from the #selection port of the #link pane to the #selectionInterval port of the #source pane. If you go to GLMBasicExamples, textPortsExamples and textSelection show how to use the selectionInterval port.

 

Also i was wondering if there was a video of the moldable inspector tutorial from pharo days 17 somewhere on the web, because i did not find it on youtube.

Not sure if the Pharo Days videos are available but you can see the same presentation from ESUG here: https://www.youtube.com/watch?v=wj5IWvAYSlw 

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

Re: how to update a pane in a customized inspector

Steven Costiou-2

It works :) Thanks :)

Yes that is the video i was looking for :)

Le 2017-10-10 13:26, Andrei Chis a écrit :

Hi,

On Tue, Oct 10, 2017 at 11:31 AM, Steven Costiou <[hidden email]> wrote:

Hi,

I am trying to customize an inspector with a code browser, and I have in a compose method of my own browser the following:

[...]

browser transmit
                from: #methods;
                fromOutsidePort: #entity;
                to: #source;
                when: [ :method | method notNil ];
                andShow: [ :a :method :object | self sourceOf: method for: object in: a ].
         
browser transmit
                from: #links;
                fromOutsidePort: #entity;
                to: #selectedLink;
                when: [ :link | link notNil ];
                andShow: [ :a :link | self inspectSelectedLink: link inPresenter: a ].

[...]

Is there an easy way to update the #source pane whenever one of my links is selected in my #link pane ?

In my case, the source code is displayed first, and when i select a link in the #link pane i want to highlight specific parts of this source code and the easiest way would be to re-trigger the first block above. I did not try it, but it seems that i could retrieve the #source pane and the selected method manually and re-trigger the method from the second block (i.e. when a link is selected), but i am not sure that is the right way to do it...

If you know the interval that you want to highlight when selecting a link, you can create a transmission from the #selection port of the #link pane to the #selectionInterval port of the #source pane. If you go to GLMBasicExamples, textPortsExamples and textSelection show how to use the selectionInterval port.

 

Also i was wondering if there was a video of the moldable inspector tutorial from pharo days 17 somewhere on the web, because i did not find it on youtube.

Not sure if the Pharo Days videos are available but you can see the same presentation from ESUG here: https://www.youtube.com/watch?v=wj5IWvAYSlw 
 
Cheers,
Andrei