def dclick_extension_point(self, obj):

        # Find the plugin that offered the extension point.
        plugin = self._get_plugin(obj)

        # Parse the plugin source code.
        module = self._parse_plugin(plugin)

        # Get the plugin klass.
        klass = self._get_plugin_klass(module, plugin)

        # Edit the plugin.
        editor = self.workbench.edit(
            self._get_file_object(plugin), kind=TextEditor
        )

        # Was the extension point offered declaratively via a trait?
        trait_name = self._get_extension_point_trait(plugin, obj.id)
        if trait_name is not None:
            attribute = klass.attributes.get(trait_name)
            lineno    = attribute.lineno

        else:
            lineno = klass.lineno

        editor.select_line(lineno)

        return
Returns the ids of items in the given row `ElementTree`.
dataset/ETHPy150Open enthought/envisage/envisage/developer/ui/view/extension_registry_browser.py/ExtensionRegistryBrowser.dclick_extension_point--crossover with--dataset/ETHPy150Open quip/quip-api/python/quip.py/QuipClient.get_row_ids