Revision 9199

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/view/gui/BaseView.java
54 54
import com.iver.andami.ui.mdiManager.SingletonWindow;
55 55
import com.iver.andami.ui.mdiManager.WindowInfo;
56 56
import com.iver.cit.gvsig.fmap.MapControl;
57
import com.iver.cit.gvsig.project.documents.gui.IDocumentWindow;
57 58
import com.iver.cit.gvsig.project.documents.gui.WindowData;
58 59
import com.iver.cit.gvsig.project.documents.view.IProjectView;
59 60
import com.iver.cit.gvsig.project.documents.view.MapOverview;
......
65 66
//import java.util.HashMap;
66 67

  
67 68
public abstract class BaseView extends JPanel implements IView,
68
IWindowListener, IWindowTransform, SingletonWindow {
69
IWindowListener, IWindowTransform, SingletonWindow, IDocumentWindow {
69 70

  
70 71
  protected MapControl m_MapControl;
71 72
  protected MapOverview m_MapLoc;
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/gui/IDocumentWindow.java
1
/**
2
 * 
3
 */
4
package com.iver.cit.gvsig.project.documents.gui;
5

  
6
/**
7
 * @author Miguel ?ngel Querol Carratal? <querol_mig@gva.es>
8
 *
9
 * Interfaz que tienen que implementar las clases de interfaz de 
10
 * usuario de los documentos que se quieran insertar en gvSIG. Estas
11
 * clases se usar?n para cargar y guardar las propiedades graficas de la ventana
12
 * del documento como tama?os y posiciones.
13
 */
14
public interface IDocumentWindow {
15
	
16
	/**
17
	 * M?todo para obtener un windowData con las propiedades de la
18
	 * ventana del documento como pueden ser tama?os, posiciones y
19
	 * estados de sliders, divisores etc. Este m?todo ser? llamado
20
	 * para guardar los datos a disco. Lo llamar? la clase project para 
21
	 * obtener los datos y asi guardarlos.
22
	 * @return un windowData con los datos de la ventana.
23
	 */
24
	public WindowData getWindowData() ;
25
	
26
	/**
27
	 * M?todo para cargar los datos de la ventana de proyecto. El widowData guardado
28
	 * se le pasa a la clase de interfaz de usuario correspondiente a la ventana
29
	 * del documento.
30
	 * @param winData
31
	 */
32
	public void setWindowData(WindowData winData);
33
	
34
}
0 35

  
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/Project.java
92 92
import com.iver.cit.gvsig.project.documents.ProjectDocumentFactory;
93 93
import com.iver.cit.gvsig.project.documents.exceptions.OpenException;
94 94
import com.iver.cit.gvsig.project.documents.exceptions.SaveException;
95
import com.iver.cit.gvsig.project.documents.gui.IDocumentWindow;
95 96
import com.iver.cit.gvsig.project.documents.gui.ProjectWindow;
96 97
import com.iver.cit.gvsig.project.documents.gui.WindowData;
97 98
import com.iver.cit.gvsig.project.documents.layout.ProjectMap;
......
780 781
						windowProperties.putProperty("zPosition", winIndex);
781 782
						
782 783
						// TODO this will be generalized to all ProjectDocuments as soon as possible
783
						if (viewWindow instanceof BaseView) {
784
							BaseView win = (BaseView) viewWindow;
784
//						if (viewWindow instanceof BaseView) {
785
//							BaseView win = (BaseView) viewWindow;
786
//							windowProperties.addChild(win.getWindowData().getXMLEntity());
787
//						}
788
						if (viewWindow instanceof IDocumentWindow) {
789
							IDocumentWindow win = (IDocumentWindow) viewWindow;
785 790
							windowProperties.addChild(win.getWindowData().getXMLEntity());
786 791
						}
792
						
787 793
						propertyList.addChild(windowProperties);
788 794
					}
789 795
				}
......
962 968
						ProjectDocument pd = this.getProjectDocumentByName(
963 969
								documentName, documentType);
964 970
						IWindow win = null;
965
						if (pd instanceof ProjectView
971
						if (pd instanceof ProjectDocument
966 972
								&& child.getChildrenCount()>0
967 973
								&& child.getChild(0).getName().equals("windowData")) {
968 974
							// this will be generalized to all ProjectDocuments as soon as possible
969 975
							WindowData windowData = new WindowData();
970 976
							windowData.setXMLEntity(child.getChild(0));
971
							((ProjectView)pd).storeWindowData(windowData);
972
							win = ((ProjectView)pd).createWindow();
977
							pd.storeWindowData(windowData);
978
							win = ((ProjectDocument)pd).createWindow();
973 979
						} else {
974 980
							win = pd.createWindow();
975 981
						}

Also available in: Unified diff