X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.document.linking.ui%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Flinking%2Fviews%2FModelToComboListener.java;h=12de94410d292749f66a316ba35f94be1f4e6eb8;hb=refs%2Fchanges%2F55%2F2055%2F1;hp=31adf98aa4ebcfbff69446b8be481197892bf6aa;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/views/ModelToComboListener.java b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/views/ModelToComboListener.java index 31adf98aa..12de94410 100644 --- a/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/views/ModelToComboListener.java +++ b/bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/views/ModelToComboListener.java @@ -1,83 +1,83 @@ -package org.simantics.document.linking.views; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - -import org.eclipse.swt.custom.CCombo; -import org.eclipse.swt.widgets.Display; -import org.simantics.db.Resource; -import org.simantics.db.common.NamedResource; - -public abstract class ModelToComboListener implements org.simantics.db.procedure.Listener> { - - /** - * - */ - private CCombo combo; - private boolean disposed = false; - - public ModelToComboListener(CCombo combo) { - this.combo = combo; - } - - public abstract Resource getCurrentModel(); - - @Override - public void execute(final Collection result) { - Display.getDefault().asyncExec(new Runnable() { - - @Override - public void run() { - if(combo.isDisposed()) { - disposed = true; - return; - } - - List models = new ArrayList(); - models.addAll(result); - Collections.sort(models); - - int index = -1; - - //populate the combo - combo.removeAll(); - index = -1; - int i = 0; - for (NamedResource model : models) { - combo.add(model.getName()); - combo.setData(Integer.toString(i), model.getResource()); - if (model.getResource().equals(getCurrentModel())) - index = i; - i++; - } - - // restore the selection - if (index >= 0) { - combo.select(index); - } - loaded(); - } - }); - - } - - public void loaded() { - - } - - @Override - public void exception(Throwable t) { - - } - - @Override - public boolean isDisposed() { - return disposed || combo.isDisposed(); - } - - public void dispose() { - disposed = true; - } +package org.simantics.document.linking.views; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + +import org.eclipse.swt.custom.CCombo; +import org.eclipse.swt.widgets.Display; +import org.simantics.db.Resource; +import org.simantics.db.common.NamedResource; + +public abstract class ModelToComboListener implements org.simantics.db.procedure.Listener> { + + /** + * + */ + private CCombo combo; + private boolean disposed = false; + + public ModelToComboListener(CCombo combo) { + this.combo = combo; + } + + public abstract Resource getCurrentModel(); + + @Override + public void execute(final Collection result) { + Display.getDefault().asyncExec(new Runnable() { + + @Override + public void run() { + if(combo.isDisposed()) { + disposed = true; + return; + } + + List models = new ArrayList(); + models.addAll(result); + Collections.sort(models); + + int index = -1; + + //populate the combo + combo.removeAll(); + index = -1; + int i = 0; + for (NamedResource model : models) { + combo.add(model.getName()); + combo.setData(Integer.toString(i), model.getResource()); + if (model.getResource().equals(getCurrentModel())) + index = i; + i++; + } + + // restore the selection + if (index >= 0) { + combo.select(index); + } + loaded(); + } + }); + + } + + public void loaded() { + + } + + @Override + public void exception(Throwable t) { + + } + + @Override + public boolean isDisposed() { + return disposed || combo.isDisposed(); + } + + public void dispose() { + disposed = true; + } } \ No newline at end of file