code: def set_widgets(self):
          
  
          current_keywords = self.parent.get_keywords()
          current_keywords[inasafe_keyword_version_key] = inasafe_keyword_version
  
          header_path = resources_path('header.html')
          footer_path = resources_path('footer.html')
          header_file = open(header_path)
          footer_file = open(footer_path)
          header = header_file.read()
          footer = footer_file.read()
          header_file.close()
          footer_file.close()
          header = header.replace('PATH', resources_path())
  
          # TODO: Clone the dict inside keyword_io.to_message rather then here.
          #       It pops the dict elements damaging the function parameter
          body = self.parent.keyword_io.to_message(dict(current_keywords)).\
              to_html()
          # remove the branding div
          body = re.sub(
              r'^.*div class="branding".*$', '', body, flags=re.MULTILINE)
  
          if self.parent.parent_step:
              # It's the KW mode embedded in IFCW mode,
              # so check if the layer is compatible
              if not self.parent.is_layer_compatible(
                      self.parent.layer, None, current_keywords):
                  msg = self.tr(
                      'The selected keywords don\'t match requirements of the '
                      'selected combination for the impact function. You can '
                      'continue with registering the layer, however, you\'ll '
                      'need to choose another layer for that function.')
                  body = '<br/><h5 class="problem">%s</h5> %s' % (msg, body)
  
          html = header + body + footer
          self.wvKwSummary.setHtml(html)
docs: Set widgets on the Keywords Summary tab.