Revision 42146 trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/app/extension/TableEditStartExtension.java
TableEditStartExtension.java | ||
---|---|---|
42 | 42 |
|
43 | 43 |
/** |
44 | 44 |
* DOCUMENT ME! |
45 |
*
|
|
45 |
* |
|
46 | 46 |
* @author Vicente Caballero Navarro |
47 | 47 |
*/ |
48 | 48 |
public class TableEditStartExtension extends AbstractTableEditExtension { |
49 | 49 |
private static final Logger logger = LoggerFactory.getLogger(TableEditStartExtension.class); |
50 |
|
|
50 |
|
|
51 | 51 |
public void initialize() { |
52 | 52 |
super.initialize(); |
53 | 53 |
IconThemeHelper.registerIcon("action", "table-start-editing", this); |
... | ... | |
61 | 61 |
TableDocument doc = (TableDocument) table.getDocument(); |
62 | 62 |
EditingNotificationManager editingNotification = MapControlLocator.getEditingNotificationManager(); |
63 | 63 |
EditingNotification notification = editingNotification.notifyObservers( |
64 |
this,
|
|
65 |
EditingNotification.BEFORE_ENTER_EDITING_STORE,
|
|
64 |
this, |
|
65 |
EditingNotification.BEFORE_ENTER_EDITING_STORE, |
|
66 | 66 |
doc, |
67 | 67 |
doc.getStore()); |
68 | 68 |
if( notification.isCanceled() ) { |
... | ... | |
71 | 71 |
doc.getStore().edit(FeatureStore.MODE_FULLEDIT); |
72 | 72 |
ApplicationLocator.getManager().refreshMenusAndToolBars(); |
73 | 73 |
editingNotification.notifyObservers( |
74 |
this,
|
|
75 |
EditingNotification.AFTER_ENTER_EDITING_STORE,
|
|
74 |
this, |
|
75 |
EditingNotification.AFTER_ENTER_EDITING_STORE, |
|
76 | 76 |
doc, |
77 | 77 |
doc.getStore()); |
78 | 78 |
} catch (DataException e) { |
... | ... | |
93 | 93 |
if (v instanceof FeatureTableDocumentPanel) { |
94 | 94 |
FeatureTableDocumentPanel t = (FeatureTableDocumentPanel) v; |
95 | 95 |
FeatureStore fs = t.getModel().getStore(); |
96 |
// FJP: |
|
97 |
// Si est? linkada, por ahora no dejamos editar |
|
98 |
// TODO: Esto evita la edici?n en un sentido, pero no en el otro |
|
99 |
// Hay que permitir la edici?n, pero evitar que toquen el/los |
|
100 |
// campos de uni?n. Para eso tendremos que a?adir alguna funci?n |
|
101 |
// que indique si un campo est? involucrado en alguna uni?n, o |
|
102 |
// quiz?s algo m?s gen?rico, algo que permita bloquear campos |
|
103 |
// para que no se puedan editar. |
|
104 |
List<TableLink> links = t.getModel().getLinks(); |
|
105 |
if (links != null && links.size() > 0) { |
|
106 |
return false; |
|
107 |
} |
|
108 | 96 |
return fs.allowWrite(); |
109 | 97 |
} |
110 | 98 |
return false; |
... | ... | |
121 | 109 |
} |
122 | 110 |
|
123 | 111 |
if (v instanceof FeatureTableDocumentPanel |
124 |
&& !((FeatureTableDocumentPanel) v).getModel().getStore() |
|
125 |
.isEditing() |
|
126 |
&& ((FeatureTableDocumentPanel) v).getModel().getAssociatedLayer() == null) { |
|
112 |
&& !((FeatureTableDocumentPanel) v).getModel().getStore().isEditing()) { |
|
127 | 113 |
table = (FeatureTableDocumentPanel) v; |
128 | 114 |
return true; |
129 | 115 |
} |
Also available in: Unified diff