Revision 13730

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/view/toc/actions/ChangeSymbolTocMenuEntry.java
8 8
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol;
9 9
import com.iver.cit.gvsig.fmap.layers.FLayer;
10 10
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
11
import com.iver.cit.gvsig.fmap.layers.layerOperations.ClassifiableVectorial;
12 11
import com.iver.cit.gvsig.fmap.rendering.IClassifiedVectorialLegend;
13 12
import com.iver.cit.gvsig.fmap.rendering.ILegend;
14 13
import com.iver.cit.gvsig.fmap.rendering.SingleSymbolLegend;
15 14
import com.iver.cit.gvsig.gui.styling.SymbolSelector;
16 15
import com.iver.cit.gvsig.project.Project;
16
import com.iver.cit.gvsig.project.documents.view.legend.gui.ISymbolSelector;
17 17
import com.iver.cit.gvsig.project.documents.view.toc.AbstractTocContextMenuAction;
18 18
import com.iver.cit.gvsig.project.documents.view.toc.ITocItem;
19 19
import com.iver.cit.gvsig.project.documents.view.toc.TocItemLeaf;
......
61 61
 *
62 62
 * $Id$
63 63
 * $Log$
64
 * Revision 1.1  2007-09-10 15:34:39  jaume
64
 * Revision 1.2  2007-09-17 09:22:21  jaume
65
 * view draw frame rate now customizable
66
 *
67
 * Revision 1.1  2007/09/10 15:34:39  jaume
65 68
 * improvements on usability (double-clicks on TOC and some minor shorcuts)
66 69
 *
67 70
 * Revision 1.5  2007/01/04 07:24:31  caballero
......
125 128
			
126 129
			
127 130
			int shapeType = layer.getShapeType();
128
			SymbolSelector symSel = new SymbolSelector(oldSymbol, shapeType);
131
			ISymbolSelector symSel = SymbolSelector.createSymbolSelector(oldSymbol, shapeType);
129 132
			PluginServices.getMDIManager().addWindow(symSel);
130 133
			ISymbol newSymbol = (ISymbol) symSel.getSelectedObject();
131 134
			
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/preferencespage/ViewBehaviorPage.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.cit.gvsig.gui.preferencespage;
42

  
43
import java.awt.BorderLayout;
44
import java.awt.Dimension;
45
import java.awt.FlowLayout;
46

  
47
import javax.swing.BorderFactory;
48
import javax.swing.ImageIcon;
49
import javax.swing.JLabel;
50
import javax.swing.JPanel;
51
import javax.swing.JSlider;
52
import javax.swing.border.Border;
53

  
54
import org.gvsig.gui.beans.swing.JBlank;
55

  
56
import com.iver.andami.PluginServices;
57
import com.iver.andami.preferences.AbstractPreferencePage;
58
import com.iver.andami.preferences.StoreException;
59
import com.iver.andami.ui.mdiManager.IWindow;
60
import com.iver.cit.gvsig.fmap.MapControl;
61
import com.iver.cit.gvsig.project.documents.view.gui.BaseView;
62
import com.iver.utiles.XMLEntity;
63

  
64
/**
65
 * @author jaume dominguez faus - jaume.dominguez@iver.es
66
 */
67
public class ViewBehaviorPage extends AbstractPreferencePage{
68
	private static final int FACTORY_DEFAULT_MAPCONTEXT_FRAME_RATE = 3;
69
	protected String id = ViewBehaviorPage.class.getName();
70
	private ScreenRefreshRatePanel refreshRate;
71
	private static final String MAPCONTROL_ENABLE_ANIMATION_KEY_NAME = "MapControlEnableAnimation";
72
	private static final String MAPCONTROL_REFRESH_RATE_KEY_NAME = "MapControlRefreshRate";
73
	
74
	public ViewBehaviorPage() {
75
		super();
76
		setParentID(ViewPage.id);
77
		addComponent(new JBlank(1,1));
78
		refreshRate = new ScreenRefreshRatePanel();
79
		addComponent(refreshRate);
80
	}
81

  
82
	@Override
83
	public void setChangesApplied() {
84
		setChanged(false);
85
	}
86

  
87
	@Override
88
	public void storeValues() throws StoreException {
89
		final int frameRate = refreshRate.getFrameRate();
90
		final boolean bAnimationEnabled = frameRate>0;
91
		if (frameRate > 0) {
92
			MapControl.setDrawFrameRate(frameRate);
93
		}
94
		MapControl.setDrawAnimationEnabled(bAnimationEnabled);
95
		
96
		// Apply on-the-fly to all already created views
97
		IWindow[] windows = PluginServices.getMDIManager().getAllWindows();
98
		for (int i = 0; i < windows.length; i++) {
99
			if (windows[i] instanceof BaseView) {
100
				BaseView view = (BaseView) windows[i];
101
				view.getMapControl().applyFrameRate();
102
			}
103
		}
104
		
105
		PluginServices ps = PluginServices.getPluginServices(this);
106
		XMLEntity xml = ps.getPersistentXML();
107
		xml.putProperty(
108
				MAPCONTROL_REFRESH_RATE_KEY_NAME, 
109
				MapControl.getDrawFrameRate());
110
		xml.putProperty(
111
				MAPCONTROL_ENABLE_ANIMATION_KEY_NAME, 
112
				MapControl.isDrawAnimationEnabled());
113
		
114
	}
115

  
116
	public String getID() {
117
		return id;
118
	}
119

  
120
	public ImageIcon getIcon() {
121
		return null;
122
	}
123

  
124
	public JPanel getPanel() {
125
		return this;
126
	}
127

  
128
	public String getTitle() {
129
		return PluginServices.getText(this, "behavior");
130
	}
131

  
132
	public void initializeDefaults() {
133
		refreshRate.setFrameRate(FACTORY_DEFAULT_MAPCONTEXT_FRAME_RATE);
134
	}
135

  
136
	public void initializeValues() {
137
		PluginServices ps = PluginServices.getPluginServices(this);
138
		XMLEntity xml = ps.getPersistentXML();
139

  
140
		// View refresh rate
141
		if (xml.contains(MAPCONTROL_REFRESH_RATE_KEY_NAME)) {
142
			MapControl.setDrawFrameRate(xml.getIntProperty(MAPCONTROL_REFRESH_RATE_KEY_NAME));
143
		}
144
		
145
		// View animation enabled
146
		if (xml.contains(MAPCONTROL_ENABLE_ANIMATION_KEY_NAME)) {
147
			MapControl.setDrawAnimationEnabled(xml.getBooleanProperty(MAPCONTROL_ENABLE_ANIMATION_KEY_NAME));
148
		}
149
		
150
		
151
		int frameRate = MapControl.getDrawFrameRate();
152
		if (!MapControl.isDrawAnimationEnabled())
153
			frameRate = 0;
154
		refreshRate.setFrameRate(frameRate);
155
	}
156

  
157
	public boolean isValueChanged() {
158
		return super.hasChanged();
159
	}
160
	
161
	private class ScreenRefreshRatePanel extends JPanel {
162
		private static final long serialVersionUID = -68376902499946576L;
163
		private JSlider sldRefreshRate;
164

  
165
		public ScreenRefreshRatePanel() {
166
    		setPreferredSize(new Dimension(500, 200));
167
            Border border=BorderFactory.createTitledBorder(
168
            		PluginServices.getText(this, "options.view.behavior.screen_refreshrate"));
169
            setBorder(border);
170
    		setLayout(new BorderLayout(15, 15));
171
    		
172
    		JPanel aux = new JPanel(new BorderLayout());
173
    		aux.add(new JLabel(
174
    				PluginServices.getText(
175
    						this,
176
    						"options.view.behavior.screen_refreshrate.none")),
177
    				BorderLayout.WEST);
178
    		JPanel aux2 = new JPanel(new FlowLayout(FlowLayout.CENTER));
179
    		aux2.add(new JLabel(
180
    				PluginServices.getText(
181
    						this,
182
    						"options.view.behavior.screen_refreshrate.half")),
183
    				BorderLayout.CENTER);
184
    		aux.add(aux2);
185
    		aux.add(new JLabel(
186
    				PluginServices.getText(
187
    						this,
188
    						"options.view.behavior.screen_refreshrate.full")),
189
    				BorderLayout.EAST);
190

  
191
    		add(aux, BorderLayout.NORTH);
192
    		aux = new JPanel(new BorderLayout());
193
    		aux.add(getSldRefreshRate(), BorderLayout.NORTH);
194
    		aux.add(new JBlank(10, 20), BorderLayout.SOUTH);
195
    		add(aux, BorderLayout.CENTER);
196
    		add(new JLabel(PluginServices.
197
    				getText(this, "options.view.behavior.screen_refresh_rate.help")),
198
    				BorderLayout.SOUTH);
199
    	}
200

  
201
		private JSlider getSldRefreshRate() {
202
			if (sldRefreshRate == null) {
203
				sldRefreshRate = new JSlider(0, 30);
204
				
205
			}
206

  
207
			return sldRefreshRate;
208
		}
209
		
210
		public int getFrameRate() {
211
			return getSldRefreshRate().getValue();
212
		}
213
		
214
		public void setFrameRate(int sampleRate) {
215
			if (sampleRate<=30)
216
				getSldRefreshRate().setValue(sampleRate);
217
		}
218
		
219
    }
220
	
221
	@Override
222
	public String getParentID() {
223
		if (super.getParentID()==null) {
224
			setParentID(ViewPage.id);
225
		}
226
		return super.getParentID();
227
	}
228
}
0 229

  
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/preferencespage/ViewPage.java
43 43
*
44 44
* $Id$
45 45
* $Log$
46
* Revision 1.26  2007-05-09 16:08:14  jaume
46
* Revision 1.27  2007-09-17 09:22:10  jaume
47
* view draw frame rate now customizable
48
*
49
* Revision 1.26  2007/05/09 16:08:14  jaume
47 50
* *** empty log message ***
48 51
*
49 52
* Revision 1.25  2007/03/06 16:35:02  caballero
......
237 240

  
238 241
	private JTextField txtZoomInFactor;
239 242
	private JTextField txtZoomOutFactor;
240
	protected String id;
243
	protected static String id = ViewPage.class.getName();
241 244
	private ImageIcon icon;
242 245
	private JLabel lblDefaultProjection;
243 246
	private JButton btnChangeProjection;
......
282 285
	 */
283 286
	public ViewPage() {
284 287
		super();
285
		id = this.getClass().getName();
288
		
286 289
		icon = new ImageIcon(this.getClass().getClassLoader().getResource("images/Vista.png"));
287 290

  
288 291

  

Also available in: Unified diff