Revision 1802
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