# Detail Pane Factories Extension

###### Identifier:

org.eclipse.debug.ui.detailPaneFactories

###### Since:

3.3

###### Description:

This extension point allows clients to contribute custom renderings for the detail pane in the variables, registers, expressions, and breakpoints views (note that support for breakpoint view detail panes was added in 3.6). To contribute a custom detail pane, an implementation of `IDetailPaneFactory` is registered using this extension point. A detail pane factory creates an `IDetailPane` for each custom rendering (note that optional extensions have been added to detail panes via `IDetailPane2` and `IDetailPane3`).

Views with detail panes allow users select from available detail panes via the context menu. All contributions to this extension point are checked agaist the current selection. A detail factory should provide an enablement expression to ensure lazy plug-in loading. A factory will only be instantiated if its expression evaluates to true for the current selection (see the example extension point for an example enablement expression). Each applicable factory is then consulted for the types of detail panes it can produce for the current selection.

###### Configuration Markup:

<!ELEMENT extension (detailFactories)+>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - a fully qualified identifier of the target extension point
- id - an optional identifier of the extension instance
- name - an optional name of the extension instance

<!ELEMENT detailFactories (enablement?)>

<!ATTLIST detailFactories

id CDATA #REQUIRED

class CDATA #REQUIRED>

- id - specifies a unique identifier for this factory
- class - fully qualified name of a class that implements `org.eclipse.debug.ui.IDetailPaneFactory`

###### Examples:

Following in an example of a detail pane factory extension with an expression that enables for selections containing exactly two Java variables:

    <extension point="org.eclipse.debug.ui.detailPaneFactories">
           <detailFactories
                 class="org.eclipse.temp.JavaTableDetailPaneFactory"
                 name="javaTableDetailPaneFactory">
              <enablement>
              <with
                    variable="selection">
                 <count
                       value="2">
                 </count>
                 <iterate>
                    <instanceof
                          value="org.eclipse.jdt.debug.core.IJavaVariable">
                    </instanceof>
                 </iterate>
              </with>
           </enablement>
           </detailFactories>
    </extension>

###### API Information:

Value of the attribute class must be a fully qualified name of a Java class that implements the interface org.eclipse.debug.ui.IDetailPaneFactory.

###### Supplied Implementation:

The debug platform contributes a detail pane factory providing a default text source viewer detail pane. The default detail pane displays textual details of a selected element based on the corresponding debug model presentation's implementation of `computeDetail(IValue value, IValueDetailListener listener)`.

Copyright (c) 2000, 2010 IBM Corporation and others.
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-v20.html/ SPDX-License-Identifier: EPL-2.0