/******************************************************************************* * Copyright (c) 2008, 2012 QNX Software Systems and others. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * QNX Software Systems - Initial API and implementation * QNX Software Systems - catchpoints - bug 226689 *******************************************************************************/ package org.eclipse.cdt.debug.ui.breakpoints; import java.util.Map; import org.eclipse.jface.preference.FieldEditor; import org.eclipse.swt.widgets.Composite; /** * Interface representing a contributed UI element for breakpoint properties * dialogs. * * @noimplement This interface is not intended to be implemented by clients. * @noextend This interface is not intended to be extended by clients. */ public interface ICBreakpointsUIContribution { /** * Main element name of breakpoint labels extension element. * @since 7.2 */ public static final String BREAKPOINT_LABELS = "breakpointLabels"; //$NON-NLS-1$ /** * Main element name of breakpoint editors extension element. * @since 7.2 */ public static final String BREAKPOINT_EDITORS = "breakpointEditors"; //$NON-NLS-1$ /** * Attribute id * @return */ public String getId(); /** * Extenralizable label for this attribute id * @return */ public String getLabel(); /** * Creates FieldEditor for given attribute or null if not needed * @param name - property name, must be the same as breakpoint attribute * @param labelText - text usually in front of field * @param parent - parent composite * @return ready to use FieldEditor */ public FieldEditor getFieldEditor(String name, String labelText, Composite parent); /** * Returns the element name under which this attribute was added. The value should either be * "breakpointLabels" or "breakpointEditors". * @return Main element name. * @since 7.2 */ public String getMainElement(); /** * Get raw field editor class name * @return class name */ public String getFieldEditorClassName(); /** * Return list of possible values that attributes can take, of null of no restrictions * @return */ public String[] getPossibleValues(); /** * Get label for given attribute value, externalizable string * @param value * @return */ public String getLabelForValue(String value); /** * Get type of the attribute * @return */ public String getType(); /** * Get marker type for which this attribute is created * @return */ public String getMarkerType(); /** * Get debug model id * @return */ public String getDebugModelId(); /** * Return true if setting for an attribute applicable for setting of other attributes provided by the map * @param map - contains pairs of attribute=value for other breakpoint attributes * @return */ public boolean isApplicable(Map<String, Object> map); }