def __init__(self): super().__init__() self.photo_path = None self.image_buffer = None self.photo = Mx.Image() self.photo.set_scale_mode(Mx.ImageScaleMode.FIT) self.add_child(self.photo)
def _init_elements(self): self.preview = Mx.Image() self.preview.set_allow_upscale(True) self.box.add_child(self.preview) self.label = Mx.Label() self.label.set_style_class("PisakPhotoTileLabel") self.box.add_child(self.label)
def with_target(self, value): self._with_target = value if value and self._face is None: self._face = Mx.Image() self._face.set_from_file(self.FACE_PATH) self._face.set_scale_mode(Mx.ImageScaleMode.FIT) self._face.hide() self.get_parent().add_child(self._face)
def custom_content(self): self.set_icon_visible(False) self.box = Box() original_box = self.get_children()[0] self.clutter_text = original_box.get_children()[1] self.clutter_text.set_property("ellipsize", 0) text_content = self.clutter_text.get_text() if text_content.strip() == '': original_box.set_layout_manager(Clutter.BinLayout()) original_box.add_actor(self.box, 1) else: original_box.add_actor(self.box, 1) self.space = Clutter.Actor() self.box.add_child(self.space) self.image = Mx.Image() self.image.set_scale_mode(1) self.box.add_child(self.image)
def _init_icon(self): self.icon = Mx.Image() self.add_actor(self.icon)