~ubuntu-branches/ubuntu/trusty/eclipse-linuxtools/trusty

« back to all changes in this revision

Viewing changes to lttng/org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/model/ITraceControlComponent.java

  • Committer: Package Import Robot
  • Author(s): Jakub Adam
  • Date: 2012-06-29 12:07:30 UTC
  • Revision ID: package-import@ubuntu.com-20120629120730-bfri1xys1i71dpn6
Tags: upstream-1.0.0
ImportĀ upstreamĀ versionĀ 1.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**********************************************************************
 
2
 * Copyright (c) 2012 Ericsson
 
3
 * 
 
4
 * All rights reserved. This program and the accompanying materials are
 
5
 * made available under the terms of the Eclipse Public License v1.0 which
 
6
 * accompanies this distribution, and is available at
 
7
 * http://www.eclipse.org/legal/epl-v10.html
 
8
 * 
 
9
 * Contributors: 
 
10
 *   Bernd Hufmann - Initial API and implementation
 
11
 **********************************************************************/
 
12
package org.eclipse.linuxtools.internal.lttng2.ui.views.control.model;
 
13
 
 
14
import java.util.List;
 
15
 
 
16
import org.eclipse.core.runtime.IAdaptable;
 
17
import org.eclipse.linuxtools.internal.lttng2.core.control.model.TargetNodeState;
 
18
import org.eclipse.linuxtools.internal.lttng2.ui.views.control.service.ILttngControlService;
 
19
import org.eclipse.swt.graphics.Image;
 
20
 
 
21
/**
 
22
 * <p>
 
23
 * Interface for trace control components that can be displayed in the 
 
24
 * trace control tree viewer. 
 
25
 * </p>
 
26
 * 
 
27
 * @author Bernd Hufmann
 
28
 */
 
29
public interface ITraceControlComponent extends IAdaptable {
 
30
 
 
31
    // ------------------------------------------------------------------------
 
32
    // Accessors
 
33
    // ------------------------------------------------------------------------
 
34
 
 
35
    /**
 
36
     * @return the name of the component
 
37
     */
 
38
    public String getName();
 
39
    /**
 
40
     * Sets the name of the component to the given value.
 
41
     * @param name - name to set
 
42
     */
 
43
    public void setName(String name);
 
44
 
 
45
    /**
 
46
     * @return the image representing the component.
 
47
     */
 
48
    public Image getImage();
 
49
    /**
 
50
     * Sets the image path of the component.
 
51
     * @param path - path to the image location
 
52
     */
 
53
    public void setImage(String path);
 
54
    /**
 
55
     * Sets the image the component.
 
56
     * @param image - image to the image location
 
57
     */
 
58
    public void setImage(Image image);
 
59
 
 
60
    /**
 
61
     * @return tool tip with information about the component.
 
62
     */
 
63
    public String getToolTip();
 
64
    /**
 
65
     * Sets the tool tip with information about the component.
 
66
     * @param toolTip - the tool tip to set.
 
67
     */
 
68
    public void setToolTip(String toolTip);
 
69
    
 
70
    /**
 
71
     * @return the node's connection state
 
72
     */
 
73
    public TargetNodeState getTargetNodeState();
 
74
    /**
 
75
     * Sets the node's connection state. 
 
76
     * @param state - the state to set
 
77
     */
 
78
    public void setTargetNodeState(TargetNodeState state);
 
79
    
 
80
    /**
 
81
     * @return returns the parent component.
 
82
     */
 
83
    public ITraceControlComponent getParent();
 
84
    /**
 
85
     * Sets the parent component.
 
86
     * @param parent - the parent to set.
 
87
     */
 
88
    public void setParent(ITraceControlComponent parent);
 
89
 
 
90
    /**
 
91
     * @return the children components
 
92
     */
 
93
    public ITraceControlComponent[] getChildren();
 
94
    /**
 
95
     * Sets the children components.
 
96
     * @param children - the children to set.
 
97
     */
 
98
    public void setChildren(List<ITraceControlComponent> children);
 
99
    /**
 
100
     * Returns the child component with given name.
 
101
     * @param name - name of child to find.
 
102
     * @return child component or null.
 
103
     */
 
104
    public ITraceControlComponent getChild(String name);
 
105
    /**
 
106
     * Gets children for given class type.
 
107
     * @param clazz - a class type to get
 
108
     * @return list of trace control components matching given class type. 
 
109
     */
 
110
    public List<ITraceControlComponent> getChildren(Class<? extends ITraceControlComponent> clazz);
 
111
 
 
112
    /**
 
113
     * @return the LTTng control service implementation.
 
114
     */
 
115
    public ILttngControlService getControlService();
 
116
 
 
117
    /**
 
118
     * Sets the LTTng control service implementation.
 
119
     * @param service - the service to set.
 
120
     */
 
121
    public void setControlService(ILttngControlService service); 
 
122
 
 
123
    // ------------------------------------------------------------------------
 
124
    // Operations
 
125
    // ------------------------------------------------------------------------
 
126
    /**
 
127
     * Dispose any resource.
 
128
     */
 
129
    public void dispose();
 
130
    
 
131
    /**
 
132
     * Adds a child component.
 
133
     * @param component - child to add.
 
134
     */
 
135
    public void addChild(ITraceControlComponent component);
 
136
    
 
137
    /**
 
138
     * Adds several components.
 
139
     * @param components - array of components to add.
 
140
     */
 
141
//    public void addChildren(ITraceControlComponent[] components);
 
142
    
 
143
    /**
 
144
     * Removes the given child component. 
 
145
     * @param component - the child to remove.
 
146
     */
 
147
    public void removeChild(ITraceControlComponent component);
 
148
    
 
149
    /**
 
150
     * Removes all children.
 
151
     */
 
152
    public void removeAllChildren();
 
153
    
 
154
    /**
 
155
     * Checks if child with given name exists.
 
156
     * @param name - child name to search for.
 
157
     * @return - true if exists else false.
 
158
     */
 
159
    public boolean containsChild(String name);
 
160
    
 
161
    /**
 
162
     * Checks for children. 
 
163
     * @return true if one or more children exist else false
 
164
     */
 
165
    public boolean hasChildren();
 
166
 
 
167
    /**
 
168
     * Adds a component listener for notification of component changes.
 
169
     * @param listener - listener interface implementation to add.
 
170
     */
 
171
    public void addComponentListener(ITraceControlComponentChangedListener listener);
 
172
    
 
173
    /**
 
174
     * Removes a component listener for notification of component changes.
 
175
     * @param listener - listener interface implementation to remove.
 
176
     */
 
177
    public void removeComponentListener(ITraceControlComponentChangedListener listener);
 
178
    
 
179
    /**
 
180
     * Notifies listeners about the addition of a child.
 
181
     * @param parent - the parent where the child was added.
 
182
     * @param component - the child that was added.
 
183
     */
 
184
    public void fireComponentAdded(ITraceControlComponent parent, ITraceControlComponent component);
 
185
    
 
186
    /**
 
187
     * Notifies listeners about the removal of a child.
 
188
     * @param parent - the parent where the child was removed.
 
189
     * @param component - the child that was removed.
 
190
     */
 
191
    public void fireComponentRemoved(ITraceControlComponent parent, ITraceControlComponent component);
 
192
    
 
193
    /**
 
194
     * Notifies listeners about the change of a component.
 
195
     * @param component - the component that was changed.
 
196
     */
 
197
    public void fireComponentChanged(ITraceControlComponent component);
 
198
}