#mask - classes
# 13dez23

digraph maskClasses
{
node[shape=box];

# DataView[label="DataView\n< QWidget" style=filled fillcolor=orchid];
# DataView->DatafilesSelector;
# DataView->StackedDataFrames;
# StackedDataFrames[label="StackedDataFrames\n< ItemStackWidget\n< QWidget" style=filled fillcolor=orchid];

MaskEditingFrame[label="MaskEditingFrame\n< DataSource\n< QWidget" style=filled fillcolor=orchid];
MaskEditingFrame->FrameActions;
MaskEditingFrame->MasksPanel;
MaskEditingFrame->MaskEditorCanvas;
MaskEditingFrame->Data2DToolbar[style=dashed color=blue]

Data2DToolbar[label="Data2DToolbar\n< QToolBar\n< QWidget" style=filled fillcolor=orchid]

FrameActions[label="FrameActions\n< QObject" style=filled fillcolor=beige];
FrameActions->MasksQModel;

MasksQModel[label="MasksQModel\n < QAbstractListModel\n... < QObject" style=filled fillcolor=beige];
MasksQModel->MasksSet;

MaskItem[label="MaskItem\n< OverlayItem\n< QObject" style=filled fillcolor=beige];

EllipseItem[style=filled fillcolor=beige];
EllipseItem->MaskItem[arrowhead=onormal color=chocolate4];
EllipseItem->DoubleProperty;

MasksPanel[label="MasksPanel\n< QWidget" style=filled fillcolor=orchid];
MasksPanel->MasksQModel;
MasksPanel->MaskItem;
MasksPanel->DoubleSpinBox[style=dashed color=blue] MasksPanel
    ->EllipseItem[style=dotted color=magenta];

DoubleSpinBox[label="DoubleSpinBox\n< QAbstractSpinBox\n< QWidget" style=filled fillcolor=orchid];
DoubleSpinBox->DoubleProperty;

DoubleProperty[label="DoubleProperty\n< QObject" style=filled fillcolor=beige];

MaskEditorCanvas[label="MaskEditorCanvas\n< QWidget" style=filled fillcolor=orchid];
MaskEditorCanvas->MaskGraphicsScene;
MaskEditorCanvas->MaskGraphicsView;
MaskEditorCanvas->Data2DItem;

MaskGraphicsView[label="MaskGraphicsView\n< QGraphicsView\n... < QWidget" style=filled fillcolor=orchid];
MaskGraphicsView->MaskGraphicsScene;
MaskGraphicsScene[label="MaskGraphicsScene\n< QGraphicsScene\n< QObject" style=filled fillcolor=beige];

MaskGraphicsScene->ColorMap;
MaskGraphicsScene->MasksQModel;
MaskGraphicsScene->IOverlay;
MaskGraphicsScene->MaskGraphicsProxy;
MaskGraphicsScene->Data2DItem;
MaskGraphicsScene->OverlayFactory[style=dashed color=blue];

OverlayFactory->EllipseOverlay[style=dashed color=blue];
OverlayFactory->EllipseItem[style=dotted color=magenta];

MaskGraphicsProxy[label="MaskGraphicsProxy\n< QGraphicsProxyWidget\n... < QGraphicsItem" style=filled fillcolor=gold];

ColorMap[label="ColorMap\n< ScientificPlot\n< QWidget" style=filled fillcolor=orchid];
ColorMap->Data2DItem;

Data2DToolbar->FrameActions[style=dotted color=magenta];

Data2DItem[label="Data2DItem\n< DataItem\n< QObject" style=filled fillcolor=beige];
Data2DItem->MasksSet;
Data2DItem->MasksQModel[style=dotted color=magenta];

MasksSet->MaskItem;

EllipseOverlay[style=filled fillcolor=gold];
EllipseOverlay->EllipseItem;
EllipseOverlay->IRectangularOverlay[arrowhead=onormal color=chocolate4];

IRectangularOverlay[label="IRectangularOverlay\n< IMaskOverlay" style=filled fillcolor=gold];
IRectangularOverlay->IOverlay[arrowhead=onormal color=chocolate4];

IOverlay[label="IOverlay\n< QGraphicsObject\n< QGraphicsItem" style=filled fillcolor=gold];
}