Revision 19119

View differences:

trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/ui/ColorTablePanel.java
394 394
		if (colorTableFilter != null) {
395 395
			GridPalette gridPalette = new GridPalette((ColorTable) colorTableFilter.getColorTable().clone());
396 396
			if (gridPalette.isCompressible()) {
397
				if (RasterToolsUtil.messageBoxYesOrNot("comprimir_paleta", this))
397
				if (RasterToolsUtil.messageBoxYesOrNot("comprimir_paleta", this)) {
398 398
					gridPalette.compressPalette();
399
					gridPalette.setInterpolated(true);
400
				}
399 401
			}
400 402

  
401 403
			ColorTable colorTable = new ColorTable();
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/panels/TabTable.java
42 42
public class TabTable extends PanelBase implements IColorTableUI, TableModelListener {
43 43
	private static final long serialVersionUID = -6971866166164473789L;
44 44
	private ArrayList      actionCommandListeners = new ArrayList();
45
	private boolean        listenerEnabled        = true;
45
	private boolean        listenerEnabled        = false;
46 46

  
47 47
	/**
48 48
	 * Tabla de color interna que se esta utilizando actualmente
......
62 62
		getTableContainer().getTable().getJTable().getModel().addTableModelListener(this);
63 63
	}
64 64

  
65
	//[start] Code UI
65
	/**
66
	 * Inicializar el panel
67
	 */
66 68
	private void initialize() {
67 69
		getPanel().setLayout(new BorderLayout());
68 70
		getPanel().add(getTableContainer(), BorderLayout.CENTER);
......
78 80
		}
79 81
		return tableContainer;
80 82
	}
81
	//[end]
82 83

  
83 84
	/**
84 85
	 * Borra todas las filas de la tabla.
......
145 146
	 * @param colorItems
146 147
	 */
147 148
	private void reloadItems() {
149
		listenerEnabled = false;
148 150
		ArrayList colorItems = colorTable.getColorItems();
149 151
		clearTable();
150 152
		for (int i = 0; i < colorItems.size(); i++) {
......
154 156
				toRange = new Double(((ColorItem) colorItems.get(i + 1)).getValue());
155 157
			addRowToTable(c1.getColor(), c1.getNameClass(), new Double(c1.getValue()), toRange, c1.getColor().getAlpha() + "");
156 158
		}
159
		listenerEnabled = true;
157 160
	}
158 161

  
159 162
	/*
......
161 164
	 * @see javax.swing.event.TableModelListener#tableChanged(javax.swing.event.TableModelEvent)
162 165
	 */
163 166
	public void tableChanged(TableModelEvent e) {
167
		if (!listenerEnabled)
168
			return;
164 169
		colorTable.createPaletteFromColorItems(getPalette(), false);
165 170
		callColorTableUIChangedListener();
166 171
	}
......
179 184
	 * @see org.gvsig.rastertools.colortable.panels.IColorTableUI#setColorTable(org.gvsig.raster.datastruct.ColorTable)
180 185
	 */
181 186
	public void setColorTable(ColorTable colorTable) {
182
		listenerEnabled = false;
183 187
		this.colorTable = colorTable;
184 188
		reloadItems();
185
		listenerEnabled = true;
186 189
	}
187 190
	
188 191
	/*
......
207 210
	 * @param colorTable
208 211
	 */
209 212
	private void callColorTableUIChangedListener() {
210
		if (!listenerEnabled)
211
			return;
212

  
213 213
		Iterator acIterator = actionCommandListeners.iterator();
214 214
		while (acIterator.hasNext()) {
215 215
			ColorTableUIListener listener = (ColorTableUIListener) acIterator.next();

Also available in: Unified diff