code: def set_widgets(self):
          
          on_the_fly_metadata = {}
          layer_purpose = self.parent.step_kw_purpose.selected_purpose()
          on_the_fly_metadata['layer_purpose'] = layer_purpose['key']
          if layer_purpose != layer_purpose_aggregation:
              subcategory = self.parent.step_kw_subcategory.\
                  selected_subcategory()
              if layer_purpose == layer_purpose_exposure:
                  on_the_fly_metadata['exposure'] = subcategory['key']
              if layer_purpose == layer_purpose_hazard:
                  on_the_fly_metadata['hazard'] = subcategory['key']
          inasafe_fields = self.parent.get_existing_keyword(
              'inasafe_fields')
          inasafe_default_values = self.parent.get_existing_keyword(
              'inasafe_default_values')
          on_the_fly_metadata['inasafe_fields'] = inasafe_fields
          on_the_fly_metadata['inasafe_default_values'] = inasafe_default_values
          self.field_mapping_widget.set_layer(
              self.parent.layer, on_the_fly_metadata)
          self.field_mapping_widget.show()
          self.main_layout.addWidget(self.field_mapping_widget)
docs: Set widgets on the Field Mapping step.