code: def progress_callback(self, current_value, maximum_value, message=None):
          
          report = m.Message()
          report.add(LOGO_ELEMENT)
          report.add(m.Heading(
              tr('Analysis status'), **INFO_STYLE))
          if message is not None:
              report.add(m.ImportantText(message['name']))
              report.add(m.Paragraph(message['description']))
          report.add(self.impact_function.performance_log_message())
          send_static_message(self, report)
          self.progress_bar.setMaximum(maximum_value)
          self.progress_bar.setValue(current_value)
          QgsApplication.processEvents()
docs: GUI based callback implementation for showing progress.
  
          :param current_value: Current progress.
          :type current_value: int
  
          :param maximum_value: Maximum range (point at which task is complete.
          :type maximum_value: int
  
          :param message: Optional message dictionary to containing content
              we can display to the user. See safe.definitions.analysis_steps
              for an example of the expected format
          :type message: dict