Revision 37469

View differences:

tags/v2_0_0_Build_2042/libraries/libUIComponent/.cvsignore
1
bin
2
bin-test
0 3

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/controls/dnd/JDnDTableTest.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41

  
42
/* CVS MESSAGES:
43
*
44
* $Id$
45
* $Log$
46
* Revision 1.2  2007-08-21 09:58:04  bsanchez
47
* - Quitados imports innecesarios
48
* - Quitado codigo no usado
49
* - Cambio de deprecated show por setVisible(true)
50
*
51
* Revision 1.1  2007/08/20 08:34:46  evercher
52
* He fusionado LibUI con LibUIComponents
53
*
54
* Revision 1.1  2006/09/27 13:34:57  jaume
55
* *** empty log message ***
56
*
57
*
58
*/
59
package controls.dnd;
60

  
61
import java.awt.Dimension;
62

  
63
import javax.swing.JFrame;
64
import javax.swing.JPanel;
65

  
66
import org.gvsig.gui.beans.TestUI;
67
import org.gvsig.gui.beans.controls.dnd.JDnDList;
68
import org.gvsig.gui.beans.controls.dnd.JDnDListModel;
69
import org.gvsig.gui.beans.controls.dnd.JDnDTable;
70
import org.gvsig.gui.beans.controls.dnd.JDnDTableModel;
71
/**
72
 * El model que ha de suportar les funcions d'una JDnDTable. Encara est? en
73
 * proves.
74
 *
75
 * @author jaume
76
 */
77
public class JDnDTableTest {
78
	static String[] colNames = new String[] {"1234", "abcd", "qwerty"};
79
	static String[][] values = new String[][] {new String[] {"a1", "a2", "a3"},
80
										new String[] {"b1", "b2", "b3"},
81
										new String[] {"c1", "c2", "c3"}};
82

  
83
	public static void main(String args[]) {
84
		JFrame f = new TestUI("JDnDTableTest");
85
		JPanel content = new JPanel();
86
		content.setPreferredSize(new Dimension(500,400));
87

  
88
		JDnDTableModel model = new JDnDTableModel(values, colNames);
89
		JDnDListModel listModel = new JDnDListModel();
90
		listModel.addElement("a");
91
		listModel.addElement("b");
92
		listModel.addElement("c");
93

  
94
		JDnDTable tbl = new JDnDTable();
95

  
96
		tbl.setModel(model);
97
		tbl.setSize(new Dimension(450, 350));
98
		JDnDList list = new JDnDList();
99
		list.setModel(listModel);
100
		content.add(tbl);
101
		content.add(list);
102
		f.setContentPane(content);
103
		f.pack();
104
		f.setVisible(true);
105
	}
106
}
0 107

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/openfile/TestOpenFile.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.gui.beans.openfile;
20

  
21
import javax.swing.JFrame;
22

  
23
public class TestOpenFile {
24
	private int               w     = 510;
25
	private int               h     = 90;
26
	private JFrame            frame = new JFrame();
27
	private OpenFileContainer open  = null;
28

  
29
	public TestOpenFile() {
30
		open = new OpenFileContainer();
31
		open.setComponentSize(w, h);
32
		frame.getContentPane().add(open);
33
		frame.setSize(w, h);
34
		frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
35
		frame.setVisible(true);
36
	}
37

  
38
	public static void main(String[] args) {
39
		new TestOpenFile();
40
	}
41
}
0 42

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/editabletextcomponent/TestJEditableTextField.java
1
package org.gvsig.gui.beans.editabletextcomponent;
2

  
3
import java.awt.Dimension;
4

  
5
import javax.swing.JFrame;
6

  
7

  
8
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
9
 *
10
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
11
 *
12
 * This program is free software; you can redistribute it and/or
13
 * modify it under the terms of the GNU General Public License
14
 * as published by the Free Software Foundation; either version 2
15
 * of the License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
25
 *
26
 * For more information, contact:
27
 *
28
 *  Generalitat Valenciana
29
 *   Conselleria d'Infraestructures i Transport
30
 *   Av. Blasco Ib??ez, 50
31
 *   46010 VALENCIA
32
 *   SPAIN
33
 *
34
 *      +34 963862235
35
 *   gvsig@gva.es
36
 *      www.gvsig.gva.es
37
 *
38
 *    or
39
 *
40
 *   IVER T.I. S.A
41
 *   Salamanca 50
42
 *   46005 Valencia
43
 *   Spain
44
 *
45
 *   +34 963163400
46
 *   dac@iver.es
47
 */
48

  
49
/**
50
 * Tests for JEditableTextField
51
 * 
52
 * @author Pablo Piqueras Bartolom? (p_queras@hotmail.com)
53
 */
