juzzlin / Heimer

Heimer is a simple cross-platform mind map, diagram, and note-taking tool written in Qt.
GNU General Public License v3.0
889 stars 112 forks source link

Node Types (+Special Nodes) #182

Open l3td33r opened 2 years ago

l3td33r commented 2 years ago

Nodes:

Text Node - normal node, contains text.

Image Node - contains image and/or image+text, possibly just an extension of Text Node.

Reference node - displays the contents of another node in a "ghost node" that can't be edited but updates itself automatically whenever the referenced node is updated. To differentiate it from other nodes, its color can be different, for example 50% transparency. Or a different shape/border. Special property: click on a reference move to move screen to its source node/or edit it. Useful for large mind maps to relate nodes in different parts of the map to the same "category" and similar. EDIT: Ignore this, tags are better.

Group Node - put multiple nodes in it and it resizes automatically. When you move it, all of its contents move as well.

Submap Node - a node used for creating a submap/hyperlinks that reference to another heimer mindmap file. Upon click it opens the referenced mindmap. Should still keep the previous map in memory in order to return to it quickly (UI button to return to previous map? Could be difficult in heavily nested mindmaps)

The reference/group nodes could be way too overcomplicated, feel free to ignore them. Just thought I'd post them.

Concept art group/reference nodes: concept art heimer reference and group nodes

l3td33r commented 2 years ago

As I think about it now, tags might be better than reference nodes for most cases, #149

Dev5H0 commented 2 years ago

I'd like to add on to this; the ability to reference files (Full & Local paths (local being a path with the root directory being the location of the current file you're editing.)) mainly ".txt", opening them in their default editor on "ctrl+leftClick".

ghost commented 2 years ago

this might be overblowing a bit but,

instead of the nodes being inside an ALZ file, perhaps the ALZ only stores the connections and the actual nodes and files related are in a subfolder for that project

ghost commented 2 years ago

as for node group, blender has something similar which they call "frame"

image

Imerion commented 2 years ago

Grouping nodes and getting automatic frames like that (that stay together when auto-arranging) would be really cool and useful!

juzzlin commented 2 years ago

Yeah, I would have needed some kind of visual grouping also myself recently. It would require some planning on how to do that properly as it should work with the layout optimizer and so on. The easiest thing to do would be something like that orange thing in the first comment and so that it won't lock the node positions, but resize automatically when the grouped nodes are individually moved. All the grouped nodes could be still moved together when dragged so that the drag point is inside the group boundaries, but not touching the nodes.