Revision 44439 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/TableEditAttributes.java
TableEditAttributes.java | ||
---|---|---|
25 | 25 |
|
26 | 26 |
import java.awt.event.ActionEvent; |
27 | 27 |
import java.awt.event.ActionListener; |
28 |
import org.apache.commons.lang3.StringUtils; |
|
28 | 29 |
import org.gvsig.andami.IconThemeHelper; |
29 | 30 |
import org.gvsig.andami.plugins.Extension; |
30 | 31 |
import org.gvsig.app.ApplicationLocator; |
31 | 32 |
import org.gvsig.app.ApplicationManager; |
33 |
import org.gvsig.app.project.Project; |
|
34 |
import org.gvsig.app.project.ProjectManager; |
|
35 |
import org.gvsig.app.project.documents.Document; |
|
32 | 36 |
import org.gvsig.app.project.documents.table.TableDocument; |
33 | 37 |
import org.gvsig.app.project.documents.table.TableManager; |
34 | 38 |
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel; |
39 |
import org.gvsig.fmap.dal.DALLocator; |
|
40 |
import org.gvsig.fmap.dal.DataManager; |
|
41 |
import org.gvsig.fmap.dal.DataStore; |
|
35 | 42 |
import org.gvsig.fmap.dal.DataTypes; |
43 |
import org.gvsig.fmap.dal.StoresRepository; |
|
36 | 44 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
37 | 45 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
38 | 46 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
... | ... | |
67 | 75 |
} |
68 | 76 |
|
69 | 77 |
public void execute(String s) { |
70 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
71 |
WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager(); |
|
72 |
DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager(); |
|
73 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
78 |
final I18nManager i18n = ToolsLocator.getI18nManager();
|
|
79 |
final WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
|
|
80 |
final DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
|
|
81 |
final ApplicationManager application = ApplicationLocator.getManager();
|
|
74 | 82 |
|
75 | 83 |
TableDocument tabledoc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME); |
76 | 84 |
if( tabledoc == null ) { |
... | ... | |
91 | 99 |
panel.asJComponent(), |
92 | 100 |
i18n.getTranslation("_Column_manager") + " - " + tabledoc.getName(), |
93 | 101 |
null, |
94 |
featureStore.isEditing()? WindowManager_v2.BUTTONS_OK_CANCEL:WindowManager_v2.BUTTONS_OK |
|
102 |
featureStore.isEditing()? |
|
103 |
WindowManager_v2.BUTTONS_APPLY_OK_CANCEL: |
|
104 |
WindowManager_v2.BUTTONS_OK_CANCEL |
|
95 | 105 |
); |
106 |
if( featureStore.isEditing() ) { |
|
107 |
dialog.setButtonLabel( |
|
108 |
WindowManager_v2.BUTTON_APPLY, |
|
109 |
i18n.getTranslation("_Show_as_table") |
|
110 |
); |
|
111 |
} else { |
|
112 |
dialog.setButtonLabel( |
|
113 |
WindowManager_v2.BUTTON_CANCEL, |
|
114 |
i18n.getTranslation("_Show_as_table") |
|
115 |
); |
|
116 |
} |
|
96 | 117 |
dialog.addActionListener(new ActionListener() { |
97 | 118 |
@Override |
98 | 119 |
public void actionPerformed(ActionEvent e) { |
99 |
if( dialog.getAction()!=WindowManager_v2.BUTTONS_OK ) { |
|
100 |
return; |
|
120 |
if( featureStore.isEditing() ) { |
|
121 |
switch(dialog.getAction()) { |
|
122 |
case WindowManager_v2.BUTTON_OK: |
|
123 |
break; |
|
124 |
case WindowManager_v2.BUTTON_APPLY: |
|
125 |
showAsTable(featureType); |
|
126 |
return; |
|
127 |
case WindowManager_v2.BUTTON_CANCEL: |
|
128 |
return; |
|
129 |
} |
|
130 |
} else { |
|
131 |
switch(dialog.getAction()) { |
|
132 |
case WindowManager_v2.BUTTON_OK: |
|
133 |
return; |
|
134 |
case WindowManager_v2.BUTTON_APPLY: |
|
135 |
case WindowManager_v2.BUTTON_CANCEL: |
|
136 |
showAsTable(featureType); |
|
137 |
return; |
|
138 |
} |
|
101 | 139 |
} |
102 |
if( !featureStore.isEditing() ) { |
|
103 |
return; |
|
104 |
} |
|
105 | 140 |
try { |
106 | 141 |
panel.fetch(editableFeatureType); |
107 | 142 |
featureStore.update(editableFeatureType); |
... | ... | |
157 | 192 |
} |
158 | 193 |
} |
159 | 194 |
|
195 |
private void showAsTable(FeatureType featureType) { |
|
196 |
FeatureStore store = featureType.getAsFeatureStore(); |
|
197 |
|
|
198 |
ProjectManager projectManager = ApplicationLocator.getManager().getProjectManager(); |
|
199 |
Project project = projectManager.getCurrentProject(); |
|
200 |
TableDocument tableDoc = (TableDocument) project.getDocument(store.getName(),TableManager.TYPENAME); |
|
201 |
if( tableDoc == null ) { |
|
202 |
tableDoc = (TableDocument) projectManager.createDocument(TableManager.TYPENAME); |
|
203 |
tableDoc.setStore(store); |
|
204 |
tableDoc.setName(store.getName()); |
|
205 |
project.addDocument(tableDoc); |
|
206 |
} |
|
207 |
ApplicationLocator.getManager().getUIManager().addWindow(tableDoc.getMainWindow()); |
|
208 |
} |
|
209 |
|
|
210 |
|
|
160 | 211 |
public boolean isEnabled() { |
161 | 212 |
ApplicationManager application = ApplicationLocator.getManager(); |
162 | 213 |
|
Also available in: Unified diff