Revision 19978

View differences:

trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/ui/EnhancedDialog.java
63 63
		this.setPreferredSize(new Dimension(width, height));
64 64
		this.setSize(width, height);
65 65
		this.setLayout(new BorderLayout(5, 5));
66
		this.lyr = lyr;
66 67
		
67
		graphicsPanel = new GraphicsPanel(lyr);
68
		graphicsPanel = new GraphicsPanel(this.lyr);
68 69
		filteredPreview = new PreviewFiltering();
69
		filteredPreview.setFilterStatus(lyr.getRender().getFilterList().getStatusCloned());
70
		controlsPanel = new SelectorsPanel(lyr, lyrs);
70
		filteredPreview.setFilterStatus(this.lyr.getRender().getFilterList().getStatusCloned());
71
		controlsPanel = new SelectorsPanel(this.lyr, lyrs);
71 72
				
72
		this.lyr = lyr;
73 73
		this.add(getPreviewBasePanel(), BorderLayout.CENTER);
74 74
		
75 75
		EnhancedListener listener = new EnhancedListener(controlsPanel, graphicsPanel, getPreviewBasePanel(), this, filteredPreview);
76 76
		graphicsPanel.setListener(listener);
77 77
		
78
		graphicsPanel.updateHistogram();
79
		listener.updatePreview();
80
		
78 81
		View view = (View) PluginServices.getMDIManager().getActiveWindow();
79 82
		viewName = PluginServices.getMDIManager().getWindowInfo(view).getTitle();
80 83
		
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/ui/EnhancedListener.java
304 304
	/**
305 305
	 * Coge los datos que hay en los histogramas y los aplica a la vista previa
306 306
	 */
307
	private void updatePreview() {
307
	public void updatePreview() {
308 308
		enhancedManager.updatePreview();
309 309
		enhancedManager.updateHistogramOut();
310 310
	}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/ui/GraphicsPanel.java
85 85
		} catch (InterruptedException e) {
86 86
			hist = null;
87 87
		}
88

  
88 89
		init();
90

  
91
		if (lyr.isRGB())
92
			getRGB().setSelected(true);
93
		else
94
			getRGB().setEnabled(false);
89 95
	}
90 96
	
91 97
	/**
trunk/extensions/extRasterTools-SE/src/org/gvsig/fmap/raster/layers/FLyrRasterSE.java
1358 1358
	}
1359 1359

  
1360 1360
	/**
1361
	 * Metodo para consultar si una capa puede ser un RGB. Suponemos que es un RGB
1362
	 * si tiene mas de 3 bandas, el tipo de datos es de tipo byte y su
1363
	 * interpretacion de color tiene asignada los tres colores.
1364
	 * @return boolean
1365
	 */
1366
	public boolean isRGB() {
1367
		if ((dataset == null) || (render == null))
1368
			return false;
1369
		
1370
		if (dataset.getBandCount() < 3)
1371
			return false;
1372

  
1373
		if (dataset.getDataType()[0] != IBuffer.TYPE_BYTE)
1374
			return false;
1375

  
1376
		boolean R = false;
1377
		boolean G = false;
1378
		boolean B = false;
1379

  
1380
		int[] renderBands = render.getRenderBands();
1381
		for (int i = 0; i < renderBands.length; i++) {
1382
			if (renderBands[i] >= 0) {
1383
				switch (i) {
1384
					case 0:
1385
						R = true;
1386
						break;
1387
					case 1:
1388
						G = true;
1389
						break;
1390
					case 2:
1391
						B = true;
1392
						break;
1393
				}
1394
			}
1395
		}
1396

  
1397
		if (R && G && B)
1398
			return true;
1399

  
1400
		return false;
1401
	}
1402
	
1403
	/**
1361 1404
	 * Obtiene el grid de la capa completa. Hay que tener cuidado porque cuando se hace esta
1362 1405
	 * petici?n se carga un buffer con todos los datos de la capa. Este buffer puede ser
1363 1406
	 * cacheado o no dependiendo del tama?o de esta.

Also available in: Unified diff