Revision 1802

View differences:

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
57 57
		desc = new PagedTableImpl(modelLoader);
58 58
		JPanel table = (JPanel)desc.getComponent();
59 59
		table.setBorder(BorderFactory.createTitledBorder("My table"));
60
		desc.setConfirmationMessageDeleteAllEntries("Would you like to remove all entries?");
61
		desc.setConfirmationMessageDeleteOneEntry("Would you like to remove selected entry?");
60 62
		
61 63
		JPanel p = new JPanel();
62 64
		p.setLayout(new BorderLayout());
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/PagedTableImpl.java
130 130
		pager.removeAllEntries();
131 131
	}
132 132
	
133
	public void removeAllRowsWithoutAsk() {
134
		pager.removeAllEntriesWithoutAsk();
135
	}
136
	
133 137
	public int[] getSelectedRows() {
134 138
		return pager.getSelectedRows();
135 139
	}
......
197 201
	public void addListener(PagedTableListener listener) {
198 202
		pager.addListener(listener);
199 203
	}
204
	
205
	public void setConfirmationMessageDeleteAllEntries(String message) {
206
		pager.setConfirmationMessageDeleteAllEntries(message);
207
	}
208
	
209
	public void setConfirmationMessageDeleteOneEntry(String message) {
210
		pager.setConfirmationMessageDeleteOneEntry(message);
211
	}
200 212
}
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/Pager.java
27 27
import java.util.List;
28 28
import java.util.Observable;
29 29

  
30
import javax.swing.JOptionPane;
31

  
32
import org.gvsig.andami.PluginServices;
33
import org.gvsig.i18n.Messages;
30 34
import org.gvsig.raster.swing.pagedtable.PagedTable;
31 35
import org.gvsig.raster.swing.pagedtable.PagedTableEvent;
32 36
import org.gvsig.raster.swing.pagedtable.PagedTableListener;
......
36 40
 * @author Nacho Brodin (nachobrodin@gmail.com)
37 41
 */
38 42
public class Pager extends Observable {
39
	private List<Object>             entries                = null;
40
	private int                      entriesPerPage         = 0;
41
	private int                      selectedPage           = 0;
42
	private int[]                    selectedRows           = null;
43
	private List<PagedTableListener> listeners              = null;
44
	private PagedTable               table                  = null;
43
	private List<Object>             entries                  = null;
44
	private int                      entriesPerPage           = 0;
45
	private int                      selectedPage             = 0;
46
	private int[]                    selectedRows             = null;
47
	private List<PagedTableListener> listeners                = null;
48
	private PagedTable               table                    = null;
49
	private String                   deleteOneEntryMessage    = null;
50
	private String                   deleteAllEntriesMessage  = null;
45 51
	
46 52
	public Pager(int entriesPerPage, PagedTable table) {
47 53
		this.entriesPerPage = entriesPerPage;
......
58 64
		}
59 65
	}
60 66
	
67
	public void setConfirmationMessageDeleteAllEntries(String message) {
68
		deleteAllEntriesMessage = message;
69
	}
70
	
71
	public void setConfirmationMessageDeleteOneEntry(String message) {
72
		deleteOneEntryMessage = message;
73
	}
74
	
61 75
	//*************ROWS**********************
62 76
	
63 77
	public void setSelectedRows(int[] rows) {
......
132 146
	}
133 147
	
134 148
	public void removeEntry(int pos) {
149
		if(deleteOneEntryMessage != null) {
150
			if (!messageBoxYesOrNot(deleteOneEntryMessage, null))
151
				return;
152
		}
153
		
135 154
		if(pos >= 0 && pos < entries.size()) {
136 155
			int oldSelectedPageInRow = getPageFromRow(pos);
137 156
			int oldSelectedPage = getSelectedPageNumber();
......
234 253
	}
235 254
	
236 255
	public void removeAllEntries() {
256
		if(deleteAllEntriesMessage != null) {
257
			if (!messageBoxYesOrNot(deleteAllEntriesMessage, null))
258
				return;
259
		}
237 260
		entries.clear();
238 261
		throwEvent(PagedTableEvent.EVENT_REMOVE_ALL, null);
239 262
	}
240 263
	
264
	public void removeAllEntriesWithoutAsk() {
265
		entries.clear();
266
		throwEvent(PagedTableEvent.EVENT_REMOVE_ALL, null);
267
	}
268
	
241 269
	//*************PAGE**********************
242 270
	
243 271
	public void setEntriesPerPage(int n) {
......
326 354
		this.listeners.add(listener);
327 355
	}
328 356
	
357
	public boolean messageBoxYesOrNot(String msg, Object parentWindow){
358
		String string1 = Messages.getText("yes");
359
		String string2 = Messages.getText( "no");
360
		Object[] options = {string1, string2};
361
		int n = JOptionPane.showOptionDialog(table.getJTable(),
362
					"<html>" + msg.replaceAll("\n", "<br>") + "</html>",
363
					PluginServices.getText(parentWindow, "confirmacion"),
364
					JOptionPane.YES_NO_OPTION,
365
					JOptionPane.QUESTION_MESSAGE,
366
					null,
367
					options,
368
					string1);
369
		if (n == JOptionPane.YES_OPTION)
370
			return true;
371
		else
372
			return false;
373
	}
374
	
329 375
}
org.gvsig.raster/trunk/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.api/src/main/java/org/gvsig/raster/swing/pagedtable/PagedTable.java
72 72
	public void delRow(int i);
73 73
	
74 74
	/**
75
	 * Removes all rows of this table. This call does not
76
	 * show the confirmation message.
77
	 */
78
	public void removeAllRowsWithoutAsk();
79
	
80
	/**
75 81
	 * Removes all rows of this table.
76 82
	 */
77 83
	public void removeAllRows();
......
168 174
	 * @param listener
169 175
	 */
170 176
	public void addListener(PagedTableListener listener);
177
	
178
	/**
179
	 * Sets a message to ask for confirmation when all
180
	 * entries are going to be deleted
181
	 * @param message
182
	 */
183
	public void setConfirmationMessageDeleteAllEntries(String message);
184
	
185
	/**
186
	 * Sets a message to ask for confirmation when one entry
187
	 * are going to be deleted
188
	 * @param message
189
	 */
190
	public void setConfirmationMessageDeleteOneEntry(String message);
171 191
}

Also available in: Unified diff