svn-gvsig-desktop / 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 / ShowTableAsForm.java @ 43989
History | View | Annotate | Download (2.62 KB)
1 | 42489 | jjdelcerro | package org.gvsig.app.extension; |
---|---|---|---|
2 | |||
3 | import java.awt.Dimension; |
||
4 | import javax.swing.JOptionPane; |
||
5 | import org.gvsig.andami.plugins.Extension; |
||
6 | import org.gvsig.app.ApplicationLocator; |
||
7 | import org.gvsig.app.ApplicationManager; |
||
8 | import org.gvsig.app.project.documents.Document; |
||
9 | import org.gvsig.app.project.documents.table.TableDocument; |
||
10 | import org.gvsig.app.project.documents.table.TableManager; |
||
11 | import org.gvsig.featureform.swing.CreateJFeatureFormException; |
||
12 | 42775 | jjdelcerro | import org.gvsig.featureform.swing.JFeaturesForm; |
13 | 42489 | jjdelcerro | import org.gvsig.fmap.dal.exception.DataException; |
14 | import org.gvsig.fmap.dal.feature.FeatureStore; |
||
15 | import org.gvsig.fmap.dal.swing.DALSwingLocator; |
||
16 | import org.gvsig.fmap.dal.swing.DataSwingManager; |
||
17 | import org.gvsig.tools.service.ServiceException; |
||
18 | import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
||
19 | import org.slf4j.Logger; |
||
20 | import org.slf4j.LoggerFactory; |
||
21 | |||
22 | public class ShowTableAsForm extends Extension { |
||
23 | |||
24 | private static final Logger logger = LoggerFactory.getLogger(ShowTableAsForm.class); |
||
25 | |||
26 | @Override
|
||
27 | public void initialize() { |
||
28 | } |
||
29 | |||
30 | @Override
|
||
31 | public void execute(String actionCommand) { |
||
32 | ApplicationManager application = ApplicationLocator.getManager(); |
||
33 | if ("table-show-form".equalsIgnoreCase(actionCommand)) { |
||
34 | TableDocument doc = (TableDocument) application.getActiveDocument(TableManager.TYPENAME); |
||
35 | if (doc == null) { |
||
36 | return;
|
||
37 | } |
||
38 | try {
|
||
39 | 42775 | jjdelcerro | JFeaturesForm form = this.createform(doc.getStore());
|
40 | 42489 | jjdelcerro | form.showForm(WindowManager.MODE.WINDOW); |
41 | } catch (Exception ex) { |
||
42 | String msg = "Can't show form for table '" + doc.getName() + "'."; |
||
43 | logger.warn(msg, ex); |
||
44 | application.messageDialog(msg + "\n\n(See the error log for more information)", "Warning", JOptionPane.WARNING_MESSAGE); |
||
45 | } |
||
46 | } |
||
47 | } |
||
48 | |||
49 | 42775 | jjdelcerro | private JFeaturesForm createform(FeatureStore featureStore) throws CreateJFeatureFormException, ServiceException, DataException { |
50 | 42489 | jjdelcerro | final DataSwingManager swingManager = DALSwingLocator.getSwingManager();
|
51 | 42775 | jjdelcerro | final JFeaturesForm form = swingManager.createJFeaturesForm(featureStore);
|
52 | form.getFormset().setAllowDelete(true);
|
||
53 | form.getFormset().setAllowNew(true);
|
||
54 | 42489 | jjdelcerro | form.setPreferredSize(new Dimension(400, 300)); |
55 | return form;
|
||
56 | } |
||
57 | |||
58 | @Override
|
||
59 | public boolean isEnabled() { |
||
60 | return true; |
||
61 | } |
||
62 | |||
63 | @Override
|
||
64 | public boolean isVisible() { |
||
65 | ApplicationManager application = ApplicationLocator.getManager(); |
||
66 | Document doc = application.getActiveDocument(TableManager.TYPENAME);
|
||
67 | return doc != null; |
||
68 | } |
||
69 | } |