Statistics
| Revision:

root / trunk / libraries / libCorePlugin / src / com / iver / core / PreferencesExtension.java @ 5792

History | View | Annotate | Download (2.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.DlgPreferences;
14
import com.iver.andami.preferences.IPreferenceExtension;
15
import com.iver.core.preferences.general.DirExtensionsPage;
16
import com.iver.core.preferences.general.ExtensionPage;
17
import com.iver.core.preferences.general.ExtensionsPage;
18
import com.iver.core.preferences.general.GeneralPage;
19
import com.iver.core.preferences.general.LanguagePage;
20
import com.iver.core.preferences.network.FirewallPage;
21
import com.iver.core.preferences.network.NetworkPage;
22

    
23
public class PreferencesExtension extends Extension{
24
        private DlgPreferences dlgPrefs = DlgPreferences.getInstance();
25

    
26
        public void initialize() {
27
        }
28

    
29
        public void execute(String actionCommand) {
30
                initializeCoreExtensions();
31
                initializeExtensions();
32
                initializeExtensionsConfig();
33
                PluginServices.getMDIManager().addView(dlgPrefs);
34
        }
35
        public boolean isEnabled() {
36
                return true;
37
        }
38

    
39
        public boolean isVisible() {
40
                return true;
41
        }
42
        private void initializeCoreExtensions() {
43
                dlgPrefs.addPreferencePage(new GeneralPage());
44
                dlgPrefs.addPreferencePage(new NetworkPage());
45
                dlgPrefs.addPreferencePage(new FirewallPage());
46
                dlgPrefs.addPreferencePage(new DirExtensionsPage());
47
                dlgPrefs.addPreferencePage(new LanguagePage());
48
                dlgPrefs.addPreferencePage(new ExtensionsPage());
49

    
50
                //Falta los plugin
51
        }
52
        private void initializeExtensionsConfig() {
53
                HashMap pc = Launcher.getPluginConfig();
54
                ArrayList array = new ArrayList();
55
                Iterator iter = pc.values().iterator();
56

    
57
                while (iter.hasNext()) {
58
                        array.add(((PluginConfig) iter.next()).getExtensions());
59
                }
60

    
61
                Extensions[] exts = (Extensions[]) array.toArray(new Extensions[0]);
62
                for (int i = 0; i < exts.length; i++) {
63
                        for (int j = 0; j < exts[i].getExtensionCount(); j++) {
64
                                com.iver.andami.plugins.config.generate.Extension ext = exts[i]
65
                                                .getExtension(j);
66
                                String pn = null;
67
                                String sExt = ext.getClassName().toString();
68
                                pn = sExt.substring(0, sExt.lastIndexOf("."));
69
                                //dlgPrefs.addPreferencePage(new PluginsPage(pn));
70
                                dlgPrefs.addPreferencePage(new ExtensionPage(ext));
71
                        }
72
                }
73
        }
74
        /**
75
         *
76
         */
77
        private void initializeExtensions() {
78

    
79
                Iterator i =PluginServices.getExtensions();
80
                        while (i.hasNext()) {
81
                                ExtensionDecorator extension = (ExtensionDecorator) i.next();
82

    
83

    
84
                                if (extension.getExtension() instanceof IPreferenceExtension) {
85
                                        IPreferenceExtension pe=(IPreferenceExtension)extension.getExtension();
86
                                        dlgPrefs.addPreferencePage(pe.getPreferencesPage());
87
                                }
88
                }
89
        }
90
}