Revision 12716

View differences:

trunk/libraries/libUIComponent/src/org/gvsig/gui/beans/listview/ListViewComponent.java
299 299
					((JScrollPane) jViewport.getParent()).getVerticalScrollBar().setUnitIncrement(((ListViewItem) items.get(0)).getItemRectangle().height);
300 300
			}
301 301
		}
302

  
303 302
	}
304 303

  
305 304
	public boolean isMultiSelect() {
......
416 415

  
417 416
			if (jViewport.getParent() instanceof JScrollPane) {
418 417
				ListViewItem lvi = ((ListViewItem) items.get(pos));
419
				Rectangle rectangle = lvi.getItemRectangle();
418
				Rectangle rectangle = (Rectangle) lvi.getItemRectangle().clone();
420 419
				if (rectangle == null)
421 420
					return;
422 421
				rectangle.setLocation((int) rectangle.getX() - getVisibleRect().x, (int) rectangle.getY() - getVisibleRect().y);
423 422
				jViewport.scrollRectToVisible(rectangle);
423
				((JScrollPane)jViewport.getParent()).getVerticalScrollBar().paintImmediately(((JScrollPane)jViewport.getParent()).getVerticalScrollBar().getVisibleRect());
424 424
			}
425 425
		}
426 426
	}
......
560 560
			((ListViewItem) items.get(i)).setSelected(i == value);
561 561
		}
562 562
		viewItem(value);
563
		update(getGraphics());
563 564
	}
564 565

  
565 566
	/**
......
701 702
	}
702 703

  
703 704
	/**
704
	 * Mueve el cursor hacia arriba
705
	 * Mueve el cursor hacia abajo
705 706
	 */
