Revision 41136

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.coreplugin.app/org.gvsig.coreplugin.app.mainplugin/src/main/java/org/gvsig/coreplugin/PreferencesExtension.java
38 38
import org.gvsig.andami.preferences.IPreferenceExtension;
39 39
import org.gvsig.coreplugin.preferences.general.AppearancePage;
40 40
import org.gvsig.coreplugin.preferences.general.BrowserControlPage;
41
import org.gvsig.coreplugin.preferences.general.DirExtensionsPage;
42 41
import org.gvsig.coreplugin.preferences.general.ExtensionPage;
43 42
import org.gvsig.coreplugin.preferences.general.ExtensionsPage;
44 43
import org.gvsig.coreplugin.preferences.general.FolderingPage;
......
146 145
		ep.append("GeneralPage", "", new GeneralPage());
147 146
		ep.append("NetworkPage", "", new NetworkPage());
148 147
		ep.append("FirewallPage", "", new FirewallPage());
149
		ep.append("DirExtensionsPage", "", new DirExtensionsPage());
150 148
		ep.append("LanguagePage", "", new LanguagePage());
151 149
		ep.append("ExtensionsPage", "", new ExtensionsPage());
152 150
		ep.append("AppearancePage", "", new AppearancePage());
......
158 156
//		this.extensionPoints.add("AplicationPreferences","GeneralPage", new GeneralPage());
159 157
//		this.extensionPoints.add("AplicationPreferences","NetworkPage", new NetworkPage());
160 158
//		this.extensionPoints.add("AplicationPreferences","FirewallPage", new FirewallPage());
161
//		this.extensionPoints.add("AplicationPreferences","DirExtensionsPage", new DirExtensionsPage());
162 159
//		this.extensionPoints.add("AplicationPreferences","LanguagePage", new LanguagePage());
163 160
//		this.extensionPoints.add("AplicationPreferences","ExtensionsPage", new ExtensionsPage());
164 161
//		this.extensionPoints.add("AplicationPreferences","AppearancePage", new AppearancePage());
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.coreplugin.app/org.gvsig.coreplugin.app.mainplugin/src/main/java/org/gvsig/coreplugin/preferences/general/DirExtensionsPage.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.coreplugin.preferences.general;
25

  
26
import java.awt.BorderLayout;
27
import java.awt.Component;
28
import java.awt.Dimension;
29
import java.awt.event.KeyEvent;
30
import java.awt.event.KeyListener;
31

  
32
import javax.swing.BorderFactory;
33
import javax.swing.ImageIcon;
34
import javax.swing.JButton;
35
import javax.swing.JFileChooser;
36
import javax.swing.JPanel;
37
import javax.swing.JTextField;
38
import javax.swing.border.TitledBorder;
39

  
40
import org.gvsig.andami.Launcher;
41
import org.gvsig.andami.PluginServices;
42
import org.gvsig.andami.preferences.AbstractPreferencePage;
43
import org.gvsig.utils.GenericFileFilter;
44

  
45

  
46
public class DirExtensionsPage extends AbstractPreferencePage {
47
	private ImageIcon icon;
48
	private String id;
49
	private JPanel pN = null;
50
	private JPanel pC = null;
51
	private boolean changed = false;
52
	private JPanel jPanel = null;
53
	private JTextField jTextField = null;
54
	private JButton jButton = null;
55
	private String pluginDirectory;
56

  
57
	public DirExtensionsPage() {
58
		super();
59
		initialize();
60
		id = this.getClass().getName();
61
		setParentID(GeneralPage.class.getName());
62
	}
63

  
64
	private void initialize() {
65
		icon = PluginServices.getIconTheme().get("edit-setup-dirextension");
66
	    this.setLayout(new BorderLayout());
67
	    this.setSize(new java.awt.Dimension(386,177));
68
	    this.add(getPN(), java.awt.BorderLayout.NORTH);
69
	    this.add(getPC(), java.awt.BorderLayout.CENTER);
70
	}
71

  
72
	public String getID() {
73
		return id;
74
	}
75

  
76
	public String getTitle() {
77
		return PluginServices.getText(this, "directorio_extensiones");
78
	}
79

  
80
	public JPanel getPanel() {
81
		return this;
82
	}
83

  
84

  
85

  
86
	public void initializeValues() {
87
		pluginDirectory = Launcher.getAndamiConfig().getPluginsDirectory();
88
		getJTextField().setText(pluginDirectory);
89
	}
90

  
91
	public void storeValues() {
92
//		Se escribe el directorio de los plugins
93
		pluginDirectory = getJTextField().getText();
94
		Launcher.getAndamiConfig().setPluginsDirectory(pluginDirectory);
95
	}
96

  
97
	public void initializeDefaults() {
98

  
99
	}
100

  
101
	public ImageIcon getIcon() {
102
		return icon;
103
	}
104

  
105
	/**
106
	 * This method initializes pN
107
	 *
108
	 * @return javax.swing.JPanel
109
	 */
110
	private JPanel getPN() {
111
		if (pN == null) {
112
			pN = new JPanel();
113
		}
114
		return pN;
115
	}
116

  
117
	/**
118
	 * This method initializes pC
119
	 *
120
	 * @return javax.swing.JPanel
121
	 */
122
	private JPanel getPC() {
123
		if (pC == null) {
124
			pC = new JPanel();
125
			pC.add(getJPanel(), null);
126
		}
127
		return pC;
128
	}
129

  
130
	/**
131
	 * This method initializes jPanel
132
	 *
133
	 * @return javax.swing.JPanel
134
	 */
135
	private JPanel getJPanel() {
136
		if (jPanel == null) {
137
			jPanel = new JPanel();
138
			jPanel.setBorder(BorderFactory.createTitledBorder(null, PluginServices.getText(this, "directorio"), TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
139
			jPanel.add(getJTextField(), null);
140
			jPanel.add(getJButton(), null);
141
		}
142
		return jPanel;
143
	}
144

  
145
	/**
146
	 * This method initializes jTextField
147
	 *
148
	 * @return javax.swing.JTextField
149
	 */
150
	private JTextField getJTextField() {
151
		if (jTextField == null) {
152
			jTextField = new JTextField();
153
			jTextField.setPreferredSize(new Dimension(200, 20));
154
			jTextField.setText(pluginDirectory);
155
			jTextField.addKeyListener(new KeyListener() {
156
               	public void keyPressed(KeyEvent e) { changed = true; }
157
				public void keyReleased(KeyEvent e) { changed = true; }
158
				public void keyTyped(KeyEvent e){ changed = true; }
159
			});
160
		}
161
		return jTextField;
162
	}
163

  
164
	/**
165
	 * This method initializes jButton
166
	 *
167
	 * @return javax.swing.JButton
168
	 */
169
	private JButton getJButton() {
170
		if (jButton == null) {
171
			jButton = new JButton();
172
			jButton.setText(PluginServices.getText(this, "examinar"));
173
			jButton.addActionListener(new java.awt.event.ActionListener() {
174
				public void actionPerformed(java.awt.event.ActionEvent e) {
175
					JFileChooser jfc = new JFileChooser();
176
					jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
177
					jfc.addChoosableFileFilter(new GenericFileFilter("",
178
							PluginServices.getText(this,
179
								"directorio_extensiones")));
180

  
181
					if (jfc.showOpenDialog(
182
								(Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
183
						getJTextField().setText(jfc.getSelectedFile()
184
												   .getAbsolutePath());
185
						changed = true;
186
					}
187
				}
188
			});
189

  
190
		}
191
		return jButton;
192
	}
193

  
194
	public boolean isValueChanged() {
195
		return changed;
196
	}
197

  
198
	public void setChangesApplied() {
199
		changed = false;
200
	}
201

  
202
}  //  @jve:decl-index=0:visual-constraint="10,10"
203

  

Also available in: Unified diff