Revision 33420 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/project/documents/layout/fframes/FFrameView.java

View differences:

FFrameView.java
55 55
import java.awt.image.BufferedImage;
56 56

  
57 57
import org.cresques.cts.IProjection;
58
import org.slf4j.Logger;
59
import org.slf4j.LoggerFactory;
60

  
58 61
import org.gvsig.andami.PluginServices;
59 62
import org.gvsig.andami.messages.NotificationManager;
60 63
import org.gvsig.app.project.Project;
......
65 68
import org.gvsig.app.project.documents.layout.fframes.gui.dialogs.IFFrameDialog;
66 69
import org.gvsig.app.project.documents.layout.gui.LayoutPanel;
67 70
import org.gvsig.app.project.documents.view.DefaultViewDocument;
71
import org.gvsig.app.project.documents.view.ViewDocument;
68 72
import org.gvsig.compat.print.PrintAttributes;
69 73
import org.gvsig.fmap.dal.exception.ReadException;
70 74
import org.gvsig.fmap.geom.Geometry;
......
82 86
import org.gvsig.fmap.mapcontext.events.listeners.ViewPortListener;
83 87
import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendChangedEvent;
84 88
import org.gvsig.fmap.mapcontext.rendering.legend.events.listeners.LegendListener;
89
import org.gvsig.tools.ToolsLocator;
90
import org.gvsig.tools.dynobject.DynStruct;
91
import org.gvsig.tools.persistence.PersistenceManager;
92
import org.gvsig.tools.persistence.PersistentState;
93
import org.gvsig.tools.persistence.exception.PersistenceException;
85 94
import org.gvsig.utils.XMLEntity;
86
import org.slf4j.Logger;
87
import org.slf4j.LoggerFactory;
88 95

  
89 96

  
90 97

  
......
95 102
 */
96 103
public class FFrameView extends FFrame implements ViewPortListener,
97 104
    LegendListener, IFFrameUseProject, IFFrameUseFMap {
105
	public static final String PERSISTENCE_DEFINITION_NAME = "FFrameText";
106
	
107
	private static final String MODE_FIELD = "mode";
108
	private static final String TYPESCALE_FIELD = "typeScale";  
109
	private static final String EXTENSION_FIELD = "extension";
110
	private static final String QUALITY_FIELD  = "quality";  
111
	private static final String VIEWING_FIELD = "viewing";
112
	private static final String BLINKED_FIELD = "bLinked";  
113
	private static final String MAPUNITS_FIELD = "mapUnits";
114
	private static final String SCALE_FIELD = "scale";  
115
	private static final String VIEW_FIELD = "view";
116
	private static final String ENVELOPE_FIELD = "envelope";     
117
	private static final String SHOWGRID_FIELD = "showGrid";  
118
	private static final String GRID_FIELD = "gridview";
119
	
98 120
	private static final GeometryManager geomManager = GeometryLocator.getGeometryManager();
99 121
	private static final Logger logger = LoggerFactory.getLogger(FFrameView.class);
100 122
    public static final int PRESENTACION = 0;
......
105 127
    protected int m_quality = PRESENTACION;
106 128
    protected int m_viewing = 0;
107 129
    protected boolean m_bLinked = true;
108
    protected DefaultViewDocument view = null;
130
    protected ViewDocument view = null;
109 131
    protected MapContext m_fmap = null;
110 132
    protected double m_Scale = 0;
111 133
    protected int m_mapUnits = 1; //Metros.
......
280 302
     *
281 303
     * @return Modelo de la vista.
282 304
     */
283
    public DefaultViewDocument getView() {
305
    public ViewDocument getView() {
284 306
        return view;
285 307
    }
286 308

  
......
380 402
											.getImageHeight());
381 403
								}
382 404
								g.translate(r.getX(), r.getY());
383
								g.drawImage(m_image, 0, 0, getLayout().getLayoutControl());
405
								g.drawImage(m_image, 0, 0, getLayout().getLayoutControl().getComponent());
384 406
								g.translate(-r.getX(), -r.getY());
385 407
								scaleAnt = getLayout().getLayoutControl().getAT().getScaleX();
386 408
								origin = getLayout().getLayoutControl().getRectOrigin();//.clone();
......
1080 1102
        	view.getMapContext().getViewPort().refreshExtent();
1081 1103
		}
1082 1104
	}
1105
	
1106
	public static void registerPersistent() {
1107
		PersistenceManager manager = ToolsLocator.getPersistenceManager();
1108
		if( manager.getDefinition(PERSISTENCE_DEFINITION_NAME)==null ) {
1109
			DynStruct definition = manager.addDefinition(
1110
					FFrameView.class,
1111
					PERSISTENCE_DEFINITION_NAME,
1112
					"FFrameView persistence definition",
1113
					null, 
1114
					null
1115
			); 
1116

  
1117
			definition.extend(manager.getDefinition(FFrame.PERSISTENCE_DEFINITION_NAME));	
1118
		
1119
			
1120
			definition.addDynFieldInt(MODE_FIELD).setMandatory(true);	
1121
			definition.addDynFieldInt(TYPESCALE_FIELD).setMandatory(true);	
1122
			definition.addDynFieldInt(EXTENSION_FIELD).setMandatory(true);
1123
			definition.addDynFieldInt(QUALITY_FIELD).setMandatory(true);
1124
			definition.addDynFieldInt(VIEWING_FIELD).setMandatory(true);
1125
			definition.addDynFieldBoolean(BLINKED_FIELD).setMandatory(true);
1126
			definition.addDynFieldInt(MAPUNITS_FIELD).setMandatory(true);
1127
			definition.addDynFieldDouble(SCALE_FIELD).setMandatory(true);
1128
			definition.addDynField(VIEW_FIELD).setClassOfValue(ViewDocument.class).setMandatory(true);
1129
			definition.addDynFieldBoolean(ENVELOPE_FIELD).setClassOfValue(Envelope.class).setMandatory(false);
1130
			definition.addDynFieldBoolean(SHOWGRID_FIELD).setMandatory(true);
1131
			definition.addDynFieldString(GRID_FIELD).setClassOfValue(IFFrame.class).setMandatory(true);
1132
		}
1133
	}
1134

  
1135
	@Override
1136
	public void loadFromState(PersistentState state)
1137
	throws PersistenceException {
1138
		super.loadFromState(state);
1139
		m_Mode = state.getInt(MODE_FIELD);
1140
		m_typeScale = state.getInt(TYPESCALE_FIELD);  
1141
		m_extension = state.getInt(EXTENSION_FIELD);
1142
		m_quality = state.getInt(QUALITY_FIELD);  
1143
		m_viewing = state.getInt(VIEWING_FIELD);
1144
		m_bLinked = state.getBoolean(BLINKED_FIELD);  
1145
		m_mapUnits = state.getInt(MAPUNITS_FIELD);
1146
		m_Scale = state.getDouble(SCALE_FIELD);  
1147
		view = (ViewDocument)state.get(VIEW_FIELD);
1148

  
1149
		if (state.hasValue(ENVELOPE_FIELD)){
1150
			this.getMapContext().getViewPort().setEnvelope((Envelope)state.get(ENVELOPE_FIELD));
1151
		}
1152
         
1153
        showGrid = state.getBoolean(SHOWGRID_FIELD);  
1154
        grid = (IFFrame)state.get(GRID_FIELD);
1155
	}
1156

  
1157
	@Override
1158
	public void saveToState(PersistentState state) throws PersistenceException {
1159
		super.saveToState(state);
1160
		state.set(MODE_FIELD, m_Mode);
1161
		state.set(TYPESCALE_FIELD, m_typeScale);  
1162
		state.set(EXTENSION_FIELD, m_extension);
1163
		state.set(QUALITY_FIELD, m_quality);  
1164
		state.set(VIEWING_FIELD, m_viewing);
1165
		state.set(BLINKED_FIELD, m_bLinked);  
1166
		state.set(MAPUNITS_FIELD, m_mapUnits);
1167
		state.set(SCALE_FIELD, m_Scale);  
1168
		state.set(VIEW_FIELD, view);
1169

  
1170
        if (getMapContext() != null && getMapContext().getViewPort().getEnvelope() != null) {
1171
        	state.set(ENVELOPE_FIELD, getMapContext().getViewPort().getEnvelope());  
1172
        }
1173
        
1174
        state.set(SHOWGRID_FIELD, showGrid);  
1175
		state.set(GRID_FIELD, grid);
1176
	}
1083 1177
}

Also available in: Unified diff