Example #1
0
 def load_model_file(self, widget=None, filename=None, store_filename=True):
     if callable(filename):
         filename = filename()
     if not filename:
         filename = self.settings.get("get_filename_func")(
             "Loading model ...", mode_load=True, type_filter=FILTER_MODEL)
     if filename:
         file_type, importer = pycam.Importers.detect_file_type(filename)
         if file_type and callable(importer):
             progress = self.settings.get("progress")
             progress.update(text="Loading model ...")
             # "cancel" is not allowed
             progress.disable_cancel()
             if self.load_model(
                     importer(filename,
                              program_locations=get_all_program_locations(
                                  self.settings),
                              unit=self.settings.get("unit"),
                              fonts_cache=self.settings.get("fonts"),
                              callback=progress.update)):
                 if store_filename:
                     self.set_model_filename(filename)
                 self.add_to_recent_file_list(filename)
                 result = True
             else:
                 result = False
             progress.finish()
             return result
         else:
             log.error("Failed to detect filetype!")
             return False
Example #2
0
 def load_model_file(self, widget=None, filename=None, store_filename=True):
     if callable(filename):
         filename = filename()
     if not filename:
         filename = self.settings.get("get_filename_func")("Loading model ...",
                 mode_load=True, type_filter=FILTER_MODEL)
     if filename:
         file_type, importer = pycam.Importers.detect_file_type(filename)
         if file_type and callable(importer):
             progress = self.settings.get("progress")
             progress.update(text="Loading model ...")
             # "cancel" is not allowed
             progress.disable_cancel()
             if self.load_model(importer(filename,
                     program_locations=get_all_program_locations(self.settings),
                     unit=self.settings.get("unit"),
                     fonts_cache=self.settings.get("fonts"),
                     callback=progress.update)):
                 if store_filename:
                     self.set_model_filename(filename)
                 self.add_to_recent_file_list(filename)
                 result = True
             else:
                 result = False
             progress.finish()
             return result
         else:
             log.error("Failed to detect filetype!")
             return False
Example #3
0
 def paste_model_from_clipboard(self, widget=None):
     data, importer = self._get_data_and_importer_from_clipboard()
     progress = self.core.get("progress")
     if data:
         progress.update(text="Loading model from clipboard")
         text_buffer = StringIO.StringIO(data.data)
         model = importer(text_buffer,
                 program_locations=get_all_program_locations(self.core),
                 unit=self.core.get("unit"),
                 fonts_cache=self.core.get("fonts"),
                 callback=progress.update)
         if model:
             models = self.core.get("models")
             self.log.info("Loaded a model from clipboard")
             models.add_model(model, name_template="Pasted model #%d")
         else:
             self.log.warn("Failed to load a model from clipboard")
     else:
         self.log.warn("The clipboard does not contain suitable data")
     progress.finish()
Example #4
0
 def paste_model_from_clipboard(self, widget=None):
     data, importer = self._get_data_and_importer_from_clipboard()
     progress = self.core.get("progress")
     if data:
         progress.update(text="Loading model from clipboard")
         text_buffer = StringIO.StringIO(data.data)
         model = importer(text_buffer,
                          program_locations=get_all_program_locations(
                              self.core),
                          unit=self.core.get("unit"),
                          fonts_cache=self.core.get("fonts"),
                          callback=progress.update)
         if model:
             models = self.core.get("models")
             self.log.info("Loaded a model from clipboard")
             models.add_model(model, name_template="Pasted model #%d")
         else:
             self.log.warn("Failed to load a model from clipboard")
     else:
         self.log.warn("The clipboard does not contain suitable data")
     progress.finish()