Interesting discussion, I guess ribbons are a bit of a red cloth for a lot of people. I must admit, not a big ribbon fan myself, stuff never seems to be where I expect it to be in MS Office at least, so more often than not I end up iterating all ribbons till I finally find what I'm looking for :D It did make we wonder though, which part of the freeplane toolbars do I actually use, and it turns out its pretty much the filtering and finding toolbar exclusively, all the other functions I either rarely...
Hi Dimitry, A good case can be made for either logic in my opinion, depending on how freeplane is used. I bumped into this behaviour before as well and assumed it to be intentional to let the user have the last word, and avoid the awkward scenario where one manually changes formatting of a node and nothing happens because it is overwritten by a conditional style the user might not even know about. (e.g. when using a template someone else provided or collaborates with others on a map or continues...
Hm, can't reproduce the problem, your script runs fine for me, we are on different Freeplane versions though. (Yours is 1.9.8, I'm still on 1.9.0) Error sounds like you are feeding the setters a long integer variable, but it expects normal integers. (can't tell for sure, your map links to images on your harddrive unfortunately ;) Try converting explicitly to integer, might help delta_x=node['dX'].toInteger() delta_y=node['dY'].toInteger() pos_x=node['pX'].toInteger() pos_y=node['pY'].toInteger()...
Hm, can't reproduce the problem, your script runs fine for me, we are on different Freeplane versions though. (Yours is 1.9.8, I'm still on 1.9.0) Error sounds like you are feeding the setters a floating point variable, but it expects integers. (can't tell for sure, your map links to images on your harddrive unfortunately ;) Try converting explicitly to integer, might help delta_x=node['dX'].toInteger() delta_y=node['dY'].toInteger() pos_x=node['pX'].toInteger() pos_y=node['pY'].toInteger() Let me...
Hi sfpcom, I don't think freeplane supports such grid layouts natively, but placing nodes freely via the scripting API is easy enough. Best method probably is to have a script copy nodes instead of messing with your original map, that way you don't have to worry about restoring the original layout afterwards, instead the whole matrix simply gets deleted once you are done with it. Algorithm wise this is straight forward too, I whipped up the prototype below, seems to do what you want. Have fun Jochen...
Hi SFPC Took me quite a while to understand what you are trying to do here... Lets take a look at it step by step. First thing is to mark nodes that have invalid references, my guess is a reference is invalid if there is no node in the map, that has the referenced Col/Row property In that case, you can just slap on a map style with a script filter condition, like this: if (node.attributes.names.contains('Row') || node.attributes.names.contains('Col')) { c.find{it['RefCol']==node['Col']}.isEmpty()...
Hi Edo, that solves half the issue, so adding the trailing "/" indeed fixes the broken link icon. The issue leading to the link being broken remains though, and is reproducable, did you try adding a link to the parentfolder of a mindmap? Since I can repreduce this behaviour on three different machines with two different OS I was pretty certain that adding a link to the folder that contains the map always creates a broken hyperlink.
Link to folder parent folder of mind map is broken