Revision 427

View differences:

trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/castor/Project.java
144 144
    public void addTable(ProjectTable t) {
145 145
        //TODO implementar bien
146 146

  
147
        /*
147
        /**
148 148
         * Como las tablas se pueden a?adir cuando
149 149
         * se pincha en "ver tabla" de una capa, se
150 150
         * puede intentar a?adir dos veces la misma
151 151
         * tabla
152
         *
152
         */
153 153
           for (int i = 0; i < tables.size(); i++){
154
                   if (((ProjectTable)tables.get(i)).getModelo().getFRecordset() == t.getModelo().getFRecordset()){
154
                   if (((ProjectTable)tables.get(i)).getName().equals(t.getName())){
155 155
                           return;
156 156
                   }
157 157
           }
......
159 159
           t.addPropertyChangeListener(this);
160 160
                   modified = true;
161 161
           change.firePropertyChange("", null, null);
162
         */
162
         
163 163
    }
164 164

  
165 165
    /**
trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/ProjectWindow.java
10 10
import javax.swing.JOptionPane;
11 11
import javax.swing.JPanel;
12 12

  
13
import com.hardcode.driverManager.DriverLoadException;
14
import com.hardcode.gdbms.engine.data.DBDriver;
15
import com.hardcode.gdbms.engine.data.DataSource;
16
import com.hardcode.gdbms.engine.data.DataSourceFactory;
13 17
import com.iver.cit.gvsig.ProjectExtension;
18
import com.iver.cit.gvsig.gui.DataBaseOpenDialog;
19
import com.iver.cit.gvsig.gui.FOpenDialog;
20
import com.iver.cit.gvsig.gui.FileOpenDialog;
21
import com.iver.cit.gvsig.gui.Table;
14 22
import com.iver.cit.gvsig.gui.layout.Layout;
15 23
import com.iver.cit.gvsig.project.castor.Project;
16 24
import com.iver.cit.gvsig.project.castor.ProjectElement;
......
124 132

  
125 133
            if (btnMapas.isSelected()) {
126 134
                model = new DefaultListModel(p.getMaps());
127
				getBtnNuevo().setEnabled(true);
135
//				getBtnNuevo().setEnabled(true);
128 136
            } else if (btnTablas.isSelected()) {
129 137
                model = new DefaultListModel(p.getTables());
130
                getBtnNuevo().setEnabled(false);
138
//                getBtnNuevo().setEnabled(false);
131 139
            } else {
132 140
                model = new DefaultListModel(p.getViews());
133
				getBtnNuevo().setEnabled(true);
141
//				getBtnNuevo().setEnabled(true);
134 142
            }
135 143

  
136 144
            lstDocs.setModel(model);
......
198 206
            map.getModel().setProjectMap(map);
199 207
            p.addMap(map);
200 208
        } else if (btnTablas.isSelected()) {
201
        	//TODO implementar bien
202
        	/*
203
        	SelectedFile t = (SelectedFile) App.instance.getMDIContext()
204
                                                  .showFileChooser("openTable",
205
                    "Nueva_tabla", false,
206
                    MDIApplicationContext.FILES_AND_DIRECTORIES);
209
			try {
210
				FOpenDialog fopen = new FOpenDialog();
211
				FileOpenDialog fod = new FileOpenDialog();
212
				DataBaseOpenDialog dbod = new DataBaseOpenDialog();
213
				dbod.setClasses(new Class[]{DBDriver.class});
214
		        fopen.addTab("Fichero", fod);
215
		        fopen.addTab("Base de datos", dbod);
216
		        App.instance.getMDIContext().addView(fopen);
207 217

  
208
            if (t == null) {
209
                return;
210
            }
211
            
212
            FRecordset tabla = (FRecordset) t.read();
213
            
214
            ProjectTable table = ProjectFactory.createTable(Utilities.getMessage(this, "untitled"));
215
            table.setModelo(new FTable(tabla));
216
            p.addTable(table);
217
            */
218
		        String driverName = fopen.getDriverName();
219
		        JPanel panel = fopen.getSelectedTab();
220
		        if (panel instanceof FileOpenDialog){
221
		        	
222
		        }else if (panel instanceof DataBaseOpenDialog){
223
		        	int port = -1;
224
		        	try{
225
		        		port = Integer.parseInt(dbod.getPort());
226
		        	}catch(NumberFormatException e){
227
		        	}
228
		        	String name = dbod.getHost() + "/" + dbod.getDataBase();
229
		        	if (port != -1){
230
		        		name = dbod.getHost() + ":" + port + "/" + dbod.getDataBase();
231
		        	}
232
		        	String user = dbod.getUser().trim();
233
		        	String password = dbod.getPassword();
234
		        	if (user.equals("")){
235
		        		user = null;
236
		        		password = null;
237
		        	}
238
		        	
239
					DataSourceFactory.addDBDataSource(name, dbod.getHost(), port, user, password, dbod.getDataBase(), dbod.getTable(), driverName);
240
					
241
					Table t = new Table();
242
					DataSource dataSource = DataSourceFactory.createRandomDataSource(name);
243
					t.setModel(dataSource);
244
					App.instance.getMDIContext().addView(t);
245

  
246
					ProjectExtension ext = (ProjectExtension) App.instance.getPc().getExtension(ProjectExtension.class);
247
					ProjectTable projectTable = ProjectFactory.createTable(name);
248
					projectTable.setModelo(dataSource);
249
		            t.setModel(dataSource);
250
		            ext.getProject().addTable(projectTable);
251
		        }
252
				
253
			} catch (DriverLoadException e) {
254
				App.instance.getNm().addError("Error al cargar los drivers", e);
255
			}
218 256
        } else {
219 257
            ProjectView vista = ProjectFactory.createView(Utilities.getMessage(this, "untitled"));
220 258
            p.addView(vista);
......
237 275
			l.fullRect();
238 276
			App.instance.getMDIContext().addView(l);
239 277
        } else if (btnTablas.isSelected()) {
240
        	//TODO implementar bien
241
        	/*
242 278
			com.iver.cit.gvsig.gui.Table vista = new com.iver.cit.gvsig.gui.Table();
243 279
			int index = lstDocs.getSelectedIndex();
244 280

  
......
248 284

  
249 285
			vista.setModel(((ProjectTable) p.getTables().get(index)).getModelo());
250 286
			App.instance.getMDIContext().addView(vista);
251
			*/
252 287
        } else {
253 288
            com.iver.cit.gvsig.gui.View vista = new com.iver.cit.gvsig.gui.View();
254 289
			int index = lstDocs.getSelectedIndex();

Also available in: Unified diff