#projection - classes
# 18dez23

digraph maskClasses
{
    node[shape=box];

    Plot2DFrame->DataSource[arrowhead=onormal color=chocolate4];
    Plot2DFrame->ProjectionActions;
    Plot2DFrame->ProjectionToolbar;
    Plot2DFrame->ProjectionsEditorCanvas;
    Plot2DFrame->ProjectedGraphsCanvas;
    Plot2DFrame->AxesPanel;

    ProjectionActions->MasksQModel;
    ProjectionActions->Data2DItem;

    ProjectionToolbar->ProjectionActions;

    ProjectionsEditorCanvas->MaskGraphicsScene;
    ProjectionsEditorCanvas->MaskGraphicsView;
    ProjectionsEditorCanvas->ColorMap;
    ProjectionsEditorCanvas->PlotStatusLabel;
    ProjectionsEditorCanvas->LineItem;
    ProjectionsEditorCanvas->Data2DItem;

    ProjectedGraphsCanvas->ProjectionsPlot;
    ProjectedGraphsCanvas->QTabWidget;
    QTabWidget[style=filled fillcolor=beige];

    MaskGraphicsView->QGraphicsView[arrowhead=onormal color=chocolate4];
    MaskGraphicsView->MaskGraphicsScene;
    QGraphicsView[style=filled fillcolor=beige];

    MaskGraphicsScene->QGraphicsScene[arrowhead=onormal color=chocolate4];
    MaskGraphicsScene->ColorMap;
    MaskGraphicsScene->MasksQModel;
    MaskGraphicsScene->IOverlay;
    MaskGraphicsScene->MaskGraphicsProxy;
    MaskGraphicsScene->Data2DItem;
    MaskGraphicsScene->OverlayFactory[style=dashed color=blue];
    QGraphicsScene[style=filled fillcolor=beige];

    OverlayFactory->VerticalLineOverlay[style=dashed color=blue];
    OverlayFactory->VerticalLineItem[style=dotted color=magenta];

    VerticalLineOverlay->LineOverlay[arrowhead=onormal color=chocolate4];
    LineOverlay->IMaskOverlay[arrowhead=onormal color=chocolate4];
    IMaskOverlay->IOverlay[arrowhead=onormal color=chocolate4];
    IOverlay->QGraphicsObject[arrowhead=onormal color=chocolate4];

    VerticalLineItem->LineItem[arrowhead=onormal color=chocolate4];
    LineItem->MaskItem[arrowhead=onormal color=chocolate4];
    MaskItem->OverlayItem[arrowhead=onormal color=chocolate4];
    OverlayItem->QObject[arrowhead=onormal color=chocolate4];
    QObject[style=filled fillcolor=beige];

    MaskGraphicsProxy->QGraphicsProxyWidget[arrowhead=onormal color=chocolate4];
    QGraphicsProxyWidget[style=filled fillcolor=beige];
    QGraphicsProxyWidget->QGraphicsWidget[arrowhead=onormal color=chocolate4];
    QGraphicsWidget[style=filled fillcolor=beige];
    QGraphicsWidget->QGraphicsObject[arrowhead=onormal color=chocolate4];
    QGraphicsObject[style=filled fillcolor=beige];
    QGraphicsObject->QGraphicsItem[arrowhead=onormal color=chocolate4];
    QGraphicsItem[style=filled fillcolor=beige];

    ColorMap->Data2DItem;

    MaskResultsPresenter->Data2DItem;

    Data2DItem->MasksSet;
    MasksSet->MaskItem;
}