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
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 < offray@riseup.net> 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 Moose-dev@iam.unibe.ch 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 <offray@riseup.net mailto:offray@riseup.net> 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 Moose-dev@iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch> 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 Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
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:
- 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.
- 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 <offray@riseup.net mailto:offray@riseup.net> 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 Moose-dev@iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch> 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 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
2015-01-14 2:37 GMT+01:00 Offray Vladimir Luna Cárdenas offray@riseup.net:
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.
You can use an OrderedDictionary. It will preserve the key insertion order.
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:
- 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.
- 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 <offray@riseup.net mailto:offray@riseup.net> 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 Moose-dev@iam.unibe.ch <mailto:Moose-dev@iam.unibe.ch> 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 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
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev