Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: a21489d4fe894d404d197764e537b2d329f10103 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*******************************************************************************
 * 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);
}

Back to the top