class PrintableData: margins = Margins() def __init__(self, margins: Margins = None): if margins is None: margins = Margins() self.margins = margins def clone(self): raise NotImplementedError def set_from(self, source): self.margins = source.margins.clone()
def margins(self) -> Margins: if len(self.boxes) < 4: return Margins() return Margins(self.boxes[0].value(), self.boxes[1].value(), self.boxes[2].value(), self.boxes[3].value())
def __init__(self, margins: Margins = None): if margins is None: margins = Margins() self.margins = margins
def __init__(self, width=10): super().__init__(Margins()) self.width = width