Hi,

You probably need this:

explorer transmit to: #tree; andShow: [:a |
                a tree
                        display: headers;
                        *children: [:eachNode | eachNode
theMessageYouUseToGoToTheChildrenOfANode ]*].

A tree is a recursive structure, and to describe it you need:
- a way to construct the root elements. This is the result of applying
display: to the input object. So, display: either takes a collection or a
block that will return a collection when executed.
- a way to define the children for each node. This is the result of
applying children:

You should also take a look at the examples from:
GLMBasicExamples open

Does this help now?

Cheers,
Doru





On Sun, Jul 27, 2014 at 4:59 PM, Offray Vladimir Luna Cárdenas <
[email protected]> wrote:

> Hi,
>
> Answering to myself: I have solved the code that selects the headers of
> the main tree. The key is to create a new collection containing only node
> names. Here is the code:
>
> "*************************"
> | mainTree node1 node2 explorer headers  |
>
> mainTree := UbakyeNode
>         header: 'Arbol raíz'
>         body: ''.
>
> node1 := UbakyeNode
>         header: 'Nodo 1'
>         body:  'Texto 1'.
>
> node2 := UbakyeNode
>         header: 'Nodo 2'
>         body:  'Texto 2'.
>
> mainTree
>         addNode: node1;
>         addNode: node2.
>
>
> explorer := GLMTabulator new
>                 title: (mainTree header).
> explorer column: #tree;
>          column: #body.
>
> headers := (mainTree children)
>         collect: [:node |  node header].
>
>
> explorer transmit to: #tree; andShow: [:a |
>                 a tree
>                         display: headers].
>
> explorer openOn: mainTree.
>
> "*************************"
>
> Now I need to make the children sellectable, and that all the contents of
> the tree can be updated with a shortcut.
>
> I will keep you posted.
>
> Cheers,
>
> Offray
>
>
> On 07/26/2014 09:01 PM, Offray Vladimir Luna Cárdenas wrote:
>
>> Hi again,
>>
>> I will be using this thread to update my advances and questions about
>> how to build an outliner in Pharo Smalltalk. If there is a better method
>> like starting a new thread for particular questions, or a less narrative
>> style, please let me know.
>>
>> The idea is to use the tools provided by Moose to build a quick outliner
>> that can be extended to suit my needs on academical writing. This is
>> kind of a strange approach in the sense that I'm not following the
>> tutorials with a predefined problems (make a game and so) but trying to
>> start with a real (in the sense of closer) problem (making an outliner)
>> and to see which knowledge I need to solve this necessity. In that sense
>> is more like the Freire's alphabetization of adults in Brazil.
>>
>> So, the things I have done so far was to search for a good model to
>> start with. Something already done that can be used as scaffolding for
>> my outliner. The Help System seems like a good start for an outliner (in
>> fact it is already one), so I have taken the Help-Core system and start
>> to use it as a base for my project.
>>
>> After that I have used the Moose browsers to build a simple interface,
>> as seen here:
>>
>> http://mutabit.com/offray/static/blog/output/galleries/
>> objetos/ubakye-browser.jpg
>>
>>
>> The part I want to deal with is this:
>>
>> ===============
>>
>> explorer := GLMTabulator new
>>                  title: (mainTree header).
>> explorer column: #tree;
>>              column: #body.
>>
>> explorer transmit to: #tree; andShow: [:a |
>>          a tree
>>              display: mainTree children ].
>>
>> explorer openOn: mainTree.
>>
>> ===============
>>
>> So, instead of "display: mainTree children" I need something that takes
>> the get names (headers) of the two nodes and the contents in the right
>> panel. For that I think that I need to learn some iterators. I have
>> already a "header" method for the nodes. Any clue would be appreciated
>> and I will keep you posted on my advances.
>>
>> Cheers,
>>
>> Offray
>>
>>
>> On 07/21/2014 12:58 PM, Offray Vladimir Luna Cárdenas wrote:
>>
>>> Hi Damien,
>>>
>>> Thanks for your answer. Comments below.
>>>
>>> On 07/21/2014 11:09 AM, Damien Cassou wrote:
>>>
>>>> On Sat, Jul 19, 2014 at 2:47 AM, Offray Vladimir Luna Cárdenas
>>>> <[email protected]> wrote:
>>>>
>>>>> The first idea that comes to mind is using STON for storage nodes and
>>>>> tree
>>>>> information, so I can interchange it with the flatland files world
>>>>> and keep
>>>>> it readable. Sounds that reasonable?
>>>>>
>>>>
>>>>
>>>> without more information, it is hard to stay. Try with STON and change
>>>> if that does not work :-). We have XML and JSON generators as well.
>>>>
>>>>
>>>
>>> This is a kind of raw preview of I'm talking about:
>>>
>>> http://www.enlightenment.org/ss/e-53cd4f36f021e9.68569046.jpg
>>>
>>> Of course in this case, it is just a Help browser with a Playground
>>> window over it, but I would like to have something like Playgrounds
>>> inside the help browser. I was trying to build a custom browser with
>>> Glamour, but seems that Help Browser already has the machinery I'm
>>> looking for.
>>>
>>> So my first question is how to use the Help Browser class as a template
>>> for my outliner class? And can I put a Playground where the plain text
>>> is located right now?
>>>
>>>
>>>>  The second thing I would like to do is to add pandoc's markdown inside
>>>>> comments, but I don't like the syntax of comments in Smalltalk because
>>>>> single quotes are fairly easy to find in light markup language like
>>>>> markdown. Is difficult to change it to create something more like
>>>>> python
>>>>> (with """) or Lua (with -[]- )?
>>>>>
>>>>
>>>>
>>>> There is only one syntax for comments in Pharo. Instead of Markdown,
>>>> you might want to have a look at Pillar which is implemented in Pharo
>>>> and can generate Markdown (and html, and pdf) :
>>>> https://github.com/pillar-markup/pillar-documentation/
>>>>
>>>>
>>>>
>>> I have seen Pillar. Seems really interesting, but Pandocs markdown
>>> support academic citation in several formats and I have already long
>>> docs wrote on that format integrated in my workflow from Zotero and even
>>> there is a growing community working on Scholarly Markdown[1][2] so I
>>> would like to stick with it as much as I can for my own writing.
>>> That being said. I would like also a better integration between
>>> Smalltalk outliners and all the academic publication work flow,
>>> including working better with pandoc as a external library.
>>>
>>> [1] https://github.com/scholmd/scholmd/wiki
>>> [2]
>>> http://blog.martinfenner.org/2013/06/29/metadata-in-scholarly-markdown/
>>> [3]
>>> http://programminghistorian.org/lessons/sustainable-
>>> authorship-in-plain-text-using-pandoc-and-markdown
>>>
>>>
>>>
>>> Thanks again, this conversation with people in the community is very
>>> valuable to me,
>>>
>>> Offray
>>>
>>>
>>>
>>
>>
>>
>
> _______________________________________________
> Moose-dev mailing list
> [email protected]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>



-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to