Revision 4337 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/EditingExtension.java
EditingExtension.java | ||
---|---|---|
28 | 28 |
import java.io.File; |
29 | 29 |
import java.util.ArrayList; |
30 | 30 |
import java.util.Collections; |
31 |
import java.util.HashSet; |
|
31 | 32 |
import java.util.List; |
33 |
import java.util.Set; |
|
32 | 34 |
import java.util.function.Predicate; |
33 | 35 |
import javax.swing.AbstractAction; |
34 | 36 |
import javax.swing.Action; |
... | ... | |
53 | 55 |
import org.gvsig.andami.plugins.status.UnsavedData; |
54 | 56 |
import org.gvsig.app.ApplicationLocator; |
55 | 57 |
import org.gvsig.app.ApplicationManager; |
58 |
import org.gvsig.app.extension.evalexpression.EvaluateExpressionExtension; |
|
59 |
import org.gvsig.app.extension.evalexpression.EvaluateExpressionPanel; |
|
60 |
import org.gvsig.app.extension.evalexpression.notifierfactory.AbstractUpdaterFactory; |
|
61 |
import org.gvsig.app.extension.evalexpression.notifierfactory.UpdaterFactory; |
|
56 | 62 |
import org.gvsig.app.project.Project; |
57 | 63 |
import org.gvsig.app.project.documents.Document; |
58 | 64 |
import org.gvsig.app.project.documents.view.ViewDocument; |
... | ... | |
107 | 113 |
public class EditingExtension extends Extension implements Observer { |
108 | 114 |
|
109 | 115 |
private static final Logger LOGGER = LoggerFactory.getLogger(EditingExtension.class); |
116 |
|
|
117 |
private VectorEditingUpdaterFactory vectorEditingUpdaterFactory; |
|
110 | 118 |
|
111 | 119 |
@Override |
112 | 120 |
public void execute(String actionCommand) { |
... | ... | |
238 | 246 |
"TOC popup menu to end vector layer's editing", |
239 | 247 |
new EndEditingTocMenuEntry()); |
240 | 248 |
EditingToolOptionsPanel.registerPersistence(); |
249 |
|
|
250 |
this.vectorEditingUpdaterFactory = new VectorEditingUpdaterFactory(); |
|
251 |
EvaluateExpressionPanel.registerUpdater(this.vectorEditingUpdaterFactory); |
|
241 | 252 |
} |
242 | 253 |
|
243 | 254 |
private void registerIcons() { |
... | ... | |
448 | 459 |
} |
449 | 460 |
appManager.refreshMenusAndToolBars(); |
450 | 461 |
} |
462 |
this.vectorEditingUpdaterFactory.updateAll(n); |
|
451 | 463 |
} |
452 | 464 |
} |
453 | 465 |
|
... | ... | |
641 | 653 |
} |
642 | 654 |
|
643 | 655 |
} |
656 |
|
|
657 |
|
|
658 |
private static class VectorEditingUpdaterFactory extends AbstractUpdaterFactory { |
|
659 |
|
|
660 |
private final Set<VectorEditingUpdater> vectorEditingUpdaters = new HashSet<>(); |
|
661 |
|
|
662 |
private class VectorEditingUpdater extends AbstractUpdaterFactory.AbstractUpdater { |
|
663 |
|
|
664 |
@SuppressWarnings("Convert2Lambda") |
|
665 |
public VectorEditingUpdater(UpdaterFactory factory, Observer observer) { |
|
666 |
super(factory, observer); |
|
667 |
} |
|
668 |
|
|
669 |
@Override |
|
670 |
public void add() { |
|
671 |
vectorEditingUpdaters.add(this); |
|
672 |
} |
|
673 |
|
|
674 |
@Override |
|
675 |
public void remove() { |
|
676 |
vectorEditingUpdaters.remove(this); |
|
677 |
} |
|
678 |
|
|
679 |
} |
|
680 |
|
|
681 |
public VectorEditingUpdaterFactory() { |
|
682 |
super("VectorEditing", "Actualizar cuando cambie la edicion vectorial"); |
|
683 |
} |
|
684 |
|
|
685 |
@Override |
|
686 |
public UpdaterFactory.Updater create(Observer observer) { |
|
687 |
UpdaterFactory.Updater updater = new VectorEditingUpdater(this, observer); |
|
688 |
return updater; |
|
689 |
} |
|
690 |
|
|
691 |
public void updateAll(Notification n) { |
|
692 |
for (VectorEditingUpdater vectorEditingUpdater : vectorEditingUpdaters) { |
|
693 |
vectorEditingUpdater.update(n); |
|
694 |
} |
|
695 |
} |
|
696 |
} |
|
697 |
|
|
698 |
|
|
644 | 699 |
|
645 | 700 |
} |
Also available in: Unified diff