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
<off...@riseup.net <mailto:off...@riseup.net>> 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/ub
akye-browser.jpg
<http://mutabit.com/offray/static/blog/output/galleries/objetos/ubaky
e-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
<off...@riseup.net <mailto:off...@riseup.net>> 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
<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/
<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
<https://github.com/scholmd/scholmd/wiki>
[2]
http://blog.martinfenner.org/__2013/06/29/metadata-in-__scholarly-mar
kdown/
<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
<http://programminghistorian.org/lessons/sustainable-authorship-in-pl
ain-text-using-pandoc-and-markdown>
Thanks again, this conversation with people in the
community is very
valuable to me,
Offray
_________________________________________________
Moose-dev mailing list
moose-...@iam.unibe.ch <mailto:moose-...@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"