code: def show_extent_selector(self):
          
          # import here only so that it is AFTER i18n set up
          from safe.gui.tools.extent_selector_dialog import ExtentSelectorDialog
          widget = ExtentSelectorDialog(
              self.iface,
              self.iface.mainWindow(),
              extent=self.dock_widget.extent.user_extent,
              crs=self.dock_widget.extent.crs)
          widget.clear_extent.connect(
              self.dock_widget.extent.clear_user_analysis_extent)
          widget.extent_defined.connect(
              self.dock_widget.define_user_analysis_extent)
          # This ensures that run button state is updated on dialog close
          widget.extent_selector_closed.connect(
              self.dock_widget.validate_impact_function)
          # Needs to be non modal to support hide -> interact with map -> show
          widget.show()
docs: Show the extent selector widget for defining analysis extents.