Revision 6356 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/TableManageFields.java
TableManageFields.java | ||
---|---|---|
46 | 46 |
*/ |
47 | 47 |
package com.iver.cit.gvsig; |
48 | 48 |
|
49 |
import java.util.BitSet; |
|
50 |
|
|
51 | 49 |
import com.iver.andami.PluginServices; |
52 |
import com.iver.andami.messages.NotificationManager; |
|
53 | 50 |
import com.iver.andami.plugins.Extension; |
54 |
import com.iver.andami.preferences.DlgPreferences; |
|
55 | 51 |
import com.iver.andami.ui.mdiManager.View; |
56 |
import com.iver.cit.gvsig.fmap.DriverException;
|
|
57 |
import com.iver.cit.gvsig.fmap.edition.IFieldManager;
|
|
52 |
import com.iver.cit.gvsig.fmap.edition.EditableAdapter;
|
|
53 |
import com.iver.cit.gvsig.fmap.edition.IEditableSource;
|
|
58 | 54 |
import com.iver.cit.gvsig.fmap.edition.IWriteable; |
59 | 55 |
import com.iver.cit.gvsig.fmap.edition.IWriter; |
60 |
import com.iver.cit.gvsig.fmap.layers.SelectableDataSource; |
|
61 | 56 |
import com.iver.cit.gvsig.gui.Table; |
62 | 57 |
import com.iver.cit.gvsig.gui.dialogs.DlgFieldManager; |
63 | 58 |
import com.iver.cit.gvsig.project.ProjectTable; |
... | ... | |
78 | 73 |
|
79 | 74 |
Table t = (Table) v; |
80 | 75 |
ProjectTable pt = t.getModel(); |
81 |
SelectableDataSource dataSource; |
|
82 |
dataSource = pt.getModelo().getRecordset(); |
|
83 |
if (dataSource.getDriver() instanceof IWriteable) |
|
84 |
{ |
|
85 |
IWriteable aux = (IWriteable) dataSource.getDriver(); |
|
86 |
IWriter writer = aux.getWriter(); |
|
87 |
// No todos los writer pueden cambiar los campos (ejemplo: el dxf |
|
88 |
// o el dgn siempre tienen los mismos campos). |
|
89 |
if (writer instanceof IFieldManager) |
|
90 |
{ |
|
91 |
IFieldManager fieldManager = (IFieldManager) writer; |
|
92 |
DlgFieldManager dlg = new DlgFieldManager(fieldManager); |
|
93 |
PluginServices.getMDIManager().addView(dlg); |
|
94 |
} |
|
95 |
} |
|
76 |
IEditableSource ies = pt.getModelo(); |
|
77 |
if (ies.getDriver() instanceof IWriteable) |
|
78 |
{ |
|
79 |
IWriteable aux = (IWriteable) ies.getDriver(); |
|
80 |
IWriter writer = aux.getWriter(); |
|
81 |
// No todos los writer pueden cambiar los campos (ejemplo: el dxf |
|
82 |
// o el dgn siempre tienen los mismos campos). |
|
83 |
if (writer.canAlterTable()) |
|
84 |
{ |
|
85 |
// IFieldManager fieldManager = (IFieldManager) writer; |
|
86 |
DlgFieldManager dlg = new DlgFieldManager(ies); |
|
87 |
PluginServices.getMDIManager().addView(dlg); |
|
88 |
} |
|
89 |
} |
|
96 | 90 |
|
97 | 91 |
} |
98 | 92 |
|
... | ... | |
111 | 105 |
|
112 | 106 |
if (v instanceof Table) { |
113 | 107 |
Table t = (Table) v; |
114 |
ProjectTable pt = t.getModel(); |
|
115 |
SelectableDataSource dataSource; |
|
116 |
dataSource = pt.getModelo().getRecordset(); |
|
117 |
if (dataSource.getDriver() instanceof IWriteable) |
|
118 |
{ |
|
119 |
IWriteable aux = (IWriteable) dataSource.getDriver(); |
|
120 |
IWriter writer = aux.getWriter(); |
|
121 |
if (writer instanceof IFieldManager) |
|
122 |
return true; |
|
123 |
} |
|
124 |
|
|
125 |
|
|
108 |
IEditableSource ies = t.getModel().getModelo(); |
|
109 |
// ProjectTable pt = t.getModel(); |
|
110 |
if (ies.getDriver() instanceof IWriteable) |
|
111 |
{ |
|
112 |
IWriter writer = ((IWriteable) ies.getDriver()).getWriter(); |
|
113 |
if ((writer != null) && (writer.canAlterTable())) |
|
114 |
{ |
|
115 |
if (ies.isEditing()) |
|
116 |
{ |
|
117 |
return true; |
|
118 |
} |
|
119 |
} |
|
120 |
} |
|
126 | 121 |
} |
127 | 122 |
return false; |
128 | 123 |
} |
Also available in: Unified diff