Hi Usman,
I have integrated the search in a view feature in Roassal.
For example:
-=-=-=-=-=-=-=-=
b := RTMondrian new.
b shape rectangle
width: [ :c | c numberOfVariables * 6 ];
height: #numberOfMethods.
b nodes: RTObject withAllSubclasses.
b edges connectFrom: #superclass.
b normalizer
normalizeColor: #numberOfLinesOfCode.
b layout tree.
b view @ RTFindInAView.
b.
-=-=-=-=-=-=-=-=
You need the last version of the GT-SpotterExtensions-CoreRoassal package, located in the GToolkit smalltalkhub repository.
-=-=-=-=-=-=-=-=-=-=
Gofer it
smalltalkhubUser: 'Moose' project: 'GToolkit';
package: 'GT-SpotterExtensions-CoreRoassal';
load.
-=-=-=-=-=-=-=-=-=-=
If you download the latest version of Roassal, this should work out of the box. Really cool!
Cheers,
Alexandre
> On Jan 2, 2015, at 11:52 AM, Usman Bhatti <usman.bhatti@gmail.com> wrote:
>
> Alex,
>
> I would like to try this feature too (searching for an element in a view by its name). Would you be integrating it in Roassal?
>
>
>
> On Thu, Jan 1, 2015 at 7:51 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> Works like a charm.
>
> And for the key stroke binding? Is there a way to make GTInspector / GTPlayground happy about it?
>
> Alexandre
>
>
> > On Jan 1, 2015, at 5:28 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
> >
> > Hi,
> >
> > The only way we can handle object specific actions at this point is to override #spotterActDefault (this is what gets invoked when you press Enter). Could you try overriding RTElement>>#spotterActDefault?
> >
> > But, indeed, custom callbacks is one of the near term goals :).
> >
> > Cheers,
> > Doru
> >
> >
> > On Thu, Jan 1, 2015 at 3:00 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> > Yes, but not quite. I have two problems:
> >
> > 1 - Consider:
> > -=-=-=-=-=-=-=-=-=-=-=-=
> > b := RTMondrian new.
> > b nodes: GLMPresentation withAllSubclasses.
> > b edges connectFrom: #superclass.
> > b layout tree.
> > b build.
> >
> > b view when: TRMouseClick do: [ :evt |
> > GTSpotterMorph new
> > width: 400;
> > doLayout;
> > spotterModel: (GTSpotter on: b view);
> > openCenteredInWorld ]
> > -=-=-=-=-=-=-=-=-=-=-=-=
> > I do not want to open an inspector on the object, but instead move the camera and/or make the element blink. Can I register a callback when I select what I am looking for?
> >
> >
> >
> > 2 - Consider this small variation of the script:
> > -=-=-=-=-=-=-=-=-=-=-=-=
> > b := RTMondrian new.
> > b nodes: GLMPresentation withAllSubclasses.
> > b edges connectFrom: #superclass.
> > b layout tree.
> > b build.
> >
> > b view when: TRKeyDown do: [ :evt |
> > (evt keyCombination = $F asKeyCombination) ifTrue:
> > [ GTSpotterMorph new
> > width: 400;
> > doLayout;
> > spotterModel: (GTSpotter on: b view);
> > openCenteredInWorld ] ].
> >
> > b open
> > -=-=-=-=-=-=-=-=-=-=-=-=
> > Unfortunately, I need to have the #open at the end. Because there is apparently no way to send key event to the view :-(
> >
> > Cheers,
> > Alexandre
> >
> > > On Jan 1, 2015, at 9:58 AM, Tudor Girba <tudor@tudorgirba.com> wrote:
> > >
> > > Hi,
> > >
> > > Happy New Year!
> > >
> > > GTSpotter was meant for exactly that :)
> > >
> > > You can do this:
> > >
> > > RTView>>spotterElementsFor: aStep
> > > <spotterOrder: 10>
> > > ^ aStep listProcessor
> > > title: 'Elements';
> > > candidatesLimit: 100;
> > > allCandidates: [ self elements ];
> > > itemName: [ :each | each model gtDisplayString ];
> > > matchSubstring;
> > > wantsToDisplayOnEmptyQuery: true
> > >
> > > and then:
> > >
> > > b := RTMondrian new.
> > > b nodes: GLMPresentation withAllSubclasses.
> > > b edges connectFrom: #superclass.
> > > b layout tree.
> > > b build.
> > > GTSpotterMorph new
> > > width: 400;
> > > doLayout;
> > > spotterModel: (GTSpotter on: b view);
> > > openCenteredInWorld
> > >
> > >
> > > Cheers,
> > > Doru
> > >
> > > On Fri, Dec 26, 2014 at 6:01 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> > > For example, consider the script:
> > >
> > > b := RTMondrian new.
> > > b nodes: GLMPresentation withAllSubclasses.
> > > b edges connectFrom: #superclass.
> > > b layout tree.
> > > b
> > >
> > > I want to search for all the classes that ends with ‘Debugger’, or ‘Browser’.
> > >
> > > Alexandre
> > >
> > >
> > > > On Dec 26, 2014, at 2:03 PM, Tudor Girba <tudor@tudorgirba.com> wrote:
> > > >
> > > > Hi Alex,
> > > >
> > > > I think I do not understand what you mean.
> > > >
> > > > There is no current support for searching something in a RTView, but GTSpotter is moldable and you can specify what objects you want to search given a start object. The only problem is what would you put as labels to search for.
> > > >
> > > > Could you provide examples of things you would want to search for?
> > > >
> > > > Cheers,
> > > > Doru
> > > >
> > > >
> > > >
> > > > On Fri, Dec 26, 2014 at 1:57 PM, Alexandre Bergel <alexandre.bergel@me.com> wrote:
> > > > Hi!
> > > >
> > > > Searching for elements in a visualization is a recurrent problem, for which we have no good solution so far.
> > > > I have the impression that GTSpotter cannot be used to look for elements in a Roassal visualization.
> > > >
> > > > Can someone from the GT team confirm my feeling? Should I built my own search framework on top of Roassal?
> > > >
> > > > Cheers,
> > > > Alexandre
> > > > --
> > > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > > Alexandre Bergel http://www.bergel.eu
> > > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Moose-dev mailing list
> > > > Moose-dev@iam.unibe.ch
> > > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> > > >
> > > >
> > > >
> > > > --
> > > > www.tudorgirba.com
> > > >
> > > > "Every thing has its own flow"
> > > > _______________________________________________
> > > > Moose-dev mailing list
> > > > Moose-dev@iam.unibe.ch
> > > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> > >
> > > --
> > > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > > Alexandre Bergel http://www.bergel.eu
> > > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Moose-dev mailing list
> > > Moose-dev@iam.unibe.ch
> > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> > >
> > >
> > >
> > > --
> > > www.tudorgirba.com
> > >
> > > "Every thing has its own flow"
> > > _______________________________________________
> > > Moose-dev mailing list
> > > Moose-dev@iam.unibe.ch
> > > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> > --
> > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> > Alexandre Bergel http://www.bergel.eu
> > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
> >
> >
> >
> >
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev@iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
> >
> >
> >
> > --
> > www.tudorgirba.com
> >
> > "Every thing has its own flow"
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev@iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev