Я хочу встроить холст чертежа диаграммы в моей программе. Пользователи могли бы:
- нарисовать "узлы" (узлы прямоугольника достаточно) и "ребра" (предпочтительнее быть ортогональными) для подключения "Узлы";
- использовать мышь для перетаскивания узлов для макета и изменения размера прямоугольника;
- выберите один или несколько узлов мышью для удаления, копирования, вставки и т.д.
- выберите один или несколько узлов мышью для редактирования предопределенных свойств (объем, температура, давление и т.д.) для них;
- изменить цвет (необязательно)
- сохранение/чтение данных в/из файлов.
После рисования программе нужно только получить логику соединения (в структуре данных, например Directed graph) и свойствах для дальнейших вычислений.
Есть ли бесплатная или открытая библиотека С++ для этого? (Не требуется для кросс-платформенных, доступных в окнах.)