Hi,
I'm looking at the Basic Examples browser and I would like to use the "Tree with tags" examples as an inspiration to build a custom browser. My idea is to make a browser with two columns. Left is a tree with tags and right is the "content" of that tree. According with the tags in the tree the display and behaviour of the content will change. For example, if the tree node is tagged with "code" the left browser will be and executable pane, if not it will be just plain text. For that I will like to change the order in which tags and children names are shown in a tree with tags. I would like to have tags first and children names second, which is the reverse order of what we have now. I see in the examples that the message to build a tree with tags have the form: =[1]======================== a tree display: []; children: []; tags: []. ============================ and I would like something with the form: =[2]======================== a tree display: []; tags: []; children: []. ============================ I tried to find the message for [1] at the GLMTabulator and GLMTreePresentation but it's not there and I don't know where else to look for. How can I change the order of tags and children names in a tree with tags presentation for a browser? Thanks, Offray _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi, To achieve this, you should use a presentation on the left hand side. Here is an example: GLMCompositePresentation new with: [ :c | c table children: #subclasses; column: 'Kind' evaluated: ['' ] tags: [ :each | { (each methods anySatisfy: #isAbstract) asString } ]; column: 'Name' evaluated: #name ]; openOn: { Collection } Cheers, Doru On Sun, Jan 11, 2015 at 4:47 PM, Offray Vladimir Luna Cárdenas <[hidden email]> wrote: Hi, _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi,
I have tested this, but I have two issues: 1. When I browser your example with the keyboard arrows expanding and contracting levels in the tree inside the table the method name gets all the time truncated, as shown in the attached screenshot. I have long names in my trees and I wouldn't like this to be the default experience. 2. I don't know how to replace my current tree with the GLMCompositePresentation. My tree builder is something like: =[1]================================= GrafoscopioBrowser>>buildBrowserNamed: browser := GLMTabulator new title: aName, ' | Grafoscopio'. browser column: [:c | c row: #tree span: 6; row: #nodeHeader span: 1] span: 2; column: [ :c | c row: #nodeBody span: 2] span: 5. browser updateOn: GLMItemAdded from: #yourself; updateOn: GLMItemRemoved from: #yourself. (browser transmit) to: #tree; andShow: [:a | self treeOn: a]. =================================== and the "treeOn:" message works like: =[2]================================= (constructor tree) "Layout" title: mainTree header; children: [ :eachNode | (eachNode children) isNil ifTrue: [ self inform: 'Seleccione un nodo para ver su contenido' ] ifFalse:[ eachNode children ] ]; format:[:eachNode | (eachNode header) isNil ifTrue: [ '' ] ifFalse: [ eachNode header ]]; "A lot of act nodes to build the interface" =================================== Seems that GLMCompositePresentation can not receive the "act: " messages, so I would need to embed the table inside something which can. It seems that a tree with tags to the left could solve this more easily, but I don't know how easy is to get this as a feature of Glamorous browsers. May be something like: a tree display: children: tagsAtLeft: could be done. I will test with the interface with the current tags location and let you know how it goes (but my intuition says that would be better to have tags in a tree aligned at left). Cheers, Offray El 11/01/15 a las 11:05, Tudor Girba escribió: > Hi, > > To achieve this, you should use a presentation on the left hand side. Here is an > example: > GLMCompositePresentation new > with: [ :c | > c table > children: #subclasses; > column: 'Kind' evaluated: ['' ] tags: [ :each | { (each methods anySatisfy: > #isAbstract) asString } ]; > column: 'Name' evaluated: #name ]; > openOn: { Collection } > > Cheers, > Doru > > On Sun, Jan 11, 2015 at 4:47 PM, Offray Vladimir Luna Cárdenas > <[hidden email] <mailto:[hidden email]>> wrote: > > Hi, > > I'm looking at the Basic Examples browser and I would like to use the "Tree > with tags" examples as an inspiration to build a custom browser. > > My idea is to make a browser with two columns. Left is a tree with tags and > right is the "content" of that tree. According with the tags in the tree the > display and behaviour of the content will change. For example, if the tree > node is tagged with "code" the left browser will be and executable pane, if > not it will be just plain text. > > For that I will like to change the order in which tags and children names > are shown in a tree with tags. I would like to have tags first and children > names second, which is the reverse order of what we have now. I see in the > examples that the message to build a tree with tags have the form: > > =[1]======================== > a tree > display: []; > children: []; > tags: []. > ============================ > > and I would like something with the form: > > =[2]======================== > a tree > display: []; > tags: []; > children: []. > ============================ > > I tried to find the message for [1] at the GLMTabulator and > GLMTreePresentation but it's not there and I don't know where else to look for. > > How can I change the order of tags and children names in a tree with tags > presentation for a browser? > > Thanks, > > Offray > _________________________________________________ > Moose-dev mailing list > [hidden email] <mailto:[hidden email]> > https://www.iam.unibe.ch/__mailman/listinfo/moose-dev > <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> > > > > > -- > www.tudorgirba.com <http://www.tudorgirba.com> > > "Every thing has its own flow" > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev taggedTreeWithChopedNames.png (52K) Download Attachment |
Hi,
I have tested this: [1] http://ws.stfx.eu/6S2XAUQ2VBG0 and this: [2] http://ws.stfx.eu/LQBQKZ41H3S9 The only difference between both is that the long text of the second includes the character "ñ" and in that case the tree gets disordered with the longer text at the end instead of at the beginning. I will trees tagged at right with my current interface which contains accented characters and "ñ"s and see how it's going. Cheers, Offray El 13/01/15 a las 19:57, Offray Vladimir Luna Cárdenas escribió: > Hi, > > I have tested this, but I have two issues: > > 1. When I browser your example with the keyboard arrows expanding and > contracting levels in the tree inside the table the method name gets all > the time truncated, as shown in the attached screenshot. I have long > names in my trees and I wouldn't like this to be the default experience. > > 2. I don't know how to replace my current tree with the > GLMCompositePresentation. My tree builder is something like: > > > =[1]================================= > GrafoscopioBrowser>>buildBrowserNamed: > > browser := GLMTabulator new > title: aName, ' | Grafoscopio'. > > browser > column: [:c | > c row: #tree span: 6; > row: #nodeHeader span: 1] span: 2; > column: [ :c | > c row: #nodeBody span: 2] span: 5. > browser > updateOn: GLMItemAdded from: #yourself; > updateOn: GLMItemRemoved from: #yourself. > > (browser transmit) > to: #tree; > andShow: [:a | self treeOn: a]. > > =================================== > > and the "treeOn:" message works like: > > =[2]================================= > (constructor tree) "Layout" > title: mainTree header; > children: [ :eachNode | > (eachNode children) isNil > ifTrue: [ self inform: 'Seleccione un nodo para ver > su contenido' ] > ifFalse:[ eachNode children ] ]; > format:[:eachNode | > (eachNode header) isNil > ifTrue: [ '' ] > ifFalse: [ eachNode header ]]; > > "A lot of act nodes to build the interface" > =================================== > > Seems that GLMCompositePresentation can not receive the "act: " > messages, so I would need to embed the table inside something which can. > > It seems that a tree with tags to the left could solve this more easily, > but I don't know how easy is to get this as a feature of Glamorous > browsers. May be something like: > > a tree > display: > children: > tagsAtLeft: > > could be done. > > I will test with the interface with the current tags location and let > you know how it goes (but my intuition says that would be better to have > tags in a tree aligned at left). > > Cheers, > > Offray > > El 11/01/15 a las 11:05, Tudor Girba escribió: >> Hi, >> >> To achieve this, you should use a presentation on the left hand side. >> Here is an >> example: >> GLMCompositePresentation new >> with: [ :c | >> c table >> children: #subclasses; >> column: 'Kind' evaluated: ['' ] tags: [ :each | { (each methods >> anySatisfy: >> #isAbstract) asString } ]; >> column: 'Name' evaluated: #name ]; >> openOn: { Collection } >> >> Cheers, >> Doru >> >> On Sun, Jan 11, 2015 at 4:47 PM, Offray Vladimir Luna Cárdenas >> <[hidden email] <mailto:[hidden email]>> wrote: >> >> Hi, >> >> I'm looking at the Basic Examples browser and I would like to use >> the "Tree >> with tags" examples as an inspiration to build a custom browser. >> >> My idea is to make a browser with two columns. Left is a tree >> with tags and >> right is the "content" of that tree. According with the tags in >> the tree the >> display and behaviour of the content will change. For example, if >> the tree >> node is tagged with "code" the left browser will be and >> executable pane, if >> not it will be just plain text. >> >> For that I will like to change the order in which tags and >> children names >> are shown in a tree with tags. I would like to have tags first >> and children >> names second, which is the reverse order of what we have now. I >> see in the >> examples that the message to build a tree with tags have the form: >> >> =[1]======================== >> a tree >> display: []; >> children: []; >> tags: []. >> ============================ >> >> and I would like something with the form: >> >> =[2]======================== >> a tree >> display: []; >> tags: []; >> children: []. >> ============================ >> >> I tried to find the message for [1] at the GLMTabulator and >> GLMTreePresentation but it's not there and I don't know where >> else to look for. >> >> How can I change the order of tags and children names in a tree >> with tags >> presentation for a browser? >> >> Thanks, >> >> Offray >> _________________________________________________ >> Moose-dev mailing list >> [hidden email] <mailto:[hidden email]> >> https://www.iam.unibe.ch/__mailman/listinfo/moose-dev >> <https://www.iam.unibe.ch/mailman/listinfo/moose-dev> >> >> >> >> >> -- >> www.tudorgirba.com <http://www.tudorgirba.com> >> >> "Every thing has its own flow" >> >> >> >> _______________________________________________ >> Moose-dev mailing list >> [hidden email] >> https://www.iam.unibe.ch/mailman/listinfo/moose-dev >> > > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
2015-01-14 2:37 GMT+01:00 Offray Vladimir Luna Cárdenas <[hidden email]>: Hi, You can use an OrderedDictionary. It will preserve the key insertion order.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |