def __init__(self, parent, tex0): self.name = tex0.name self.handler = parent super().__init__(self.name, parent) self.tex0 = None self.set_tex0(tex0) self.setAcceptDrops(True) ImageManager.get().subscribe(self, tex0.parent)
def set_material(self, material, brres_path=None): if self.material is not None: ImageManager.get().unsubscribe(self, self.material.parent.parent) self.material.unregister(self) self.material = material if brres_path is None: self.brres_path = BrresPath(material=material) else: self.brres_path = brres_path if material is not None: self.setToolTip(self.brres_path.get_path()) self.text_label.setText(material.name) self.img_label.setPixmap(QPixmap(None)) self.material.register_observer(self) ImageManager.get().subscribe(self, material.parent.parent, material.get_first_layer_name()) else: self.text_label.setText('Null') self.setToolTip('Null')
def __init_threads(self): AutoFix.get().info('Starting threads...', 5) self.threadpool = QThreadPool() # for multi-threading self.threadpool.setMaxThreadCount(5) self.converter = converter = ConvertManager.get() converter.signals.on_conversion_finish.connect( self.on_conversion_finish) self.image_manager = image_manager = ImageManager.get() if image_manager.enabled: image_manager.signals.on_image_update.connect(self.on_image_update) self.threadpool.start(image_manager) else: AutoFix.get().warn( 'Image Manager disabled, do you have Wiimms SZS Tools installed?' ) self.threadpool.start(converter) log_pipe = LoggerPipe() log_pipe.info_sig.connect(self.info) log_pipe.warn_sig.connect(self.warn) log_pipe.error_sig.connect(self.error)
def remove_material(self): ImageManager.get().unsubscribe(self, self.material.parent.parent) self.handler.on_material_remove(self.material) self.setParent(None)
def on_child_update(self, child): name = self.material.get_first_layer_name() if name != self.layer_name: self.__update_image(ImageManager.get().get_image_dir(self.material.getBrres()), name)
def del_widget(self): self.tex0.unregister(self) ImageManager.get().unsubscribe(self, self.tex0.parent) self.setParent(None)