54
public class TestJEditableTextField {
55
	private static JEditableTextField jTCE;
56
	
57
	/**
58
	 * Test method for the TestJEditableTextField class
59
	 * 
60
	 * @param args
61
	 */
62
	public static void main(String[] args)
63
	{
64
		final int height = 40;
65
		final int width = 300;
66
		
67
		// Objects creation
68
		JFrame jF = new JFrame();		
69

  
70
		jTCE = new JEditableTextField();
71
		jTCE.setPreferredSize(new Dimension(width, height));
72

  
73
	    // Set properties
74
		jF.setTitle("Test JEditableTextField");
75
	    jF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
76
	    jF.setSize(jTCE.getPreferredSize());
77
	    jF.getContentPane().add(jTCE);	
78
	    
79
		jF.setVisible(true);
80
	}
81
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/editabletextcomponent/TestJEditableTextArea.java
1
package org.gvsig.gui.beans.editabletextcomponent;
2

  
3
import java.awt.Dimension;
4

  
5
import javax.swing.JFrame;
6

  
7

  
8
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
9
 *
10
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
11
 *
12
 * This program is free software; you can redistribute it and/or
13
 * modify it under the terms of the GNU General Public License
14
 * as published by the Free Software Foundation; either version 2
15
 * of the License, or (at your option) any later version.
16
 *
17
 * This program is distributed in the hope that it will be useful,
18
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20
 * GNU General Public License for more details.
21
 *
22
 * You should have received a copy of the GNU General Public License
23
 * along with this program; if not, write to the Free Software
24
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
25
 *
26
 * For more information, contact:
27
 *
28
 *  Generalitat Valenciana
29
 *   Conselleria d'Infraestructures i Transport
30
 *   Av. Blasco Ib??ez, 50
31
 *   46010 VALENCIA
32
 *   SPAIN
33
 *
34
 *      +34 963862235
35
 *   gvsig@gva.es
36
 *      www.gvsig.gva.es
37
 *
38
 *    or
39
 *
40
 *   IVER T.I. S.A
41
 *   Salamanca 50
42
 *   46005 Valencia
43
 *   Spain
44
 *
45
 *   +34 963163400
46
 *   dac@iver.es
47
 */
48

  
49
/**
50
 * Tests for JEditableTextArea
51
 * 
52
 * @author Pablo Piqueras Bartolom? (p_queras@hotmail.com)
53
 */
54
public class TestJEditableTextArea {
55
	private static JEditableTextArea jTCA;
56
	
57
	/**
58
	 * Test method for the TestJEditableTextArea class
59
	 * 
60
	 * @param args
61
	 */
62
	public static void main(String[] args)
63
	{
64
		final int height = 40;
65
		final int width = 300;
66
		
67
		// Objects creation
68
		JFrame jF = new JFrame();		
69

  
70
		jTCA = new JEditableTextArea();
71
		jTCA.setPreferredSize(new Dimension(width, height));
72

  
73
	    // Set properties
74
		jF.setTitle("Test JEditableTextArea");
75
	    jF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
76
	    jF.setSize(jTCA.getPreferredSize());
77
	    jF.getContentPane().add(jTCA);	
78
	    
79
		jF.setVisible(true);
80
	}
81
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboscale/TestComboScale.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.gui.beans.comboscale;
20

  
21
import java.awt.BorderLayout;
22
import java.awt.Dimension;
23
import java.awt.event.ActionListener;
24

  
25
import javax.swing.JButton;
26
import javax.swing.JPanel;
27

  
28
import org.gvsig.gui.beans.TestUI;
29
import org.gvsig.gui.beans.controls.comboscale.ComboScale;
30

  
31
public class TestComboScale {
32
	private ComboScale cs;
33

  
34
	public TestComboScale() {
35
		TestUI frame = new TestUI("TestComboScale");
36
		cs = new ComboScale();
37
		long[] scale = new long[5];
38
		scale[0] = 100;
39
		scale[1] = 500;
40
		scale[2] = 1000;
41
		scale[3] = 5000;
42
		scale[4] = 10000;
43
		cs.setItems(scale);
44
		cs.setScale(400);
45
		JButton btn = new JButton("Reset");
46
		btn.setPreferredSize(new Dimension(100, 50));
47
		btn.addActionListener(new ActionListener() {
48
			public void actionPerformed(java.awt.event.ActionEvent e) {
49
				cs.setScale(500);
50
			}
51
		});
52

  
53
		JPanel panel = new JPanel();
54
		frame.setContentPane(panel);
55
		panel.setLayout(new BorderLayout());
56
		panel.add(cs, BorderLayout.CENTER);
57
		panel.add(btn, BorderLayout.EAST);
58

  
59
		frame.setSize(280, 80);
60
		frame.setVisible(true);
61

  
62
		cs.addActionListener(new java.awt.event.ActionListener() {
63
			public void actionPerformed(java.awt.event.ActionEvent e) {
64
				System.out.println("ActionListener: " + e.getActionCommand());
65
			}
66
		});
67
	}
68

  
69
	public static void main(String[] args) {
70
		new TestComboScale();
71
	}
72
}
0 73

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/AllTests.java
1
package org.gvsig.gui.beans;
2

  
3
import junit.framework.Test;
4
import junit.framework.TestSuite;
5

  
6
import org.gvsig.gui.beans.panelGroup.Test1ExceptionsUsingTabbedPanel;
7
import org.gvsig.gui.beans.panelGroup.Test1ExceptionsUsingTreePanel;
8
import org.gvsig.gui.beans.panelGroup.TestPanelGroupLoaderFromList;
9
import org.gvsig.gui.beans.panelGroup.TestPanelGroupManager;
10

  
11
public class AllTests {
12

  
13
	public static Test suite() {
14
		TestSuite suite = new TestSuite("Test for org.gvsig.gui.beans");
15
		//$JUnit-BEGIN$
16
		suite.addTestSuite(TestPanelGroupLoaderFromList.class);
17
		suite.addTestSuite(TestPanelGroupManager.class);
18
		suite.addTestSuite(Test1ExceptionsUsingTabbedPanel.class);
19
		suite.addTestSuite(Test1ExceptionsUsingTreePanel.class);
20
		//$JUnit-END$
21
		return suite;
22
	}
23

  
24
}
0 25

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/graphic/TestGraphic.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.gui.beans.graphic;
20

  
21
import java.awt.BorderLayout;
22

  
23
import org.gvsig.gui.beans.TestUI;
24
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
25
import org.gvsig.gui.beans.defaultbuttonspanel.DefaultButtonsPanel;
26
import org.gvsig.gui.beans.table.exceptions.NotInitializeException;
27
/**
28
 * Test para comprobar el funcionamiento de la grafica
29
 * 
30
 * @version 06/06/2008
31
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
32
 */
33
public class TestGraphic implements GraphicListener {
34
	private TestUI              frame               = new TestUI("TestGraphic");
35
	private DefaultButtonsPanel defaultButtonsPanel = null;
36
	private GraphicContainer    graphic             = null;
37

  
38
	public TestGraphic() throws NotInitializeException{
39
		graphic = new GraphicContainer(true);
40

  
41
		int nSeries = 3;
42

  
43
		String[] names = new String[nSeries];
44
		int[][] series = new int[nSeries][256];
45

  
46
		for(int iSerie = 0; iSerie < nSeries; iSerie++){
47
			names[iSerie] = "Band " + iSerie;
48
			for (int i = 0; i < 256; i++)
49
				series[iSerie][i] = i * (iSerie + 1);
50
		}
51
		
52
		graphic.getPGraphic().setViewType(0);
53
		
54
		graphic.getPGraphic().setNewChart(series, names);
55

  
56
		graphic.addValueChangedListener(this);
57
		defaultButtonsPanel = new DefaultButtonsPanel(ButtonsPanel.BUTTONS_CLOSE);
58
		defaultButtonsPanel.setLayout(new BorderLayout(5, 5));
59
		defaultButtonsPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(5, 5, 5, 5));
60
		defaultButtonsPanel.add(graphic, BorderLayout.CENTER);
61
		frame.getContentPane().add(defaultButtonsPanel);
62
		frame.setSize(640, 480);
63
		frame.setVisible(true);
64
	}
65

  
66
	public static void main(String[] args) {
67
		try {
68
			new TestGraphic();
69
		} catch (NotInitializeException ex){
70
			System.out.println("Tabla no inicializada");
71
		}
72
	}
73

  
74
	public void actionValueChanged(GraphicEvent e) {
75
		System.out.println(graphic.getX1() + ":" + graphic.getX2());
76
	}
77
}
0 78

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/buttonspanel/TestButtonsPanel.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.gui.beans.buttonspanel;
20

  
21
import java.awt.FlowLayout;
22

  
23
import org.gvsig.gui.beans.TestUI;
24
/**
25
 * <code>TestButtonsPanel</code> es un test para comprobar el funcionamiento de
26
 * la clase <code>ButtonsPanel</code>.
27
 *
28
 * @version 15/03/2007
29
 * @author BorSanZa - Borja Sanchez Zamorano (borja.sanchez@iver.es)
30
 */
31
public class TestButtonsPanel implements ButtonsPanelListener {
32
	private TestUI frame = new TestUI("TestButtonsPanel");
33

  
34
	public TestButtonsPanel(){
35
		frame.getContentPane().setLayout(new java.awt.GridLayout(0, 1));
36

  
37
		frame.setSize(320, 320);
38
		ButtonsPanel bp = new ButtonsPanel(ButtonsPanel.BUTTONS_ACCEPT);
39
		bp.addButtonPressedListener(this);
40
		frame.getContentPane().add(bp);
41
		bp = new ButtonsPanel(ButtonsPanel.BUTTONS_ACCEPTCANCEL);
42
		bp.addButtonPressedListener(this);
43
		bp.setLayout(new java.awt.FlowLayout(FlowLayout.CENTER));
44
		frame.getContentPane().add(bp);
45
		bp = new ButtonsPanel(ButtonsPanel.BUTTONS_ACCEPTCANCELAPPLY);
46
		bp.setLayout(new java.awt.FlowLayout(FlowLayout.LEFT));
47
		bp.addButtonPressedListener(this);
48
		frame.getContentPane().add(bp);
49
		bp = new ButtonsPanel(ButtonsPanel.BUTTONS_YESNO);
50
		bp.addButtonPressedListener(this);
51

  
52
		bp.getButton(ButtonsPanel.BUTTONS_YESNO).setEnabled(false);
53

  
54
		frame.getContentPane().add(bp);
55
		bp = new ButtonsPanel(ButtonsPanel.BUTTONS_CLOSE);
56
		bp.addButtonPressedListener(this);
57
		frame.getContentPane().add(bp);
58
		bp = new ButtonsPanel(ButtonsPanel.BUTTONS_EXIT);
59
		bp.addButtonPressedListener(this);
60
		bp.addButton("1", 55);
61
		bp.addButton("bp.addButtonPressedListener(this);", 56);
62

  
63
//		bp.getButton(ButtonsPanel.BUTTON_ACCEPT).isEnabled();
64

  
65
		frame.getContentPane().add(bp);
66
		frame.setVisible(true);
67
	}
68

  
69
	public static void main(String[] args){
70
		new TestButtonsPanel();
71
	}
72

  
73
	public void actionButtonPressed(ButtonsPanelEvent e) {
74
		System.out.println(e.getButton());
75
		if (ButtonsPanel.BUTTON_EXIT == e.getButton()) {
76
			frame.dispose();
77
		}
78
	}
79
}
0 80

  
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/programmertests/SampleBasicComboBoxRenderer.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19

  
20
package org.gvsig.gui.beans.comboboxconfigurablelookup.programmertests;
21

  
22
import java.awt.Color;
23
import java.awt.Component;
24

  
25
import javax.swing.JList;
26
import javax.swing.plaf.basic.BasicComboBoxRenderer;
27

  
28
/**
29
 * <p>Sample of personalized combo box cell renderer.</p>
30
 * 
31
 * @version 08/02/2008
32
 * @author Pablo Piqueras Bartolom? (pablo.piqueras@iver.es) 
33
 */
34
public class SampleBasicComboBoxRenderer extends BasicComboBoxRenderer {
35
	private static final long serialVersionUID = -9044759678425798655L;
36

  
37
	/**
38
	 * <p>Creates a new instance of the <code>SampleBasicComboBoxRenderer</code> class.</p>
39
	 */
40
	public SampleBasicComboBoxRenderer() {
41
		super();
42
	}
43

  
44
	/*
45
	 * (non-Javadoc)
46
	 * @see javax.swing.plaf.basic.BasicComboBoxRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
47
	 */
48
	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
49
		Component component = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
50
		
51
		if (isSelected)
52
			component.setBackground(Color.GRAY);
53
		else
54
			component.setBackground(new Color(((17 * index) % 256), ((31 * index) % 256), ((7 * index) % 256)));
55
		
56
		return component;
57
	}
58
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/programmertests/TestJComboBoxConfigurableLookUp.java
1
package org.gvsig.gui.beans.comboboxconfigurablelookup.programmertests;
2

  
3
import java.awt.Dimension;
4

  
5
import javax.swing.JFrame;
6
import javax.swing.JOptionPane;
7

  
8
import org.gvsig.gui.beans.Messages;
9
import org.gvsig.gui.beans.comboboxconfigurablelookup.DefaultComboBoxConfigurableLookUpModel;
10
import org.gvsig.gui.beans.comboboxconfigurablelookup.JComboBoxConfigurableLookUp;
11

  
12

  
13

  
14
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
15
 *
16
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
17
 *
18
 * This program is free software; you can redistribute it and/or
19
 * modify it under the terms of the GNU General Public License
20
 * as published by the Free Software Foundation; either version 2
21
 * of the License, or (at your option) any later version.
22
 *
23
 * This program is distributed in the hope that it will be useful,
24
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
 * GNU General Public License for more details.
27
 *
28
 * You should have received a copy of the GNU General Public License
29
 * along with this program; if not, write to the Free Software
30
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
31
 *
32
 * For more information, contact:
33
 *
34
 *  Generalitat Valenciana
35
 *   Conselleria d'Infraestructures i Transport
36
 *   Av. Blasco Ib??ez, 50
37
 *   46010 VALENCIA
38
 *   SPAIN
39
 *
40
 *      +34 963862235
41
 *   gvsig@gva.es
42
 *      www.gvsig.gva.es
43
 *
44
 *    or
45
 *
46
 *   IVER T.I. S.A
47
 *   Salamanca 50
48
 *   46005 Valencia
49
 *   Spain
50
 *
51
 *   +34 963163400
52
 *   dac@iver.es
53
 */
54

  
55
/**
56
 * <p>Tests the class {@link JComboBoxConfigurableLookUp JComboBoxConfigurableLookUp} .</p>
57
 * 
58
 * <p>Notes:
59
 *  <ul>
60
 *   <li>MORE TESTS COULD BE ADDED!!!</li>
61
 *   <li>DON'T REMOVE TEST COMMENTED!!!</li>
62
 *  </ul>
63
 * </p>
64
 *
65
 * @author Pablo Piqueras Bartolom? (pablo.piqueras@iver.es)
66
 * @version 07/02/2008
67
 */
68
public class TestJComboBoxConfigurableLookUp extends JFrame {
69
	private static final long serialVersionUID = -422198204525608333L;
70

  
71
	/**
72
	 * Test method for the <code>TestJComboBoxConfigurableLookUp</code>
73
	 * 
74
	 * @param args
75
	 */
76
	public static void main(String[] args)
77
	{
78
		int width = 300;
79
		int height = 60;
80
		
81
		try
82
		{
83
			// Objects creation
84
			JFrame jF = new JFrame();
85
	
86
			// Create a TestJComboBoxConfigurableLookUp, sets the behavior configuration and add Items
87
			
88
			// ---- TESTS ----
89
			// Test the default behavior
90
			JComboBoxConfigurableLookUp jCBSD = new JComboBoxConfigurableLookUp();
91

  
92
			// -- TESTS FLAGS FOR CONTROL --
93
			// Test the change of the flag 'onlyOneColor'
94
			// jCBSD.setOnlyOneColorOnText(true);
95
			// jCBSD.setOnlyOneColorOnText(false);
96
			
97
			// Test the change of the flag 'beepEnabled'
98
			// jCBSD.setBeepEnabled(false);
99
			// jCBSD.setBeepEnabled(true);
100

  
101
			// Test the change of the flag 'hidePopupIfThereAreNoItems'
102
			// jCBSD.setHidePopupIfThereAreNoItems(false);
103
			// jCBSD.setHidePopupIfThereAreNoItems(true);
104
			
105
			// Test the change of the flag 'toForceSelectAnItem'
106
			// jCBSD.setToForceSelectAnItem(false);
107
			// jCBSD.setToForceSelectAnItem(true);
108
			
109

  
110
			// --- TESTS ADDING A MODEL ---
111
			// -- TESTS FLAGS FOR THE MODEL --
112
			// DefaultComboBoxConfigurableLookUpModel model = new DefaultComboBoxConfigurableLookUpModel();
113
			DefaultComboBoxConfigurableLookUpModel model = new DefaultComboBoxConfigurableLookUpModel(new Object[] {"Item1", "Item2", "Item3", "Item4", "Item5"});
114
			// DefaultComboBoxConfigurableLookUpModel model = (DefaultComboBoxConfigurableLookUpModel) jCBSD.getModel();
115
				
116
			// Test the change of the flag 'itemsShownInListBox'
117
			// model.setLanguageRules("en_US");
118
			// model.setLanguageRules("fr_FR");
119
			// model.setLanguageRules("es_ES");
120
			// model.setLanguageRules(DefaultComboBoxConfigurableLookUpModel.DEFAULT_LANGUAGE_RULES_CONFIGURATION);
121
				
122
			// Test the change of the flag 'caseSensitive'
123
			// model.setCaseSensitive(false);
124
			// model.setCaseSensitive(DefaultComboBoxConfigurableLookUpModel.CASE_INSENSITIVE);
125
			// model.setCaseSensitive(true);
126
			// model.setCaseSensitive(DefaultComboBoxConfigurableLookUpModel.CASE_SENSITIVE);
127
			 
128
			// Test the change of the flag 'itemsOrder'
129
			// model.setItemsOrder(DefaultComboBoxConfigurableLookUpModel.MAINTAIN_POSITION);
130
			// model.setItemsOrder(DefaultComboBoxConfigurableLookUpModel.ALPHABETICAL_ORDERED);
131
			// model.setItemsOrder(DefaultComboBoxConfigurableLookUpModel.MAINTAIN_AGENT_POSITIONS);
132
			
133
			// Test the change of the flag 'itemsShownInListBox'
134
			// model.setShowAllItemsInListBox(DefaultComboBoxConfigurableLookUpModel.SHOW_ALL_ITEMS);
135
			// model.setShowAllItemsInListBox(true);
136
			// model.setShowAllItemsInListBox(DefaultComboBoxConfigurableLookUpModel.SHOW_ONLY_MATCHES);
137
			// model.setShowAllItemsInListBox(false);
138

  
139
			// Test the change of the flag 'completeArrowKeySelection'
140
			// jCBSD.setCompleteArrowKeySelection(true);
141
			// jCBSD.setCompleteArrowKeySelection(false);
142

  
143
			// Test the change of the flag 'displayAllItemsWithArrowButton'
144
			// jCBSD.setDisplayAllItemsWithArrowButton(false);
145
			 jCBSD.setDisplayAllItemsWithArrowButton(true);
146

  
147
			// Adds the new model
148
			jCBSD.setModel(model);
149

  
150
			// --- ADD ITEMS TO THE COMPONENT AND OTHER TESTS ---
151
			// Add some items to test if has too much delay with an average number of items
152
			jCBSD.addItem("extAddEventTheme");
153
			jCBSD.addItem("?and?");
154
			jCBSD.addItem("_fwAndami");
155
			jCBSD.addItem("extJDBC");
156

  
157
			jCBSD.addItem("extCAD");
158
			jCBSD.addItem("libuiDownCase");
159
			jCBSD.addItem("appgvSig");
160
			// jCBSD.setSelectedItem("appgvSig");
161
			// jCBSD.removeAllItems();
162
			jCBSD.addItem("RemoteServices");
163
			jCBSD.addItem("?and?");	
164
			jCBSD.addItem("?");
165
			// jCBSD.setSelectedItem("appgvSig");
166
			// jCBSD.setSelectedItem(jCBSD.getItemAt(3)); //Test setSelectedItem
167
			jCBSD.addItem("extNomenclatorIGN");
168

  
169
            // jCBSD.setSelectedItem(jCBSD.getItemAt(1)); //Test setSelectedItem
170
            // jCBSD.setSelectedIndex(1); //Test setSelectedIndex
171
			jCBSD.addItem("extWMS");
172
			jCBSD.addItem("?AND?");
173
			jCBSD.addItem("window");
174
			jCBSD.addItem("?");
175
			jCBSD.addItem("LIBUI");
176
            jCBSD.setSelectedItem("window");
177
			jCBSD.addItem("libCorePlugin");
178
			jCBSD.addItem("libCq CMS for java");
179
			jCBSD.addItem("libDriverManager");
180

  
181
            // jCBSD.setSelectedItem("libDriverManager");
182
			////				jCBSD.addItem("libFMap");
183
			////				jCBSD.addItem("libG_fwAndamiDBMS");
184
			////				jCBSD.addItem("libIverUtiles");
185
			////				jCBSD.addItem("libNomenclatorIGN");
186
			////				jCBSD.addItem("libNomenclatorIGN_GUI");
187
			////				jCBSD.addItem("libRemoteServices");
188
			//////				jCBSD.addItem("extNomenclatorIGN"); // Duplication test
189
			////				jCBSD.addItem("libUI");
190
			////				jCBSD.addItem("a");
191
			////				jCBSD.addItem("aa");
192
			////				jCBSD.addItem("aaa");
193
			////				jCBSD.addItem("aaaa");
194
			////				jCBSD.addItem("aaaaa");
195
			////				jCBSD.addItem("b");
196
			////				jCBSD.addItem("bbb");
197
			////				jCBSD.addItem("bb");
198
			////				jCBSD.addItem("c");
199
			////				jCBSD.addItem(".");
200
			////				jCBSD.addItem("ccc");
201
			////				jCBSD.addItem("cc");
202
			////				jCBSD.addItem("cccc");
203
			////				jCBSD.addItem("ddd");
204
			////				jCBSD.addItem("d");
205
			////				jCBSD.addItem("dd");
206
			////				jCBSD.addItem("dddd");
207
			////				jCBSD.addItem("e");
208
			////				jCBSD.addItem("eee");
209
			////				jCBSD.addItem("ee");
210
			////				jCBSD.addItem("eeee");
211
			//				jCBSD.addItem("ff");
212
			//				jCBSD.addItem("f");
213
			////				jCBSD.addItem("LIBZZMAYUSCULA1");
214
			////				jCBSD.addItem("ff"); // Duplication test
215
			////				jCBSD.addItem("asldf");
216
			////				jCBSD.addItem("wej");
217
			////				jCBSD.addItem("asdf");
218
			////				jCBSD.addItem("LIBMAYUSCULA2");
219
			////				jCBSD.addItem("qera");
220
			////				jCBSD.addItem("zxvcas");
221
			////				jCBSD.addItem("wea");
222
			////				jCBSD.addItem("asr");
223
			////				jCBSD.addItem("asra");
224
			////				jCBSD.addItem("LIBMAYUSCULA1");
225
			////				jCBSD.addItem("rar");
226
			////				jCBSD.addItem("afda");
227
			////				jCBSD.addItem("ljvkgk");
228
			////				jCBSD.addItem("zcv");
229
			////				jCBSD.addItem("gfhdt");
230
			////				jCBSD.addItem("dfhgd");
231
			////				jCBSD.addItem("dfh");
232
			////				jCBSD.addItem("dfhs");
233
			////				jCBSD.addItem("sfszv");
234
			////				jCBSD.addItem("qer");
235
			////				jCBSD.addItem("adfazva");
236
			////				jCBSD.addItem("xnd");
237
			////				jCBSD.addItem("vdkjgd");
238
			////				jCBSD.addItem("ddhd");
239
			////				jCBSD.addItem("dxgx");
240
			
241
			////				jCBSD.addItem("cnsf");
242
			////				jCBSD.addItem("ssfgs");
243
			////				jCBSD.addItem("sgfsbx");
244
			////				jCBSD.addItem("sfxb");
245
			////				jCBSD.addItem("chdgk");
246
			////				jCBSD.addItem("jgu");
247
			////				jCBSD.addItem("gkgj");
248
			////				jCBSD.addItem("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeee");
249
			////				jCBSD.addItem("ljko?j.n");
250
			////				jCBSD.addItem("hfjf");
251
			////				jCBSD.addItem("xbxb");
252
			////				jCBSD.addItem(".,lhhi");
253
			////				jCBSD.addItem("hklx_fwAndami");
254
			////				jCBSD.addItem("cvn");
255
			////				jCBSD.addItem("dgh");
256
			////				jCBSD.addItem("cncv");
257
			////				jCBSD.addItem("sg");
258
			////				jCBSD.addItem("b,mjk");
259
			////				jCBSD.addItem("xv");
260
			////				jCBSD.addItem("sgghu");
261
			////				jCBSD.addItem("saxc");
262
			////				jCBSD.addItem("srts");
263
			////				jCBSD.addItem("sduyg");
264
			////				jCBSD.addItem("sxfsrs");
265
			////				jCBSD.addItem("rsdtf");
266
			////				jCBSD.addItem("po`llh");
267
			////				jCBSD.addItem("fghtf54j");
268
			////				jCBSD.addItem("s25ewsd");
269
			////				jCBSD.addItem("uo8khkj");
270
			////				jCBSD.addItem("sfg45");
271
			////				jCBSD.addItem("3gd");
272
			////				jCBSD.addItem("5dhd");
273
			////				jCBSD.addItem("sg4dh6");
274
			////				jCBSD.addItem("dfh5");
275
			////				jCBSD.addItem("s4hfj74");
276
			////				jCBSD.addItem("sdg534");
277
			////				jCBSD.addItem("2452etdfg");
278
			////				jCBSD.addItem("2ui068");
279
			////				jCBSD.addItem("3dsd sgr");
280
			////				jCBSD.addItem("sr sgsr");
281
			////				jCBSD.addItem("sssssssss");
282
			////				jCBSD.addItem("aaaaass");
283
			////				jCBSD.addItem("ss");
284
			////				jCBSD.addItem("sry");
285
			////				jCBSD.addItem("h?hj");
286
			////				jCBSD.addItem("gkgb");
287
			////				jCBSD.addItem("gkgu");
288
			////				jCBSD.addItem("gjugvfc");
289
			////				jCBSD.addItem("dghdd");
290
			////				jCBSD.addItem("dhdt");
291
			////				jCBSD.addItem("dhgd");
292
			////				jCBSD.addItem("ddtughd");
293
			////				jCBSD.addItem("ffuklj?d");
294
			////				jCBSD.addItem("j?olk.j");
295
			////				jCBSD.addItem("las alupoai a?ieurpay");
296
			////				jCBSD.addItem("tytresd");
297
			////				jCBSD.addItem("fgkg");
298
			////				jCBSD.addItem("lhh");
299
			////				jCBSD.addItem("hkhlhip");
300
			////				jCBSD.addItem("k?popi0??=(J");
301
			////				jCBSD.addItem("af??=)(/?/");
302
			////				jCBSD.addItem("-a,malj'=)/");
303
			////				jCBSD.addItem("2gw");
304
			////				jCBSD.addItem("5teu");
305
			////				jCBSD.addItem("4576jfff");
306
			////				jCBSD.addItem("urtyu");
307
			////				jCBSD.addItem("fi7");
308
			////				jCBSD.addItem("git7t4h");
309
			////				jCBSD.addItem("hr6frr");
310
			////				jCBSD.addItem("ehe5et");
311
			////				jCBSD.addItem("eue5klhj");
312
			////				jCBSD.addItem("yoiyoy");
313
			////				jCBSD.addItem("yoyi");
314
			////				jCBSD.addItem("sgcsc");
315
			////				jCBSD.addItem("sgmff74");
316
			////				jCBSD.addItem("dd43d d6dhlhju");
317
			////				jCBSD.addItem("gkjngr");
318
			////				jCBSD.addItem("dbddht");
319
			////				jCBSD.addItem("sbd");
320
			////				jCBSD.addItem("dcbd5opihjj");
321
			////				jCBSD.addItem("pujtth");
322
			////				jCBSD.addItem("ZZZZZ");
323
			////				jCBSD.addItem("ytht");
324
			////				jCBSD.addItem("tjgt");
325
			////				jCBSD.addItem("rrf");
326
			////				jCBSD.addItem("BLIUE? ");
327
			////				jCBSD.addItem("?AND?");
328
			////				jCBSD.addItem("axaaa4iktiu");
329
			////				jCBSD.addItem("tttyir");
330
			////				jCBSD.addItem("ruyrrruu4");
331
			////				jCBSD.addItem("rryewrsw");
332
			////				jCBSD.addItem("wertw");
333
			////				jCBSD.addItem("wer26e");
334
			////				jCBSD.addItem("eceye");
335
			////				jCBSD.addItem("etye7yyy-er");
336
			////				jCBSD.addItem("eyert7e7e7");
337
			////				jCBSD.addItem("_abcdefghijklmn?opqrstuvwxyz");
338
			////				jCBSD.addItem("_0123456789");
339
			////				jCBSD.addItem("sstsnmmsutt");
340
			////				jCBSD.addItem("dcytdtyd");
341
			////				jCBSD.addItem("dcdtdty");
342
			////				jCBSD.addItem("dctycd");
343
			////				jCBSD.addItem("cstyd");
344
			////				jCBSD.addItem("dbddcytdsssc");
345
			////				jCBSD.addItem("cdydt");
346
			////				jCBSD.addItem("scscydu");
347
			////				jCBSD.addItem("axct");
348
			////				jCBSD.addItem("joobfvd");
349
			////				jCBSD.addItem("jomj");
350
			////				jCBSD.addItem("omjo");
351
			////				jCBSD.addItem("mol");
352
			////				jCBSD.addItem("agdhfj");
353
			////				jCBSD.addItem("fjfhjuh,ooom");
354
			////				jCBSD.addItem("affjfa");
355
			////				jCBSD.addItem("afjfjyfga");
356
			////				jCBSD.addItem("NOMENCLATOR");
357
			////				jCBSD.addItem("asg");
358
			////				jCBSD.addItem("afaea");
359
			////				jCBSD.addItem("gvSIG");
360
			////				jCBSD.addItem("yoiey");
361
			////				jCBSD.addItem("35");
362
			////				jCBSD.addItem("ewgw2dh");
363
			////				jCBSD.addItem("titgr");
364
			////				jCBSD.addItem("o9yky");
365
			////				jCBSD.addItem("kyio8gbr");
366
			////				jCBSD.addItem("eve5yed574rir");
367
			////				jCBSD.addItem("578tygmtio");
368
			////				jCBSD.addItem("t43262ryteye");
369
			////				jCBSD.addItem("wvwx");
370
			////				jCBSD.addItem("zssscwwwwww");
371
			////				jCBSD.addItem("sgvr");
372
			////				jCBSD.addItem("...");
373
			//				jCBSD.addItem("?LTIMO ITEM EN A?ADIRSE");
374
			
375
			// --- END ADD ITEMS TO THE COMPONENT AND OTHER TESTS ---
376
			
377
			// Test of no item default selection 
378
			// jCBSD.setSelectedIndex(-1);
379
			
380
			// Other tests
381
			// jCBSD.setSelectedIndex(0);
382
			// System.out.println("Selected: " + jCBSD.getSelectedItem());
383
			// jCBSD.setSelectedIndex(3);
384
			// System.out.println("Item at 3: " + jCBSD.getItemAt(3));
385
			// jCBSD.setSelectedItem("?AND?");
386

  
387
			// System.out.println("Index of LIBUI: " + ((DefaultComboBoxConfigurableLookUpModel)jCBSD.getModel()).getIndexOf("LIBUI"));
388
			// jCBSD.addItem("A?ADIDO");
389
			// jCBSD.removeItemAt(0);
390
			// jCBSD.removeAllItems();
391
			// ((DefaultComboBoxConfigurableLookUpModel)jCBSD.getModel()).removeAllElements();
392
			// System.out.println("Number of elements (list box): " + jCBSD.getItemCount());
393

  
394
			// Tests the method ''setPrototypeDisplayValue''
395
			// jCBSD.addItem("ABCDEFGHIJKLMN?OPQRSTUVWXYZ-ABCDEFGHIJKLMN?OPQRSTUVWXYZ-ABCDEFGHIJKLMN?OPQRSTUVWXYZ");
396
			// jCBSD.setSelectedItem("ABCDEFGHIJKLMN?OPQRSTUVWXYZ-ABCDEFGHIJKLMN?OPQRSTUVWXYZ-ABCDEFGHIJKLMN?OPQRSTUVWXYZ");
397
			// jCBSD.setPrototypeDisplayValue("ABCDEFGHIJKLMN?OPQRSTUVWXYZ");
398
			
399
			// Configure the JFrame
400
			jF.setTitle("Test JComboBoxConfigurableLookUp");
401
			jF.setSize(new Dimension(width, height));	    
402
		    jF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
403
		    jF.getContentPane().add(jCBSD);
404
		    jF.setVisible(true);
405

  
406
		    // More tests
407
			// jCBSD.setSelectedIndex(0); // Failures before the component could be showed
408
			// System.out.println("Selected: " + jCBSD.getSelectedItem());
409
			// jCBSD.setSelectedIndex(3); // Failures before the component could be showed
410
			// System.out.println("Item at 3: " + jCBSD.getItemAt(3));
411
			// jCBSD.setSelectedItem("?AND?"); // Failures before the component could be showed
412
		    
413
		    // Test a Look up Agent
414
		    // model.setLookUpAgent(new SampleAgent());
415
		    
416
		    // Test changing the renderer
417
		    // jCBSD.setRenderer(new SampleBasicComboBoxRenderer());
418
		    
419
			// More tests
420
			// jCBSD.removeAllItems();
421
			// jCBSD.addItem("extCAD");
422
			// jCBSD.addItem("libuiDownCase");
423
			// jCBSD.addItem("appgvSig");
424
			// jCBSD.removeAllItems();
425
			// jCBSD.addItem("extCAD");
426
			// jCBSD.addItem("libuiDownCase");
427
			// jCBSD.addItem("appgvSig");
428
			// jCBSD.setSelectedItem("libuiDownCase");
429
		    
430
		    // Test change the editor
431
		    // jCBSD.setEditor(new SampleComboBoxEditor());
432
		}
433
		catch(Exception e)
434
		{
435
			e.printStackTrace();
436
			JOptionPane.showMessageDialog(null, Messages.getText("testJComboBoxConfigurableLookUpErrorMessage"), Messages.getText("error"), JOptionPane.ERROR_MESSAGE);
437
		}
438
	}
439
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/programmertests/SampleAgent.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19

  
20
package org.gvsig.gui.beans.comboboxconfigurablelookup.programmertests;
21

  
22
import java.util.ArrayList;
23
import java.util.List;
24
import java.util.Vector;
25

  
26
import org.gvsig.gui.beans.comboboxconfigurablelookup.ILookUp;
27
import org.gvsig.gui.beans.comboboxconfigurablelookup.StringComparator;
28

  
29
/**
30
 * <p>Sample of personalized look up algorithm for the model of a <code>JComboBoxConfigurableLookUp</code> object.</p>
31
 * 
32
 * @author Pablo Piqueras Bartolom? (pablo.piqueras@iver.es)
33
 * @version 08/02/2008
34
 */
35
public class SampleAgent implements ILookUp {
36
	/**
37
	 * <p>Creates a new instance of the class <code>StartsWithLookUpAgent</code>.</p>
38
	 */
39
	public SampleAgent() {
40
	}
41
	
42
	/*
43
	 * (non-Javadoc)
44
	 * @see org.gvsig.gui.beans.comboboxconfigurablelookup.ILookUp#doLookUpConsideringCaseSensitive(java.lang.String, java.util.Vector, org.gvsig.gui.beans.comboboxconfigurablelookup.StringComparator)
45
	 */
46
	public List<Object> doLookUpConsideringCaseSensitive(String text, Vector<Object> sortOrderedItems, StringComparator comp) {
47
		if (sortOrderedItems == null)
48
			return null;
49

  
50
		List<Object> list = new ArrayList<Object>();
51
		
52
		for (int i = 0; i < (sortOrderedItems.size()); i++) {
53
			if (i % 2 == 0)
54
				list.add(sortOrderedItems.get(i));
55
		}
56

  
57
		return list;
58
	}
59

  
60
	/*
61
	 * (non-Javadoc)
62
	 * @see org.gvsig.gui.beans.comboboxconfigurablelookup.ILookUp#doLookUpIgnoringCaseSensitive(java.lang.String, java.util.Vector, org.gvsig.gui.beans.comboboxconfigurablelookup.StringComparator)
63
	 */
64
	public List<Object> doLookUpIgnoringCaseSensitive(String text, Vector<Object> sortOrderedItems, StringComparator comp) {
65
		if (sortOrderedItems == null)
66
			return null;
67

  
68
		List<Object> list = new ArrayList<Object>();
69
		
70
		for (int i = 0; i < (sortOrderedItems.size()); i++) {
71
			if (i % 2 == 0)
72
				list.add(sortOrderedItems.get(i));
73
		}
74

  
75
		return list;
76
	}
77
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/programmertests/SampleComboBoxEditor.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19

  
20
package org.gvsig.gui.beans.comboboxconfigurablelookup.programmertests;
21

  
22
import java.awt.Component;
23
import java.awt.event.ActionListener;
24
import java.awt.event.FocusEvent;
25
import java.awt.event.FocusListener;
26
import java.lang.reflect.Method;
27

  
28
import javax.swing.ComboBoxEditor;
29
import javax.swing.JTextField;
30
import javax.swing.border.Border;
31
import javax.swing.plaf.basic.BasicComboBoxEditor;
32

  
33
import org.gvsig.gui.beans.editabletextcomponent.JEditableTextField;
34

  
35
/**
36
 * <p>The default editor for editable combo boxes. The editor is implemented as a JTextField.</p>
37
 *
38
 * @version 12/02/08
39
 * @author Arnaud Weber
40
 * @author Mark Davidson
41
 * @author Pablo Piqueras Bartolom?
42
 */
43
public class SampleComboBoxEditor implements ComboBoxEditor, FocusListener {
44
    protected JTextField editor;
45
    private Object oldValue;
46

  
47
    public SampleComboBoxEditor() {
48
        editor = new BorderlessTextField("",9);
49
        editor.setBorder(null);
50
    }
51

  
52
    public Component getEditorComponent() {
53
        return editor;
54
    }
55

  
56
    /** 
57
     * Sets the item that should be edited. 
58
     *
59
     * @param anObject the displayed value of the editor
60
     */
61
    public void setItem(Object anObject) {
62
        if ( anObject != null )  {
63
            editor.setText(anObject.toString());
64
            
65
            oldValue = anObject;
66
        } else {
67
            editor.setText("");
68
        }
69
    }
70

  
71
    public Object getItem() {
72
        Object newValue = editor.getText();
73
        
74
        if (oldValue != null && !(oldValue instanceof String))  {
75
            // The original value is not a string. Should return the value in it's
76
            // original type.
77
            if (newValue.equals(oldValue.toString()))  {
78
                return oldValue;
79
            } else {
80
                // Must take the value from the editor and get the value and cast it to the new type.
81
                Class cls = oldValue.getClass();
82
                try {
83
                    Method method = cls.getMethod("valueOf", new Class[]{String.class});
84
                    newValue = method.invoke(oldValue, new Object[] { editor.getText()});
85
                } catch (Exception ex) {
86
                    // Fail silently and return the newValue (a String object)
87
                }
88
            }
89
        }
90
        return newValue;
91
    }
92

  
93
    public void selectAll() {
94
        editor.selectAll();
95
        editor.requestFocus();
96
    }
97

  
98
    // This used to do something but now it doesn't.  It couldn't be
99
    // removed because it would be an API change to do so.
100
    public void focusGained(FocusEvent e) {}
101
    
102
    // This used to do something but now it doesn't.  It couldn't be
103
    // removed because it would be an API change to do so.
104
    public void focusLost(FocusEvent e) {}
105

  
106
    public void addActionListener(ActionListener l) {
107
        editor.addActionListener(l);
108
    }
109

  
110
    public void removeActionListener(ActionListener l) {
111
        editor.removeActionListener(l);
112
    }
113

  
114
    /** 
115
     * Inner text field editable as a component of a ComboBox editor.
116
     * 
117
     * @see JEditableTextField
118
     * 
119
     * @version 12/02/08
120
     * @author Arnaud Weber
121
     * @author Mark Davidson
122
     * @author Pablo Piqueras Bartolom?
123
     */
124
    private class BorderlessTextField extends JEditableTextField {
125
		private static final long serialVersionUID = -3333236529430569318L;
126

  
127
		public BorderlessTextField(String value,int n) {
128
            super(value,n);
129
        }
130

  
131
        // workaround for 4530952
132
        public void setText(String s) {
133
            if (getText().equals(s)) {
134
                return;
135
            }
136
            super.setText(s);
137
        }
138

  
139
        public void setBorder(Border b) {}
140
    }
141
    
142
    /**
143
     * A subclass of BasicComboBoxEditor that implements UIResource.
144
     * BasicComboBoxEditor doesn't implement UIResource
145
     * directly so that applications can safely override the
146
     * cellRenderer property with BasicListCellRenderer subclasses.
147
     * <p>
148
     * <strong>Warning:</strong>
149
     * Serialized objects of this class will not be compatible with
150
     * future Swing releases. The current serialization support is
151
     * appropriate for short term storage or RMI between applications running
152
     * the same version of Swing.  As of 1.4, support for long term storage
153
     * of all JavaBeans<sup><font size="-2">TM</font></sup>
154
     * has been added to the <code>java.beans</code> package.
155
     * Please see {@link java.beans.XMLEncoder}.
156
     */
157
    public static class UIResource extends BasicComboBoxEditor
158
    implements javax.swing.plaf.UIResource {
159
    }
160
}
tags/v2_0_0_Build_2042/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/usertests/JFrameUserTestOfJComboBoxConfigurableLookUp.java
1
package org.gvsig.gui.beans.comboboxconfigurablelookup.usertests;
2

  
3
import java.io.Serializable;
4

  
5
import javax.swing.JFrame;
6

  
7
import org.gvsig.gui.beans.Messages;
8
import org.gvsig.gui.beans.comboboxconfigurablelookup.JComboBoxConfigurableLookUp;
9

  
10

  
11
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
12
*
13
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
14
*
15
* This program is free software; you can redistribute it and/or
16
* modify it under the terms of the GNU General Public License
17
* as published by the Free Software Foundation; either version 2
18
* of the License, or (at your option) any later version.
19
*
20
* This program is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23
* GNU General Public License for more details.
24
*
25
* You should have received a copy of the GNU General Public License
26
* along with this program; if not, write to the Free Software
27
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
28
*
29
* For more information, contact:
30
*
31
*  Generalitat Valenciana
32
*   Conselleria d'Infraestructures i Transport
33
*   Av. Blasco Ib??ez, 50
34
*   46010 VALENCIA
35
*   SPAIN
36
*
37
*      +34 963862235
38
*   gvsig@gva.es
39
*      www.gvsig.gva.es
40
*
41
*    or
42
*
43
*   IVER T.I. S.A
44
*   Salamanca 50
45
*   46005 Valencia
46
*   Spain
47
*
48
*   +34 963163400
49
*   dac@iver.es
50
*/
51

  
52
/**
53
 * <p>Creates and launches an application for testing {@link JComboBoxConfigurableLookUp JComboBoxConfigurableLookUp}.</p>
54
 * 
55
 * @author Pablo Piqueras Bartolom? (pablo.piqueras@iver.es)
56
 * @version 07/02/2008
57
 */
58
public class JFrameUserTestOfJComboBoxConfigurableLookUp implements Serializable{
59
	private static final long serialVersionUID = 5760643373469048220L;
60

  
61
	private JPanelUserTestOfJComboBoxConfigurableLookUp mainPanel = null;
62
	private JFrame frame;
63

  
64
	/**
65
	 * <p>Default constructor.</p>
66
	 */
67
	public JFrameUserTestOfJComboBoxConfigurableLookUp() {
68
		createFrame();
69
	}
70

  
71
	/**
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff