Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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')
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 def remove_material(self):
     ImageManager.get().unsubscribe(self, self.material.parent.parent)
     self.handler.on_material_remove(self.material)
     self.setParent(None)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 def del_widget(self):
     self.tex0.unregister(self)
     ImageManager.get().unsubscribe(self, self.tex0.parent)
     self.setParent(None)