1 package org.simantics.interop.issues;
\r
3 import java.util.ArrayList;
\r
4 import java.util.List;
\r
6 import org.eclipse.swt.widgets.Display;
\r
8 public abstract class AbstractIssue implements Issue{
\r
10 private String description;
\r
11 private List<IssueListener> listeners = new ArrayList<IssueListener>();
\r
14 public String getDescription() {
\r
18 public void setDescription(String description) {
\r
19 this.description = description;
\r
23 protected void fireUpdated() {
\r
24 Display.getDefault().asyncExec(new Runnable() {
\r
27 for (IssueListener l : listeners) {
\r
28 l.updated(AbstractIssue.this);
\r
34 protected void fireDisposed() {
\r
35 Display.getDefault().asyncExec(new Runnable() {
\r
38 List<IssueListener> list = new ArrayList<IssueListener>();
\r
39 list.addAll(listeners);
\r
40 for (IssueListener l : list) {
\r
41 l.disposed(AbstractIssue.this);
\r
48 public void addListener(IssueListener listener) {
\r
49 listeners.add(listener);
\r
53 public void removeListener(IssueListener listener) {
\r
54 listeners.remove(listener);
\r
58 public void dispose() {
\r