Skip to content

POC: Validate DevExpress DiagramControl for diagram replacement #2321

@msevestre

Description

@msevestre

Context

Phase 0 of #2320 (Replace GoDiagram with DevExpress DiagramControl). This is a go/no-go gate — if the POC fails, we evaluate alternatives before proceeding.

Goal

Add a throwaway MoBi.DiagramPoc WinForms project to the MoBi solution. Prove three things with standalone, hardcoded examples (no integration with real domain model):

1. Custom shapes with port-specific drag-to-connect

  • Create a reaction node (triangle/Y-shape) with 3 colored connection points: blue (educt), green (product), red (modifier)
  • Create a molecule node (circle) with 1 connection point
  • Drag from molecule → reaction port creates a connector colored to match the target port
  • Validate that connections are port-specific (e.g., can distinguish which port was connected to)

2. Nested containers with expand/collapse

  • Create containers 3+ levels deep (e.g., Organism → Organ → Compartment → SubCompartment)
  • Expand/collapse works at each level
  • Child nodes stay inside parent containers visually

3. Sugiyama auto-layout

  • Build a small reaction network: ~5 molecule nodes, ~3 reaction nodes, wired together
  • Apply ApplySugiyamaLayout() and verify the result is readable

Done when

  • All 3 capabilities demonstrated in the POC project
  • Or: documented which capability fails and why, so the team can evaluate alternatives

Notes

  • Throwaway code — no tests, no architecture, no domain model integration
  • Delete MoBi.DiagramPoc project after validation
  • Build against DevExpress 21.2 (current version)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions