Source code for ironflow.gui.boxes.node_interface.base

# coding: utf-8
# Copyright (c) Max-Planck-Institut für Eisenforschung GmbH - Computational Materials Design (CM) Department
# Distributed under the terms of "New BSD License", see the LICENSE file.
"""
Shared code among representations of node data.
"""

from __future__ import annotations

from abc import ABC, abstractmethod

import ipywidgets as widgets

from ironflow.gui.boxes.base import Box


[docs]class NodeInterfaceBase(Box, ABC): box_class = widgets.Box def __init__(self): super().__init__() self.output = widgets.Output(layout={"width": "100%"}) self.box.children = [self.output] @property def layout(self) -> widgets.Layout: return widgets.Layout( width="50%", border="1px solid black", )
[docs] @abstractmethod def draw(self) -> None: pass
[docs] def clear_output(self) -> None: self.output.clear_output()