tmf: Simple warning fixes in tmf.core and tests
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / colors / ColorsView.java
1 /*******************************************************************************
2 * Copyright (c) 2010, 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 * Patrick Tasse - Initial API and implementation
11 * Bernd Hufmann - Updated to use RGB for the tick color
12 *******************************************************************************/
13
14 package org.eclipse.linuxtools.tmf.ui.views.colors;
15
16 import java.util.ArrayList;
17 import java.util.Arrays;
18 import java.util.List;
19
20 import org.eclipse.jface.action.Action;
21 import org.eclipse.jface.action.IToolBarManager;
22 import org.eclipse.jface.action.Separator;
23 import org.eclipse.jface.dialogs.Dialog;
24 import org.eclipse.jface.dialogs.MessageDialog;
25 import org.eclipse.jface.resource.ImageDescriptor;
26 import org.eclipse.linuxtools.internal.tmf.ui.Activator;
27 import org.eclipse.linuxtools.internal.tmf.ui.Messages;
28 import org.eclipse.linuxtools.tmf.ui.views.TmfView;
29 import org.eclipse.linuxtools.tmf.ui.views.filter.FilterDialog;
30 import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.widgets.TimeGraphColorScheme;
31 import org.eclipse.swt.SWT;
32 import org.eclipse.swt.custom.ScrolledComposite;
33 import org.eclipse.swt.events.MouseAdapter;
34 import org.eclipse.swt.events.MouseEvent;
35 import org.eclipse.swt.events.MouseListener;
36 import org.eclipse.swt.events.PaintEvent;
37 import org.eclipse.swt.events.PaintListener;
38 import org.eclipse.swt.events.SelectionAdapter;
39 import org.eclipse.swt.events.SelectionEvent;
40 import org.eclipse.swt.graphics.Color;
41 import org.eclipse.swt.graphics.GC;
42 import org.eclipse.swt.graphics.Image;
43 import org.eclipse.swt.graphics.Point;
44 import org.eclipse.swt.graphics.Rectangle;
45 import org.eclipse.swt.layout.GridData;
46 import org.eclipse.swt.layout.GridLayout;
47 import org.eclipse.swt.widgets.Button;
48 import org.eclipse.swt.widgets.Canvas;
49 import org.eclipse.swt.widgets.ColorDialog;
50 import org.eclipse.swt.widgets.Composite;
51 import org.eclipse.swt.widgets.Control;
52 import org.eclipse.swt.widgets.Display;
53 import org.eclipse.swt.widgets.FileDialog;
54 import org.eclipse.swt.widgets.Label;
55 import org.eclipse.swt.widgets.Shell;
56 import org.eclipse.ui.IActionBars;
57
58 /**
59 * Color view implementation. This view provides support for managing color settings for filters.
60 *
61 * @version 1.0
62 * @author Patrick Tasse
63 *
64 */
65 public class ColorsView extends TmfView {
66
67 /** ID for the color view */
68 public static final String ID = "org.eclipse.linuxtools.tmf.ui.views.colors"; //$NON-NLS-1$
69
70 private static final Image ADD_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/add_button.gif"); //$NON-NLS-1$
71 private static final Image DELETE_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/delete_button.gif"); //$NON-NLS-1$
72 private static final Image MOVE_UP_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/moveup_button.gif"); //$NON-NLS-1$
73 private static final Image MOVE_DOWN_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/movedown_button.gif"); //$NON-NLS-1$
74 private static final Image IMPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/import_button.gif"); //$NON-NLS-1$
75 private static final Image EXPORT_IMAGE = Activator.getDefault().getImageFromPath("/icons/elcl16/export_button.gif"); //$NON-NLS-1$
76
77 // ------------------------------------------------------------------------
78 // Main data structures
79 // ------------------------------------------------------------------------
80
81 /**
82 * The composite shell.
83 */
84 protected Shell fShell;
85 /**
86 * The main composite (scrolled composite)
87 */
88 protected ScrolledComposite fScrolledComposite;
89 /**
90 * The list composite.
91 */
92 protected Composite fListComposite;
93 /**
94 * The filler composite.
95 */
96 protected Composite fFillerComposite;
97 /**
98 * The selected color settings row
99 */
100 protected ColorSettingRow fSelectedRow = null;
101 /**
102 * The color scheme instance for managing colors
103 */
104 protected TimeGraphColorScheme traceColorScheme = new TimeGraphColorScheme();
105 /**
106 * An action to add a color settings row
107 */
108 protected Action fAddAction;
109 /**
110 * An action to delete a color settings row
111 */
112 protected Action fDeleteAction;
113 /**
114 * An action to move up a color settings row in the list.
115 */
116 protected Action fMoveUpAction;
117 /**
118 * An action to move down a color settings row in the list.
119 */
120 protected Action fMoveDownAction;
121 /**
122 * An action to import color settings from file.
123 */
124 protected Action fImportAction;
125 /**
126 * An action to export color settings from file.
127 */
128 protected Action fExportAction;
129 /**
130 * The list of existing color settings
131 */
132 protected List<ColorSetting> fColorSettings;
133
134 // ------------------------------------------------------------------------
135 // Constructor
136 // ------------------------------------------------------------------------
137
138 /**
139 * Default Constructor
140 */
141 public ColorsView() {
142 super("Colors"); //$NON-NLS-1$
143 }
144
145 /* (non-Javadoc)
146 * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(Composite)
147 */
148 @Override
149 public void createPartControl(Composite parent) {
150 fShell = parent.getShell();
151
152 fScrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);
153 fScrolledComposite.setExpandHorizontal(true);
154 fScrolledComposite.setExpandVertical(true);
155 fListComposite = new Composite(fScrolledComposite, SWT.NONE);
156 fScrolledComposite.setContent(fListComposite);
157
158 GridLayout gl = new GridLayout();
159 gl.marginHeight = 0;
160 gl.marginWidth = 0;
161 gl.verticalSpacing = 1;
162 fListComposite.setLayout(gl);
163
164 fColorSettings = new ArrayList<ColorSetting>(Arrays.asList(ColorSettingsManager.getColorSettings()));
165 for (ColorSetting colorSetting : fColorSettings) {
166 new ColorSettingRow(fListComposite, colorSetting);
167 }
168
169 fFillerComposite = new Composite(fListComposite, SWT.NONE);
170 GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
171 gd.heightHint = 0;
172 fFillerComposite.setLayoutData(gd);
173 gl = new GridLayout();
174 gl.marginHeight = 1;
175 gl.marginWidth = 1;
176 fFillerComposite.setLayout(gl);
177 Label fillerLabel = new Label(fFillerComposite, SWT.NONE);
178 fillerLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
179 fillerLabel.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
180
181 fFillerComposite.addPaintListener(new PaintListener() {
182 @Override
183 public void paintControl(PaintEvent e) {
184 if (fSelectedRow == null) {
185 Color lineColor = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
186 Point p = fFillerComposite.getSize();
187 GC gc = e.gc;
188 gc.setForeground(lineColor);
189 gc.drawLine(0, 0, p.x - 1, 0);
190 }
191 }
192 });
193
194 MouseListener mouseListener = new MouseAdapter() {
195 @Override
196 public void mouseDown(MouseEvent e) {
197 fSelectedRow = null;
198 refresh();
199 }
200 };
201 fillerLabel.addMouseListener(mouseListener);
202
203 fScrolledComposite.setMinSize(fListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
204
205 fillToolBar();
206 }
207
208 /* (non-Javadoc)
209 * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
210 */
211 @Override
212 public void setFocus() {
213 fScrolledComposite.setFocus();
214 }
215
216 /**
217 * Refreshes the view display and updates the view actions enablements.
218 */
219 public void refresh() {
220 fListComposite.layout();
221 fScrolledComposite.setMinSize(fListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
222 fListComposite.redraw(0, 0, fListComposite.getBounds().width, fListComposite.getBounds().height, true);
223 if (fSelectedRow == null) {
224 fDeleteAction.setEnabled(false);
225 fMoveUpAction.setEnabled(false);
226 fMoveDownAction.setEnabled(false);
227 } else {
228 fDeleteAction.setEnabled(true);
229 fMoveUpAction.setEnabled(true);
230 fMoveDownAction.setEnabled(true);
231 }
232 }
233
234 private void fillToolBar() {
235
236 fAddAction = new AddAction();
237 fAddAction.setImageDescriptor(ImageDescriptor.createFromImage(ADD_IMAGE));
238 fAddAction.setToolTipText(Messages.ColorsView_AddActionToolTipText);
239
240 fDeleteAction = new DeleteAction();
241 fDeleteAction.setImageDescriptor(ImageDescriptor.createFromImage(DELETE_IMAGE));
242 fDeleteAction.setToolTipText(Messages.ColorsView_DeleteActionToolTipText);
243 fDeleteAction.setEnabled(false);
244
245 fMoveUpAction = new MoveUpAction();
246 fMoveUpAction.setImageDescriptor(ImageDescriptor.createFromImage(MOVE_UP_IMAGE));
247 fMoveUpAction.setToolTipText(Messages.ColorsView_MoveUpActionToolTipText);
248 fMoveUpAction.setEnabled(false);
249
250 fMoveDownAction = new MoveDownAction();
251 fMoveDownAction.setImageDescriptor(ImageDescriptor.createFromImage(MOVE_DOWN_IMAGE));
252 fMoveDownAction.setToolTipText(Messages.ColorsView_MoveDownActionToolTipText);
253 fMoveDownAction.setEnabled(false);
254
255 fExportAction = new ExportAction();
256 fExportAction.setImageDescriptor(ImageDescriptor.createFromImage(EXPORT_IMAGE));
257 fExportAction.setToolTipText(Messages.ColorsView_ExportActionToolTipText);
258
259 fImportAction = new ImportAction();
260 fImportAction.setImageDescriptor(ImageDescriptor.createFromImage(IMPORT_IMAGE));
261 fImportAction.setToolTipText(Messages.ColorsView_ImportActionToolTipText);
262
263 IActionBars bars = getViewSite().getActionBars();
264 IToolBarManager manager = bars.getToolBarManager();
265 manager.add(fAddAction);
266 manager.add(fDeleteAction);
267 manager.add(fMoveUpAction);
268 manager.add(fMoveDownAction);
269 manager.add(new Separator());
270 manager.add(fExportAction);
271 manager.add(fImportAction);
272 }
273
274 private class AddAction extends Action {
275 @Override
276 public void run() {
277 ColorSetting colorSetting = new ColorSetting(
278 Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
279 Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND).getRGB(),
280 Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND).getRGB(),
281 null);
282 ColorSettingRow row = new ColorSettingRow(fListComposite, colorSetting);
283 if (fSelectedRow == null) {
284 fColorSettings.add(colorSetting);
285 row.moveAbove(fFillerComposite);
286 } else {
287 fColorSettings.add(fColorSettings.indexOf(fSelectedRow.getColorSetting()), colorSetting);
288 row.moveAbove(fSelectedRow);
289 }
290 fSelectedRow = row;
291 refresh();
292 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
293 }
294 }
295
296 private class DeleteAction extends Action {
297
298 @Override
299 public void run() {
300 if (fSelectedRow != null) {
301 int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
302 fColorSettings.remove(index);
303 fSelectedRow.fColorSetting.dispose();
304 fSelectedRow.dispose();
305 if (index < fColorSettings.size()) {
306 fSelectedRow = (ColorSettingRow) fListComposite.getChildren()[index];
307 } else {
308 fSelectedRow = null;
309 }
310 refresh();
311 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
312 }
313 }
314 }
315
316 private class MoveUpAction extends Action {
317 @Override
318 public void run() {
319 if (fSelectedRow != null) {
320 int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
321 if (index > 0) {
322 fColorSettings.add(index - 1, fColorSettings.remove(index));
323 fSelectedRow.moveAbove(fListComposite.getChildren()[index - 1]);
324 refresh();
325 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
326 }
327 }
328 }
329 }
330
331 private class MoveDownAction extends Action {
332 @Override
333 public void run() {
334 if (fSelectedRow != null) {
335 int index = fColorSettings.indexOf(fSelectedRow.getColorSetting());
336 if (index < fColorSettings.size() - 1) {
337 fColorSettings.add(index + 1, fColorSettings.remove(index));
338
339 fSelectedRow.moveBelow(fListComposite.getChildren()[index + 1]);
340 refresh();
341 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
342 }
343 }
344 }
345 }
346
347 private class ExportAction extends Action {
348 @Override
349 public void run() {
350 FileDialog fileDialog = new FileDialog(fShell, SWT.SAVE);
351 fileDialog.setFilterExtensions(new String[] {"*.xml"}); //$NON-NLS-1$
352 fileDialog.setOverwrite(true);
353 String pathName = fileDialog.open();
354 if (pathName != null) {
355 ColorSettingsXML.save(pathName, fColorSettings.toArray(new ColorSetting[0]));
356 }
357 }
358 }
359
360 private class ImportAction extends Action {
361 @Override
362 public void run() {
363 FileDialog fileDialog = new FileDialog(fShell, SWT.OPEN);
364 fileDialog.setFilterExtensions(new String[] {"*.xml"}); //$NON-NLS-1$
365 String pathName = fileDialog.open();
366 if (pathName != null) {
367 ColorSetting[] colorSettings = ColorSettingsXML.load(pathName);
368 if (colorSettings.length > 0) {
369 if (fColorSettings.size() > 0) {
370 boolean overwrite = MessageDialog.openQuestion(fShell,
371 Messages.ColorsView_ImportOverwriteDialogTitle,
372 Messages.ColorsView_ImportOverwriteDialogMessage1 +
373 Messages.ColorsView_ImportOverwriteDialogMessage2);
374 if (overwrite) {
375 for (Control control : fListComposite.getChildren()) {
376 if (control instanceof ColorSettingRow) {
377 ((ColorSettingRow) control).fColorSetting.dispose();
378 control.dispose();
379 }
380 }
381 fColorSettings = new ArrayList<ColorSetting>();
382 fSelectedRow = null;
383 }
384 }
385 for (ColorSetting colorSetting : colorSettings) {
386 ColorSettingRow row = new ColorSettingRow(fListComposite, colorSetting);
387 if (fSelectedRow == null) {
388 fColorSettings.add(colorSetting);
389 row.moveAbove(fFillerComposite);
390 } else {
391 fColorSettings.add(fColorSettings.indexOf(fSelectedRow.getColorSetting()), colorSetting);
392 row.moveAbove(fSelectedRow);
393 }
394 }
395 refresh();
396 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
397 }
398 }
399 }
400 }
401
402 private class ColorSettingRow extends Composite {
403
404 ColorSetting fColorSetting;
405
406 public ColorSettingRow(final Composite parent, final ColorSetting colorSetting) {
407 super(parent, SWT.NONE);
408 fColorSetting = colorSetting;
409
410 setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
411
412 setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
413 GridLayout gl = new GridLayout(7, false);
414 gl.marginHeight = 1;
415 gl.marginWidth = 1;
416 gl.horizontalSpacing = 1;
417 gl.verticalSpacing = 0;
418 setLayout(gl);
419
420 final Button fgButton = new Button(this, SWT.PUSH);
421 fgButton.setText(Messages.ColorsView_ForegroundButtonText);
422 fgButton.setSize(fgButton.computeSize(SWT.DEFAULT, 19));
423 fgButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
424
425 final Button bgButton = new Button(this, SWT.PUSH);
426 bgButton.setText(Messages.ColorsView_BackgroundButtonText);
427 bgButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
428
429 final Composite labelComposite = new Composite(this, SWT.NONE);
430 labelComposite.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, false, false));
431 gl = new GridLayout();
432 gl.marginHeight = 0;
433 gl.marginWidth = 0;
434 labelComposite.setLayout(gl);
435 labelComposite.setBackground(colorSetting.getBackgroundColor());
436
437 final Label label = new Label(labelComposite, SWT.NONE);
438 label.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, true));
439 label.setText(" Text "); //$NON-NLS-1$
440 label.setForeground(colorSetting.getForegroundColor());
441 label.setBackground(colorSetting.getBackgroundColor());
442
443 fgButton.addSelectionListener(new SelectionAdapter() {
444 @Override
445 public void widgetSelected(SelectionEvent e) {
446 fSelectedRow = ColorSettingRow.this;
447 refresh();
448 ColorDialog dialog = new ColorDialog(fShell);
449 dialog.setRGB(colorSetting.getForegroundRGB());
450 dialog.setText(Messages.ColorsView_ForegroundDialogText);
451 dialog.open();
452 colorSetting.setForegroundRGB(dialog.getRGB());
453 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
454 label.setForeground(colorSetting.getForegroundColor());
455 }});
456
457 bgButton.addSelectionListener(new SelectionAdapter() {
458 @Override
459 public void widgetSelected(SelectionEvent e) {
460 fSelectedRow = ColorSettingRow.this;
461 refresh();
462 ColorDialog dialog = new ColorDialog(fShell);
463 dialog.setRGB(colorSetting.getBackgroundRGB());
464 dialog.setText(Messages.ColorsView_BackgroundDialogText);
465 dialog.open();
466 colorSetting.setBackgroundRGB(dialog.getRGB());
467 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
468 labelComposite.setBackground(colorSetting.getBackgroundColor());
469 label.setBackground(colorSetting.getBackgroundColor());
470 }});
471
472 final Button tickButton = new Button(this, SWT.PUSH);
473 tickButton.setText(Messages.ColorsView_TickButtonText);
474 tickButton.setSize(tickButton.computeSize(SWT.DEFAULT, 19));
475 tickButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
476
477 final Canvas tickCanvas = new Canvas(this, SWT.NONE);
478 GridData gd = new GridData(SWT.CENTER, SWT.FILL, false, false);
479 gd.widthHint = 12;
480 gd.heightHint = bgButton.getSize().y;
481 tickCanvas.setLayoutData(gd);
482 tickCanvas.setBackground(traceColorScheme.getBkColor(false, false, false));
483 tickCanvas.addPaintListener(new PaintListener() {
484 @Override
485 public void paintControl(PaintEvent e) {
486 Rectangle bounds = tickCanvas.getBounds();
487 e.gc.setForeground(traceColorScheme.getColor(TimeGraphColorScheme.MID_LINE));
488 int midy = bounds.y + bounds.height / 2 - 1;
489 //int midy = e.y + e.height / 2;
490 e.gc.drawLine(e.x, midy, e.x + e.width, midy);
491 Rectangle rect = new Rectangle(e.x + 1, bounds.y + 2, 0, bounds.height - 6);
492 for (int i = 1; i <= 3; i++) {
493 rect.x += i;
494 rect.width = i;
495 e.gc.setBackground(fColorSetting.getTickColor());
496 e.gc.fillRectangle(rect);
497 }
498 }});
499
500 tickButton.addSelectionListener(new SelectionAdapter() {
501 @Override
502 public void widgetSelected(SelectionEvent e) {
503 fSelectedRow = ColorSettingRow.this;
504 ColorDialog dialog = new ColorDialog(fShell);
505 dialog.setRGB(colorSetting.getTickColorRGB());
506 dialog.setText(Messages.TickColorDialog_TickColorDialogTitle);
507 dialog.open();
508 colorSetting.setTickColorRGB(dialog.getRGB());
509 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
510 refresh();
511 }});
512
513 final Button filterButton = new Button(this, SWT.PUSH);
514 filterButton.setText(Messages.ColorsView_FilterButtonText);
515 filterButton.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
516
517 final Label filterText = new Label(this, SWT.NONE);
518 if (colorSetting.getFilter() != null) {
519 filterText.setText(colorSetting.getFilter().toString());
520 filterText.setToolTipText(colorSetting.getFilter().toString());
521 }
522 filterText.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
523 filterText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
524
525 filterButton.addSelectionListener(new SelectionAdapter() {
526 @Override
527 public void widgetSelected(SelectionEvent e) {
528 fSelectedRow = ColorSettingRow.this;
529 refresh();
530 FilterDialog dialog = new FilterDialog(fShell);
531 dialog.setFilter(colorSetting.getFilter());
532 dialog.open();
533 if (dialog.getReturnCode() == Dialog.OK) {
534 if (dialog.getFilter() != null) {
535 colorSetting.setFilter(dialog.getFilter());
536 filterText.setText(dialog.getFilter().toString());
537 filterText.setToolTipText(dialog.getFilter().toString());
538 } else {
539 colorSetting.setFilter(null);
540 filterText.setText(""); //$NON-NLS-1$
541 filterText.setToolTipText(""); //$NON-NLS-1$
542 }
543 ColorSettingsManager.setColorSettings(fColorSettings.toArray(new ColorSetting[0]));
544 refresh();
545 }
546 }});
547
548 addPaintListener(new PaintListener() {
549 @Override
550 public void paintControl(PaintEvent e) {
551 if (fSelectedRow == ColorSettingRow.this) {
552 Color borderColor = Display.getDefault().getSystemColor(SWT.COLOR_BLACK);
553 Point p = ColorSettingRow.this.getSize();
554 Rectangle rect = new Rectangle(0, 0, p.x - 1, p.y - 1);
555 GC gc = e.gc;
556 gc.setForeground(borderColor);
557 gc.drawRectangle(rect);
558 }
559 }
560 });
561
562 MouseListener mouseListener = new MouseAdapter() {
563 @Override
564 public void mouseDown(MouseEvent e) {
565 fSelectedRow = ColorSettingRow.this;
566 refresh();
567 }
568 };
569 addMouseListener(mouseListener);
570 label.addMouseListener(mouseListener);
571 tickCanvas.addMouseListener(mouseListener);
572 filterText.addMouseListener(mouseListener);
573 }
574
575 /**
576 * @return the ColorSetting
577 */
578 public ColorSetting getColorSetting() {
579 return fColorSetting;
580 }
581
582 }
583 }
This page took 0.04504 seconds and 5 git commands to generate.