Revision 41053
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolSelector.java | ||
---|---|---|
58 | 58 |
|
59 | 59 |
import org.slf4j.Logger; |
60 | 60 |
import org.slf4j.LoggerFactory; |
61 |
|
|
62 | 61 |
import org.gvsig.andami.PluginServices; |
63 | 62 |
import org.gvsig.andami.messages.NotificationManager; |
64 | 63 |
import org.gvsig.andami.ui.mdiManager.WindowInfo; |
... | ... | |
95 | 94 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.IMultiLayerLineSymbol; |
96 | 95 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMarkerSymbol; |
97 | 96 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMultiLayerMarkerSymbol; |
97 |
import org.gvsig.tools.dispose.Disposable; |
|
98 | 98 |
|
99 | 99 |
|
100 | 100 |
/** |
... | ... | |
617 | 617 |
if (dir == null) { |
618 | 618 |
return; |
619 | 619 |
} |
620 |
|
|
620 |
ListModel model = jListSymbols.getModel(); |
|
621 |
if( model != null && model instanceof Disposable ) { |
|
622 |
((Disposable)model).dispose(); |
|
623 |
} |
|
621 | 624 |
jListSymbols.setModel(newListModel()); |
622 |
// jListSymbols.setSelectedValue(selectedElement, true); |
|
623 | 625 |
} |
624 | 626 |
}); |
625 | 627 |
jScrollPane.setViewportView(libraryBrowser); |
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolSelectorListModel.java | ||
---|---|---|
104 | 104 |
|
105 | 105 |
import org.gvsig.fmap.mapcontext.MapContextLocator; |
106 | 106 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
107 |
import org.gvsig.tools.ToolsLocator; |
|
108 |
import org.gvsig.tools.dispose.Disposable; |
|
107 | 109 |
import org.gvsig.tools.exception.BaseException; |
108 | 110 |
import org.gvsig.tools.task.CancellableTask; |
109 | 111 |
import org.gvsig.tools.visitor.VisitCanceledException; |
... | ... | |
120 | 122 |
* |
121 | 123 |
*/ |
122 | 124 |
public class SymbolSelectorListModel extends AbstractListModel implements |
123 |
ListModel { |
|
125 |
ListModel, Disposable {
|
|
124 | 126 |
|
125 | 127 |
private static Logger logger = LoggerFactory.getLogger(SymbolSelectorListModel.class); |
126 | 128 |
private String fileExtension; |
... | ... | |
161 | 163 |
this.sfilter = filter; |
162 | 164 |
} |
163 | 165 |
|
166 |
public synchronized void dispose() { |
|
167 |
/* |
|
168 |
* Quien destruye la instancia de la clase se encarga de llamar al dispose |
|
169 |
* pero no hace falta hacer seguimieto de las instancias de esta que hay |
|
170 |
* en ejecucion, por eso no se a?ade en el constructor la instancia a la |
|
171 |
* lista de disposable del DisposableManager. |
|
172 |
*/ |
|
173 |
if( this.symbolLoader!=null ) { |
|
174 |
this.symbolLoader.cancelRequest(); |
|
175 |
} |
|
176 |
} |
|
177 |
|
|
164 | 178 |
public Object remove(int i) throws ArrayIndexOutOfBoundsException { |
165 | 179 |
ISymbol o = elements.remove(i); |
166 | 180 |
this.fireIntervalRemoved(this, i, i); |
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.mapcontext/org.gvsig.fmap.mapcontext.api/src/main/java/org/gvsig/fmap/mapcontext/rendering/symbols/impl/DefaultSymbolManager.java | ||
---|---|---|
199 | 199 |
public void run() { |
200 | 200 |
// TODO: add symbol caching |
201 | 201 |
try { |
202 |
logger.info("[SymbolsLoaderTask] process initited."); |
|
202 |
logger.info("[SymbolsLoaderTask"+this.getId()+"] process initited.");
|
|
203 | 203 |
if (folder.exists()) { |
204 | 204 |
taskStatus.setAutoremove(true); |
205 | 205 |
taskStatus.message("preparing"); |
... | ... | |
227 | 227 |
for (int i = 0; i < symbolFiles.length; i++) { |
228 | 228 |
taskStatus.setCurValue(i); |
229 | 229 |
if( taskStatus.isCancellationRequested() ) { |
230 |
logger.info("[SymbolsLoaderTask] process canceled."); |
|
230 |
logger.info("[SymbolsLoaderTask"+this.getId()+"] process canceled.");
|
|
231 | 231 |
break; |
232 | 232 |
} |
233 | 233 |
ISymbol symbol = null; |
... | ... | |
250 | 250 |
} finally { |
251 | 251 |
taskStatus.terminate(); |
252 | 252 |
} |
253 |
logger.info("[SymbolsLoaderTask] process terminated."); |
|
253 |
logger.info("[SymbolsLoaderTask"+this.getId()+"] process terminated.");
|
|
254 | 254 |
|
255 | 255 |
} |
256 | 256 |
} |
Also available in: Unified diff