diagrams-fable-qt/src/CMakeLists.txt
Ilya Ashikhmin b257c1a7cf feat(scene): add interactive graphics scene with grid, ports and styled edges
- SVG node items with snap-to-grid dragging; ports appear on focus/hover
  and highlight compatible targets during a connection drag
- Orthogonally routed edge items with line styles, head/tail decorations
  (arrow, circle, diamond, bar), selection halo and title labels; later
  edges jump crossings with arcs when enabled
- Grid background view with cursor-anchored zoom, middle-button pan,
  rubber-band selection and palette drag-and-drop
- Undoable commands: add/move/delete/connect/property/paste with
  clipboard fragments; light/dark/high-contrast themes
- Flow overlay: animated dashes, direction and density follow flow rate

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:25:06 +02:00

37 lines
964 B
CMake

# Core: document model, routing, solver — no Widgets dependency, headless-testable.
add_library(diagcore STATIC
core/Types.h
core/Types.cpp
core/TypeRegistry.h
core/TypeRegistry.cpp
core/NetworkModel.h
core/NetworkModel.cpp
core/Router.h
core/Router.cpp
core/FlowSolver.h
core/FlowSolver.cpp
core/JsonIo.h
core/JsonIo.cpp
)
target_include_directories(diagcore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(diagcore PUBLIC Qt6::Core Qt6::Gui)
# Scene: QGraphicsScene items and interaction.
add_library(diagscene STATIC
scene/Theme.h
scene/Theme.cpp
scene/Commands.h
scene/Commands.cpp
scene/DiagramScene.h
scene/DiagramScene.cpp
scene/NodeItem.h
scene/NodeItem.cpp
scene/PortItem.h
scene/PortItem.cpp
scene/EdgeItem.h
scene/EdgeItem.cpp
scene/GridView.h
scene/GridView.cpp
)
target_link_libraries(diagscene PUBLIC diagcore Qt6::Widgets Qt6::Svg)