Statistics
| Revision:

svn-gvsig-desktop / branches / v10 / libraries / libCorePlugin / src / com / iver / core / PreferencesExtension.java @ 7143

History | View | Annotate | Download (3.81 KB)

1
package com.iver.core;
2

    
3
import java.util.ArrayList;
4
import java.util.HashMap;
5
import java.util.Iterator;
6

    
7
import com.iver.andami.Launcher;
8
import com.iver.andami.PluginServices;
9
import com.iver.andami.plugins.Extension;
10
import com.iver.andami.plugins.ExtensionDecorator;
11
import com.iver.andami.plugins.config.generate.Extensions;
12
import com.iver.andami.plugins.config.generate.PluginConfig;
13
import com.iver.andami.preferences.IPreference;
14
import com.iver.andami.preferences.IPreferenceExtension;
15
import com.iver.core.preferences.general.AppearancePage;
16
import com.iver.core.preferences.general.DirExtensionsPage;
17
import com.iver.core.preferences.general.ExtensionPage;
18
import com.iver.core.preferences.general.ExtensionsPage;
19
import com.iver.core.preferences.general.FolderingPage;
20
import com.iver.core.preferences.general.GeneralPage;
21
import com.iver.core.preferences.general.LanguagePage;
22
import com.iver.core.preferences.network.FirewallPage;
23
import com.iver.core.preferences.network.NetworkPage;
24
import com.iver.utiles.extensionPoints.ExtensionPoints;
25
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton;
26

    
27
public class PreferencesExtension extends Extension{
28
        private ExtensionPoints extensionPoints =
29
                ExtensionPointsSingleton.getInstance();
30

    
31
        private boolean initilizedExtensions=false;
32

    
33
        public void initialize() {
34
                initializeCoreExtensions();
35
        }
36

    
37
        public void execute(String actionCommand) {
38
                if (!this.initilizedExtensions) {
39
                        initializeExtensions();
40
                        initializeExtensionsConfig();
41
                        this.initilizedExtensions = true;
42
                }
43

    
44
                PluginServices.getMDIManager().addWindow(PluginServices.getDlgPreferences());
45
        }
46
        public boolean isEnabled() {
47
                return true;
48
        }
49

    
50
        public boolean isVisible() {
51
                return true;
52
        }
53

    
54
        private void initializeCoreExtensions() {
55
                this.extensionPoints.add("AplicationPreferences","GeneralPage", new GeneralPage());
56
                this.extensionPoints.add("AplicationPreferences","NetworkPage", new NetworkPage());
57
                this.extensionPoints.add("AplicationPreferences","FirewallPage", new FirewallPage());
58
                this.extensionPoints.add("AplicationPreferences","DirExtensionsPage", new DirExtensionsPage());
59
                this.extensionPoints.add("AplicationPreferences","LanguagePage", new LanguagePage());
60
                this.extensionPoints.add("AplicationPreferences","ExtensionsPage", new ExtensionsPage());
61
                this.extensionPoints.add("AplicationPreferences","AppearancePage", new AppearancePage());
62
                this.extensionPoints.add("AplicationPreferences","FolderingPage", new FolderingPage());
63

    
64
                //Falta los plugin
65
        }
66

    
67
        private void initializeExtensionsConfig() {
68
                HashMap pc = Launcher.getPluginConfig();
69
                ArrayList array = new ArrayList();
70
                Iterator iter = pc.values().iterator();
71

    
72
                while (iter.hasNext()) {
73
                        array.add(((PluginConfig) iter.next()).getExtensions());
74
                }
75

    
76
                Extensions[] exts = (Extensions[]) array.toArray(new Extensions[0]);
77
                for (int i = 0; i < exts.length; i++) {
78
                        for (int j = 0; j < exts[i].getExtensionCount(); j++) {
79
                                com.iver.andami.plugins.config.generate.Extension ext = exts[i]
80
                                                .getExtension(j);
81
                                String pn = null;
82
                                String sExt = ext.getClassName().toString();
83
                                pn = sExt.substring(0, sExt.lastIndexOf("."));
84
                                //dlgPrefs.addPreferencePage(new PluginsPage(pn));
85
                                //dlgPrefs.addPreferencePage(new ExtensionPage(ext));
86
                                this.extensionPoints.add("AplicationPreferences",sExt, new ExtensionPage(ext));
87
                        }
88
                }
89
        }
90
        /**
91
         *
92
         */
93
        private void initializeExtensions() {
94

    
95
                Iterator i =PluginServices.getExtensions();
96
                        while (i.hasNext()) {
97
                                ExtensionDecorator extension = (ExtensionDecorator) i.next();
98

    
99
                                if (extension.getExtension() instanceof IPreferenceExtension) {
100
                                        IPreferenceExtension pe=(IPreferenceExtension)extension.getExtension();
101
                                        IPreference pp=pe.getPreferencesPage();
102
                                        //dlgPrefs.addPreferencePage(pe.getPreferencesPage());
103
                                        this.extensionPoints.add("AplicationPreferences",pp.getID(), pp);
104
                                }
105
                }
106
        }
107
}