Хотел набросать программку, в которой можно было бы составлять блок-схемы. Хочу реализовать возможность добавлять блоки (не обязательно разной формы и цвета, но с текстом) и связи между ними. Самое главное чтобы по окончании составления схемы можно было перечислить все блоки и связи по имени (например "дом", "работа", "парк" для блоков и "дом#работа", "работа#парк", "парк#дом" для связей). Имея возможность перечисления для связей по имени, можно будет реализовать вывод полей edit по количеству связей или таблицы для заполнения расстояния. Связей может быть несколько (дом#работа, дом#парк, дом#магазин) причем дом#магазин и магазин#дом - это не одно и тоже, хотелось бы что бы при указании связи запоминалось начало и конец, на манер стрелочки.

Надеюсь обрисовал понятно. Не пинайте сильно если обсуждалось - не нашел.

Подскажите пожалуйста, как это можно реализовать - сам новичок и знаний не хватает.

Не обязательно чтобы были спрайты или графика, может можно как-то просто добавлять кнопки на форму, располагать их перетаскивая мышкой и указывать связи, но как это "просто" сделать я не знаю

Я не прошу всё сделать за меня, просто подскажите какие компоненты могли бы мне в этом помочь. Примеры, конечно, приветствуются.
