Hi Edo, very nice, I'll give it a try next time I work on one of my addons. One quick question beforehand, is this fork compatible with addon mindmaps created with the original devtools addon? Cheers Jochen
Hi Peter, not sure if I fully understand yet what you are trying to achieve here. If you make your script into an addon, you can place it as menu item wherever you want within the main menu via the "menuLocation" key, but it seems you already got that part down another way. Regarding passing parameters to a script called through the menu: Since the script knows which node it is executed on, you can pass information that way (Node parameter of a certain name for instance, it's not very elegant though)...
Hi Jubal, A quick and dirty solution: copy the node ID of your target and put it in an attribute of your root node. To jump to the node you marked that way you can make yourself a user script, which you then bind to a short key: c.select(c.find{it.getId()==map.root["Jump_ID"].toString()}) If you want it more fancy, could also make a style and have the script select the node with the style applied in the same fashion. Jochen
Hi Keanu, the Freeplane file format itself is .xml, you could parse it, but it contains much more than what you are probably interested in, and spreadsheet tools don't understand the format out of the box, so no easy way without scripting I'm afraid. Easiest way I see is a little groovy script to grab the data you care for and write it to a .csv file directly from within freeplane, which your spreadsheet tool of choice can import. Something like this snippet here writing node text, detailled text...
It pains my mathematicians heart, but I'd also vote to exclude childless nodes. I can imagine cases where that filter condition makes sense, while I fail to see a use case for the current behaviour at all.
Ah, a fine example of how boolean logic and human language can diverge quite a bit :) It's like me proudly claiming that I won all fist fights against polar bears I ever took part in. True statement, since luckily I never encountered any brawling bears in the first place. So from a mathematical boolean logic point of view, the filter condition works exactly as it should, I'm with you regarding what could possibly be the use case for this filter, since the last two filters both will always evaluate...