Revision 1722

View differences:

org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/main/java/org/gvsig/raster/swing/impl/pagedtable/PagedTablePanel.java
166 166
					   modelLoader.getColumnWidths()[i] > 0) {
167 167
						column.setMaxWidth(modelLoader.getColumnWidths()[i]);
168 168
					} else {
169
						column.setPreferredWidth(widthPerColumn);
169
						if(modelLoader.getColumnWidths()[i] == 0) {
170
							column.setMinWidth(0);
171
							column.setMaxWidth(0);
172
						} else
173
							column.setPreferredWidth(widthPerColumn);
170 174
					}
171 175
				}
172 176
				if(modelLoader.getCellEditorForColumn(i) != null)
......
182 186

  
183 187
	public void tableChanged(TableModelEvent e) {
184 188
		if(e.getType() == TableModelEvent.UPDATE) {
185
			pager.throwEvent(PagedTableEvent.EVENT_MODIFY_ENTRY, pager.getSelectedRows());
189
			int column = e.getColumn();
190
			if(column != TableModelEvent.ALL_COLUMNS) {
191
				Object[] entry = pager.getEntry(e.getFirstRow());
192
				if(entry != null && column >= 0 && column < entry.length)
193
					entry[column] = model.getValueAt(e.getFirstRow(), column);
194
				pager.throwEvent(PagedTableEvent.EVENT_MODIFY_ENTRY, new int[]{e.getFirstRow()});
195
			}
186 196
		}
187 197
	}
188 198
	
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.impl/src/test/java/org/gvsig/raster/swing/impl/pagedtable/TestPagedTablePanel.java
34 34
import javax.swing.JPanel;
35 35

  
36 36
import org.gvsig.raster.swing.pagedtable.ModelLoader;
37
import org.gvsig.raster.swing.pagedtable.PagedTableEvent;
38
import org.gvsig.raster.swing.pagedtable.PagedTableListener;
37 39

  
38
public class TestPagedTablePanel implements ActionListener {
40
public class TestPagedTablePanel implements ActionListener, PagedTableListener {
39 41
	private int                          w        = 500;
40 42
	private int                          h        = 350;
41 43
	private JFrame                       frame    = new JFrame();
42 44
	private PagedTableImpl               desc     = null;
43 45

  
44 46
	public TestPagedTablePanel() {
45
		String[] c = new String[]{"uno", "dos", "tres"};
46
		int[] sizes = new int[]{40, 80, -1};
47
		String[] c = new String[]{"uno", "dos", "tres", "cuatro"};
48
		int[] sizes = new int[]{40, 80, -1, 0};
47 49
		GCPModel model = new GCPModel(c);
48 50
		CheckBoxColumnRenderer r = new CheckBoxColumnRenderer(this);
49 51
		CheckBoxColumnEditor e = new CheckBoxColumnEditor();
......
87 89
		
88 90
	}
89 91

  
92
	public void tableChanged(PagedTableEvent event) {
93
		
94
	}
95

  
90 96
}

Also available in: Unified diff