706
	private void moveUp(boolean refresh) {
707
	private void moveDown() {
707 708
		int selItem = -1;
708
		for (int i = items.size() - 1; i >= 0; i--) {
709

  
710
		for (int i = 0; i < items.size(); i++) {
709 711
			if (cursorPos == i)
710 712
				continue;
711
			if ((((ListViewItem) items.get(i)).getItemRectangle().y + ((ListViewItem) items.get(i)).getItemRectangle().height) <= ((ListViewItem) items.get(cursorPos)).getItemRectangle().y) {
713
			if (((ListViewItem) items.get(i)).getItemRectangle().y >= (((ListViewItem) items.get(cursorPos)).getItemRectangle().y + ((ListViewItem) items.get(cursorPos)).getItemRectangle().height)) {
712 714
				if (((ListViewItem) items.get(i)).getItemRectangle().x == ((ListViewItem) items.get(cursorPos)).getItemRectangle().x) {
713 715
					selItem = i;
714 716
					break;
......
718 720

  
719 721
		if (selItem != -1) {
720 722
			cursorPos = selItem;
721
			if (refresh) {
722
				setSelectedIndex(selItem);
723
				viewItem(selItem);
724
			}
723
			setSelectedIndex(selItem);
725 724
		}
726 725
	}
727 726

  
728 727
	/**
729
	 * Mueve el cursor hacia abajo
728
	 * Mueve el cursor hacia la izquierda
730 729
	 */
731
	private void moveDown(boolean refresh) {
730
	private void moveLeft() {
732 731
		int selItem = -1;
733
		for (int i = 0; i < items.size(); i++) {
732
		for (int i = items.size() - 1; i >= 0; i--) {
734 733
			if (cursorPos == i)
735 734
				continue;
736
			if (((ListViewItem) items.get(i)).getItemRectangle().y >= (((ListViewItem) items.get(cursorPos)).getItemRectangle().y + ((ListViewItem) items.get(cursorPos)).getItemRectangle().height)) {
737
				if (((ListViewItem) items.get(i)).getItemRectangle().x == ((ListViewItem) items.get(cursorPos)).getItemRectangle().x) {
735
			if ((((ListViewItem) items.get(i)).getItemRectangle().x + ((ListViewItem) items.get(i)).getItemRectangle().width) <= ((ListViewItem) items.get(cursorPos)).getItemRectangle().x) {
736
				if (((ListViewItem) items.get(i)).getItemRectangle().y == ((ListViewItem) items.get(cursorPos)).getItemRectangle().y) {
738 737
					selItem = i;
739 738
					break;
740 739
				}
......
743 742

  
744 743
		if (selItem != -1) {
745 744
			cursorPos = selItem;
746
			if (refresh) {
747
				setSelectedIndex(selItem);
748
				viewItem(selItem);
749
			}
745
			setSelectedIndex(selItem);
750 746
		}
751 747
	}
752 748

  
753 749
	/**
754
	 * Mueve el cursor hacia la izquierda
750
	 * Mueve el cursor hacia la derecha
755 751
	 */
756
	private void moveLeft() {
752
	private void moveRight() {
757 753
		int selItem = -1;
758
		for (int i = items.size() - 1; i >= 0; i--) {
754
		for (int i = 0; i < items.size(); i++) {
759 755
			if (cursorPos == i)
760 756
				continue;
761
			if ((((ListViewItem) items.get(i)).getItemRectangle().x + ((ListViewItem) items.get(i)).getItemRectangle().width) <= ((ListViewItem) items.get(cursorPos)).getItemRectangle().x) {
757
			if (((ListViewItem) items.get(i)).getItemRectangle().x >= (((ListViewItem) items.get(cursorPos)).getItemRectangle().x + ((ListViewItem) items.get(cursorPos)).getItemRectangle().width)) {
762 758
				if (((ListViewItem) items.get(i)).getItemRectangle().y == ((ListViewItem) items.get(cursorPos)).getItemRectangle().y) {
763 759
					selItem = i;
764 760
					break;
......
769 765
		if (selItem != -1) {
770 766
			cursorPos = selItem;
771 767
			setSelectedIndex(selItem);
772
			viewItem(selItem);
773 768
		}
774 769
	}
775 770

  
776 771
	/**
777
	 * Mueve el cursor hacia la derecha
772
	 * Mueve el cursor hacia arriba
778 773
	 */
779
	private void moveRight() {
774
	private void moveUp() {
780 775
		int selItem = -1;
781
		for (int i = 0; i < items.size(); i++) {
776
		for (int i = items.size() - 1; i >= 0; i--) {
782 777
			if (cursorPos == i)
783 778
				continue;
784
			if (((ListViewItem) items.get(i)).getItemRectangle().x >= (((ListViewItem) items.get(cursorPos)).getItemRectangle().x + ((ListViewItem) items.get(cursorPos)).getItemRectangle().width)) {
785
				if (((ListViewItem) items.get(i)).getItemRectangle().y == ((ListViewItem) items.get(cursorPos)).getItemRectangle().y) {
779
			if ((((ListViewItem) items.get(i)).getItemRectangle().y + ((ListViewItem) items.get(i)).getItemRectangle().height) <= ((ListViewItem) items.get(cursorPos)).getItemRectangle().y) {
780
				if (((ListViewItem) items.get(i)).getItemRectangle().x == ((ListViewItem) items.get(cursorPos)).getItemRectangle().x) {
786 781
					selItem = i;
787 782
					break;
788 783
				}
......
792 787
		if (selItem != -1) {
793 788
			cursorPos = selItem;
794 789
			setSelectedIndex(selItem);
795
			viewItem(selItem);
796 790
		}
797 791
	}
798 792

  
......
803 797
					renameItem(cursorPos);
804 798
					break;
805 799
				case KeyEvent.VK_DOWN:
806
					moveDown(true);
800
					moveDown();
807 801
					break;
808 802
				case KeyEvent.VK_LEFT:
809 803
					moveLeft();
......
812 806
					moveRight();
813 807
					break;
814 808
				case KeyEvent.VK_UP:
815
					moveUp(true);
809
					moveUp();
816 810
					break;
817 811
				case KeyEvent.VK_HOME:
818 812
					cursorPos = 0;
819 813
					setSelectedIndex(cursorPos);
820
					viewItem(cursorPos);
821 814
					break;
822 815
				case KeyEvent.VK_END:
823 816
					cursorPos = items.size() - 1;
824 817
					setSelectedIndex(cursorPos);
825
					viewItem(cursorPos);
826 818
					break;
827 819
				case KeyEvent.VK_PAGE_UP:
828 820
					if (items.size() > 0) {
829 821
						int cont = (int) Math.floor(this.getVisibleRect().getHeight() / ((ListViewItem) items.get(0)).getItemRectangle().height);
830 822
						for (int i = 0; i < cont; i++)
831
							moveUp(false);
832
						setSelectedIndex(cursorPos);
833
						viewItem(cursorPos);
823
							moveUp();
834 824
					}
835 825
					break;
836 826
				case KeyEvent.VK_PAGE_DOWN:
837 827
					if (items.size() > 0) {
838 828
						int cont = (int) Math.floor(this.getVisibleRect().getHeight() / ((ListViewItem) items.get(0)).getItemRectangle().height);
839 829
						for (int i = 0; i < cont; i++)
840
							moveDown(false);
841
						setSelectedIndex(cursorPos);
842
						viewItem(cursorPos);
830
							moveDown();
843 831
					}
844 832
					break;
845 833
			}
......
862 850
		switch (e.getKeyCode()) {
863 851
			case KeyEvent.VK_DOWN:
864 852
			case KeyEvent.VK_UP:
853
			case KeyEvent.VK_LEFT:
854
			case KeyEvent.VK_RIGHT:
865 855
			case KeyEvent.VK_HOME:
866 856
			case KeyEvent.VK_END:
867 857
			case KeyEvent.VK_PAGE_UP:
trunk/libraries/libRaster/src/org/gvsig/raster/datastruct/ColorTable.java
686 686
				return false;
687 687
		} else if (!filePath.equals(other.filePath))
688 688
			return false;
689
		if (interpolated != other.interpolated)
690
			return false;
691 689
		if (name == null) {
692 690
			if (other.name != null)
693 691
				return false;
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/properties/panels/InfoPanel.java
21 21
import java.awt.BorderLayout;
22 22
import java.awt.event.ItemEvent;
23 23
import java.awt.event.ItemListener;
24
import java.awt.geom.NoninvertibleTransformException;
25 24
import java.awt.geom.Point2D;
26 25
import java.io.File;
27 26

  
......
73 72
 * <P>
74 73
 * Metadatos
75 74
 * </P>
76
 * 
75
 *
77 76
 * @author Nacho Brodin (nachobrodin@gmail.com)
78
 * 
77
 *
79 78
 */
80 79

  
81 80
public class InfoPanel extends JPanel implements IRegistrablePanel { //, ComponentListener {
......
134 133

  
135 134
	/**
136 135
	 * This method initializes this
137
	 * 
136
	 *
138 137
	 * @return void
139 138
	 */
140 139
	public void initialize() {
......
153 152

  
154 153
	/**
155 154
	 * This method initializes jScrollPane
156
	 * 
155
	 *
157 156
	 * @return javax.swing.JScrollPane
158 157
	 */
159 158
	private JScrollPane getJScrollPane() {
......
166 165

  
167 166
	/**
168 167
	 * This method initializes jComboBox
169
	 * 
168
	 *
170 169
	 * @return javax.swing.JComboBox
171 170
	 */
172 171
	private JComboBox getJComboBox() {
......
178 177

  
179 178
	/**
180 179
	 * This method initializes jEditorPane
181
	 * 
180
	 *
182 181
	 * @return javax.swing.JEditorPane
183 182
	 */
184 183
	private JEditorPane getJEditorPane() {
......
196 195

  
197 196
	/**
198 197
	 * Controla la alternatividad de colores en la tabla.
199
	 * 
198
	 *
200 199
	 * @return Cadena con el color de la fila siguiente.
201 200
	 */
202 201
	private String getColor() {
......
208 207
	/**
209 208
	 * Obtiene una entrada de la tabla en formato HTML a partir de una propiedad,
210 209
	 * un valor y un color.
211
	 * 
210
	 *
212 211
	 * @param prop
213 212
	 *          Nombre de la propiedad
214 213
	 * @param value
215 214
	 *          Valor
216 215
	 * @param color
217 216
	 *          Color
218
	 *          
217
	 *
219 218
	 * @return Entrada HTML de la tabla
220 219
	 */
221 220
	private String setHTMLBasicProperty(String prop, String value) {
......
230 229

  
231 230
	/**
232 231
	 * Obtiene una cabecera de tabla en formato HTML a partir de un titulo.
233
	 * 
232
	 *
234 233
	 * @param title
235 234
	 *          Nombre del titulo
236 235
	 * @param colspan
237 236
	 *          Numero de celdas que ocupara el titulo
238
	 *          
237
	 *
239 238
	 * @return Entrada HTML del titulo
240 239
	 */
241 240
	private String setHTMLTitleTable(String title, int colspan) {
......
247 246

  
248 247
	/**
249 248
	 * Obtiene una cabecera de tabla en formato HTML a partir de un titulo.
250
	 * 
249
	 *
251 250
	 * @param content
252 251
	 *          Codigo HTML de las filas que componen la tabla.
253
	 *          
252
	 *
254 253
	 * @return Entrada HTML de la tabla completa
255 254
	 */
256 255
	private String setHTMLTable(String content) {
......
259 258

  
260 259
	/**
261 260
	 * Genera el HTML para todo el contenido.
262
	 * 
261
	 *
263 262
	 * @param content
264 263
	 *          Codigo HTML que ira en el <body>...</body>.
265
	 *          
264
	 *
266 265
	 * @return HTML completo
267 266
	 */
268 267
	private String setHTMLBody(String content) {
......
277 276
	/**
278 277
	 * M?todo que crea el c?digo HTML para la tabla de informaci?n general dentro
279 278
	 * del panel de informaci?n de raster
280
	 * 
279
	 *
281 280
	 * @return String con el c?figo HTML que corresponde con la tabla de
282 281
	 * informaci?n general
283 282
	 */
......
302 301
	/**
303 302
	 * M?todo que crea el c?digo HTML para la tabla de Coordenadas Geogr?ficas
304 303
	 * dentro del panel de informaci?n de raster
305
	 * 
304
	 *
306 305
	 * @return String con el c?figo HTML que corresponde con la tabla de
307 306
	 *         Coordenadas Geogr?ficas
308 307
	 */
......
323 322

  
324 323
		double pixelSizeX = op.getAffineTransform().getScaleX();
325 324
		double pixelSizeY = op.getAffineTransform().getScaleY();
326
	
325

  
327 326
		propiedades += setHTMLBasicProperty(PluginServices.getText(this, "tamPixX"), String.valueOf(pixelSizeX));
328 327
		propiedades += setHTMLBasicProperty(PluginServices.getText(this, "tamPixY"), String.valueOf(pixelSizeY));
329 328

  
......
333 332
	/**
334 333
	 * M?todo que crea la tabla de origen de datos dentro del panel
335 334
	 * de Informaci?n.
336
	 * 
335
	 *
337 336
	 * @return String con el c?digo HTML de la tabla.
338 337
	 */
339 338
	public String tablaOrigen() {
340 339
		rowColor = true;
341 340
		String propiedades = "";
342 341
		String bandType = "";
343
		
342

  
344 343
		String cabOrig = PluginServices.getText(this, "origin");
345
		
344

  
346 345
		String cabecera = setHTMLTitleTable(cabOrig, 2);
347 346
		bandType = RasterUtilities.typesToString(op.getDataType()[selectedDataSet]);
348 347

  
......
352 351

  
353 352
		return "<br>" + setHTMLTable(cabecera + propiedades);
354 353
	}
355
	
354

  
356 355
	/**
357 356
	 * M?todo para crear la tabla de proyecci?n del raster en el
358 357
	 * panel de informaci?n de propiedades de raster.
359
	 * 
358
	 *
360 359
	 * @return String con el c?digo HTML que genera la tabla de proyecci?n.
361 360
	 */
362 361
	public String tablaProjection() {
363 362
		rowColor = true;
364 363
		String propiedades = "";
365 364
		String projection = null;
366
		
365

  
367 366
		boolean datos = false;
368 367

  
369 368
		String cabProjection = PluginServices.getText(this, "projection");
......
375 374
			datos = true;
376 375
			propiedades += setHTMLBasicProperty(null, projection);
377 376
		}
378
		
377

  
379 378
		if (datos == false) return "";
380 379

  
381 380
		return "<br>" + setHTMLTable(cabecera + propiedades);
382 381
	}
383
	
382

  
384 383
	/**
385 384
	 * M?todo para crear la tabla de informaci?n de metadatos del raster en el
386 385
	 * panel de informaci?n de propiedades de raster.
387
	 * 
386
	 *
388 387
	 * @param Vector
389 388
	 *          con los georasterfiles cargados en la capa.
390 389
	 * @return String con el c?digo HTML que genera la tabla.
......
393 392
		rowColor = true;
394 393
		String propiedades = "";
395 394
		String[] metadatos = null;
396
		
395

  
397 396
		DatasetMetadata meta = null;
398 397
		boolean datos = false;
399 398

  
......
407 406
			for(int j = 0 ; j<metadatos.length ; j++){
408 407
				datos = true;
409 408
				int index = metadatos[j].indexOf("=");
410
				
409

  
411 410
				propiedades += setHTMLBasicProperty(metadatos[j].substring(0,index), metadatos[j].substring(index+1));
412 411
			}
413 412
		}
414
		
413

  
415 414
		if(datos == false)
416 415
			return "";
417 416

  
418 417
		return "<br>" + setHTMLTable(cabecera + propiedades);
419 418
	}
420 419

  
421
	/**  
420
	/**
422 421
	 * M?todo que dibuja las tablas HTML del panel de informaci?n dentro de las
423 422
	 * propiedades de r?ster. Se llama cada vez que se actualiza alg?n dato de las
424 423
	 * tablas.
425
	 * 
424
	 *
426 425
	 */
427 426
	public void refresh() {
428 427
		boolean refresh = false;
......
490 489
	}
491 490

  
492 491
	public void accept() {
493
		
492

  
494 493
	}
495 494

  
496 495
	public void apply() {
497
		
496

  
498 497
	}
499 498

  
500 499
	public void cancel() {
501
		
500

  
502 501
	}
503 502

  
504 503
	public void setComponentSize(int w, int h) {
505
		
504

  
506 505
	}
507 506
}
trunk/extensions/extRasterTools-SE/src-test-ui/org/gvsig/rastertools/colortable/TestColorTablePanel.java
18 18
 */
19 19
package org.gvsig.rastertools.colortable;
20 20

  
21
import java.awt.event.ActionEvent;
22
import java.awt.event.ActionListener;
23

  
24 21
import javax.swing.JFrame;
25 22

  
26 23
import org.gvsig.rastertools.colortable.ui.ColorTablePanel;
......
30 27
 * @version 17/04/2007
31 28
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
32 29
 */
33
public class TestColorTablePanel implements ActionListener {
30
public class TestColorTablePanel {
34 31
	private JFrame 			frame = new JFrame();
35 32

  
36 33
	public TestColorTablePanel() {
......
43 40
	}
44 41

  
45 42
	private void initialize() {
46
//		JButton boton = new JButton("Crear ventana");
47
//		boton.addActionListener(this);
48

  
49 43
		ColorTablePanel	ctp = new ColorTablePanel();
50 44
		frame.setContentPane(ctp);
51 45

  
52
//		frame.setContentPane(boton);
46
		frame.setSize(new java.awt.Dimension(660, 450));
53 47
		frame.setResizable(true);
54 48
		frame.setTitle("Tablas de color");
55 49
		frame.setVisible(true);
56 50
		frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
57
		frame.pack();
58 51
	}
59

  
60
	public void actionPerformed(ActionEvent e) {
61
		JFrame frame2 = new JFrame();
62
		frame2.setSize(new java.awt.Dimension(600, 450));
63
		ColorTablePanel	ctp = new ColorTablePanel();
64
		frame2.setContentPane(ctp);
65
		frame2.setResizable(true);
66
		frame2.setTitle("Tablas de color");
67
		frame2.setVisible(true);
68
	}
69 52
}

Also available in: Unified diff