Revision 39371

View differences:

tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/colorbutton/TestColorButton.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
package org.gvsig.gui.beans.colorbutton;
20

  
21
import java.awt.Dimension;
22

  
23
import javax.swing.JPanel;
24

  
25
import org.gvsig.gui.beans.TestUI;
26
/**
27
* Test del ColorButton
28
*
29
* @version 08/05/2007
30
* @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
31
*/
32
public class TestColorButton implements ColorButtonListener {
33
	private TestUI       jFrame       = null;
34
	private ColorButton colorButton = null;
35

  
36
	public TestColorButton() {
37
		initialize();
38
	}
39

  
40
	private void initialize() {
41
		colorButton = new ColorButton();
42
		colorButton.setEnabled(true);
43
		colorButton.addValueChangedListener(this);
44
		jFrame = new TestUI("TestColorButton");
45
		JPanel jpanel = new JPanel();
46
		jpanel.add(colorButton);
47
		jFrame.setSize(new Dimension(598, 167));
48
		jFrame.setContentPane(jpanel);
49
		jFrame.pack();
50
		jFrame.setVisible(true);
51
	}
52

  
53
	/**
54
	 * @param args
55
	 */
56
	public static void main(String[] args) {
57
		new TestColorButton();
58
	}
59

  
60
	public void actionValueChanged(ColorButtonEvent e) {
61
		System.out.println("actionValueChanged");
62
	}
63

  
64
	public void actionValueDragged(ColorButtonEvent e) {
65
		System.out.println("actionValueDragged");
66
	}
67
}
0 68

  
tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/propertiespanel/TestPropertiesPanel.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.propertiespanel;
20

  
21
import java.awt.Toolkit;
22
import java.util.ArrayList;
23
import java.util.EventObject;
24

  
25
import org.gvsig.gui.beans.TestUI;
26
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
27
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
28
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
29

  
30
public class TestPropertiesPanel implements ButtonsPanelListener, PropertiesComponentListener {
31
	TestUI frame = null;
32
	PropertiesPanel pd = null;
33

  
34
	public TestPropertiesPanel() {
35
		initialize();
36
	}
37

  
38
	public void initialize() {
39
		Toolkit.getDefaultToolkit().setDynamicLayout(true);
40
		frame = new TestUI("TestPropertiesPanel");
41
		pd = new PropertiesPanel();
42

  
43
		pd.addButtonPressedListener(this);
44
		pd.addValue("Protocolo", "protocolo", "", null);
45
		pd.addValue("Integer", "var1", new Integer(50), null);
46
		{
47
			Object[] types = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(-255), new Integer(255)};
48
			pd.addValue("Slider", "slider1", new Integer(25), types); // Slider
49
			Object[] types2 = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(0), new Integer(50)};
50
			pd.addValue("Slider", "slider2", new Integer(25), types2); // Slider
51
			Object[] types3 = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(0), new Integer(100)};
52
			pd.addValue("Slider", "slider3", new Double(25), types3); // Slider
53
		}
54
		pd.addValue("Activo", "check1", new Boolean(true), null); // Slider
55
		{
56
			ArrayList lista = new ArrayList();
57
			lista.add("Primer elemento");
58
			lista.add("Segundo elemento");
59
			lista.add("Tercer elemento");
60
			PropertyStruct property = new PropertyStruct();
61
			property.setTextLabel("Combo");
62
			property.setKey("combo1");
63
			property.setOldValue(new Integer(1));
64
			Object[] types = {new Integer(PropertiesComponent.TYPE_COMBO), lista};
65
			property.setExtras(types);
66
			pd.addPropertyStruct(property);
67
		}
68
		frame.getContentPane().add(pd);
69
		frame.pack();
70
		pd.addStateChangedListener(this);
71
		frame.setVisible(true);
72
	}
73

  
74
	public static void main(String[] args) {
75
		new TestPropertiesPanel();
76
	}
77

  
78
	public void actionButtonPressed(ButtonsPanelEvent e) {
79
		if (e.getButton() == ButtonsPanel.BUTTON_ACCEPT) {
80
			ArrayList values = pd.getValues();
81
			System.out.println("-----");
82
			for (int i=0; i<values.size(); i++) {
83
				System.out.println(((PropertyStruct)values.get(i)).getKey()
84
						+ ": '" + ((PropertyStruct)values.get(i)).getOldValue().toString()
85
						+ "', '" + ((PropertyStruct)values.get(i)).getNewValue().toString() + "'");
86
				System.out.println(pd.getComponentUI(((PropertyStruct)values.get(i)).getKey()).toString());
87
			}
88
		}
89
	}
90

  
91
	public void actionChangeProperties(EventObject e) {
92
		System.out.println("Ha cambiado");
93
		System.out.println(pd.getProperties().get("slider3"));
94
	}
95
}
0 96

  
tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/propertiespanel/ui/TestSlider.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.propertiespanel.ui;
20

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

  
25
import javax.swing.JButton;
26
import javax.swing.JColorChooser;
27
import javax.swing.event.ChangeEvent;
28
import javax.swing.event.ChangeListener;
29

  
30
import org.gvsig.gui.beans.propertiespanel.JPanelProperty;
31
/**
32
 * Panel que ira dentro del panel de propiedades
33
 *
34
 * @version 06/06/2007
35
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
36
 */
37
public class TestSlider extends JPanelProperty implements ChangeListener, ActionListener {
38
	private static final long serialVersionUID = -4936433530376831937L;
39

  
40
	public TestSlider() {
41
		initialize();
42
	}
43

  
44
	private void initialize() {
45
		setLayout(new BorderLayout());
46
		JColorChooser color = new JColorChooser();
47
		add(color, BorderLayout.CENTER);
48
		JButton boton = new JButton("OK");
49
		add(boton, BorderLayout.SOUTH);
50
		boton.addActionListener(this);
51
		color.getSelectionModel().addChangeListener(this);
52
	}
53

  
54
	public void stateChanged(ChangeEvent e) {
55
		this.callStateChanged();
56
	}
57

  
58
	public void actionPerformed(ActionEvent e) {
59
		this.callStateChanged();
60
	}
61
}
0 62

  
tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/propertiespanel/TestPropertiesPanel2.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.propertiespanel;
20

  
21
import java.util.ArrayList;
22
import java.util.EventObject;
23

  
24
import org.gvsig.gui.beans.TestUI;
25
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
26
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
27
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
28

  
29
public class TestPropertiesPanel2 implements ButtonsPanelListener, PropertiesComponentListener {
30
	TestUI frame = null;
31
	PropertiesPanel pd = null;
32

  
33
	public TestPropertiesPanel2() {
34
		initialize();
35
	}
36

  
37
	public void initialize() {
38
		frame = new TestUI("TestPropertiesPanel2");
39
		pd = new PropertiesPanel();
40

  
41
		pd.addButtonPressedListener(this);
42
		pd.addValue("Protocolo", "protocolo", "", null);
43
		pd.addValue("Integer", "var1", new Integer(50), null);
44
		{
45
			Object[] types = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(-255), new Integer(255)};
46
			pd.addValue("Slider", "slider1", new Integer(25), types); // Slider
47
			Object[] types2 = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(0), new Integer(50)};
48
			pd.addValue("Slider", "slider2", new Integer(25), types2); // Slider
49
			Object[] types3 = {new Integer(PropertiesComponent.TYPE_SLIDER), new Integer(0), new Integer(100)};
50
			pd.addValue("Slider", "slider3", new Integer(25), types3); // Slider
51
		}
52
		pd.addValue("Activo", "check1", new Boolean(true), null); // Slider
53
		{
54
			ArrayList lista = new ArrayList();
55
			lista.add("Primer elemento");
56
			lista.add("Segundo elemento");
57
			lista.add("Tercer elemento");
58
			PropertyStruct property = new PropertyStruct();
59
			property.setTextLabel("Combo");
60
			property.setKey("combo1");
61
			property.setOldValue(new Integer(1));
62
			Object[] types = {new Integer(PropertiesComponent.TYPE_COMBO), lista};
63
			property.setExtras(types);
64
			pd.addPropertyStruct(property);
65

  
66
			pd = new PropertiesPanel(pd.getProperties());
67
		}
68
		frame.getContentPane().add(pd);
69
		frame.pack();
70
		pd.addStateChangedListener(this);
71
		frame.setVisible(true);
72
	}
73

  
74
	public static void main(String[] args) {
75
		new TestPropertiesPanel2();
76
	}
77

  
78
	public void actionButtonPressed(ButtonsPanelEvent e) {
79
		if (e.getButton() == ButtonsPanel.BUTTON_ACCEPT) {
80
			ArrayList values = pd.getValues();
81
			System.out.println("-----");
82
			for (int i=0; i<values.size(); i++) {
83
				System.out.println(((PropertyStruct)values.get(i)).getKey()
84
						+ ": '" + ((PropertyStruct)values.get(i)).getOldValue().toString()
85
						+ "', '" + ((PropertyStruct)values.get(i)).getNewValue().toString() + "'");
86
			}
87
		}
88
	}
89

  
90
	public void actionChangeProperties(EventObject e) {
91
		System.out.println("Ha cambiado");
92
	}
93
}
0 94

  
tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/propertiespanel/TestPropertiesPanel_JPanel.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.propertiespanel;
20

  
21
import java.util.ArrayList;
22
import java.util.EventObject;
23

  
24
import org.gvsig.gui.beans.TestUI;
25
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
26
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelEvent;
27
import org.gvsig.gui.beans.buttonspanel.ButtonsPanelListener;
28
import org.gvsig.gui.beans.propertiespanel.ui.TestSlider;
29
/**
30
 * Test para comprobar que se puede integrar un JPanelProperty dentro del
31
 * PropertiesComponent
32
 *
33
 * @version 06/06/2007
34
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
35
 */
36
public class TestPropertiesPanel_JPanel implements ButtonsPanelListener, PropertiesComponentListener {
37
	private TestUI          jFrame = null;
38
	private PropertiesPanel pd     = null;
39

  
40
	public TestPropertiesPanel_JPanel() {
41
		initialize();
42
	}
43

  
44
	public void initialize() {
45
		jFrame = new TestUI("TestPropertiesPanel_JPanel");
46
		pd = new PropertiesPanel();
47

  
48
		pd.addButtonPressedListener(this);
49
		TestSlider ts = new TestSlider();
50
		pd.addValue("Protocolo", "protocolo", "", null);
51
		pd.addValue("Integer", "var1", new Integer(50), null);
52
		pd.addValue("Mi panel", "mipanel", ts, null);
53

  
54
		jFrame.getContentPane().add(pd);
55
		pd.addStateChangedListener(this);
56
		jFrame.pack();
57
		jFrame.setVisible(true);
58
	}
59

  
60
	public static void main(String[] args) {
61
		new TestPropertiesPanel_JPanel();
62
	}
63

  
64
	public void actionButtonPressed(ButtonsPanelEvent e) {
65
		if (e.getButton() == ButtonsPanel.BUTTON_ACCEPT) {
66
			ArrayList values = pd.getValues();
67
			System.out.println("-----");
68
			for (int i = 0; i < values.size(); i++) {
69
				System.out.println(((PropertyStruct)values.get(i)).getKey()
70
					+ ": '" + ((PropertyStruct)values.get(i)).getOldValue().toString()
71
					+ "', '" + ((PropertyStruct)values.get(i)).getNewValue() + "'");
72
			}
73
		}
74
	}
75

  
76
	public void actionChangeProperties(EventObject e) {
77
		System.out.println("Ha cambiado");
78
	}
79
}
0 80

  
tags/v2_0_0_Build_2060/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_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/textincreaser/TestTextIncreaser.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.textincreaser;
20

  
21
import javax.swing.JFrame;
22

  
23
public class TestTextIncreaser {
24
	private int                    w     = 200;
25
	private int                    h     = 200;
26
	private JFrame                 frame = new JFrame();
27
	private TextIncreaserContainer tic1;
28

  
29
	public TestTextIncreaser() {
30
		tic1 = new TextIncreaserContainer(70, 0, 10, 0, true);
31

  
32
		frame.getContentPane().add(tic1);
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 TestTextIncreaser();
40
	}
41
}
0 42

  
tags/v2_0_0_Build_2060/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_2060/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_2060/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_2060/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_2060/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
	/**
72
	 * <p>Creates the main <code>JFrame</code> for execute the application, and adds to it the <code>JPanel</code> test application.</p> 
73
	 */
74
	private void createFrame() {
75
		// Create: Configuration Frame
76
		frame = new JFrame();
77
		frame.setResizable(false);
78
		frame.setTitle(Messages.getText("jComboBoxConfigurableLookUpByTheUser_frameTitle"));
79
		frame.getContentPane().add(getJPanelUserTestOfJComboBoxConfigurableLookUp());
80
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
81
		frame.pack();
82

  
83
		// Centers the frame in the middle of the screen
84
		frame.setLocationRelativeTo(null);
85
	}
86
	
87
	/**
88
	 * <p>Initializes <code>mainPanel</code>.</p>
89
	 * 
90
	 * @return JPanelUserTestOfJComboBoxConfigurableLookUp
91
	 */
92
	private JPanelUserTestOfJComboBoxConfigurableLookUp getJPanelUserTestOfJComboBoxConfigurableLookUp() {
93
		if (mainPanel == null) {
94
			mainPanel = new JPanelUserTestOfJComboBoxConfigurableLookUp();
95
		}
96
		
97
		return mainPanel;
98
	}
99

  
100
	/**
101
	 * <p>Method for launch the application.</p>
102
	 * 
103
	 * @param args
104
	 */
105
	public static void main(String[] args) {
106
		JFrameUserTestOfJComboBoxConfigurableLookUp app = new JFrameUserTestOfJComboBoxConfigurableLookUp();
107
		app.setVisible(true);
108
	}
109

  
110
	/**
111
	 * <p>Sets visible the frame.</p>
112
	 * 
113
	 * @param visible True or false
114
	 */
115
	public void setVisible(boolean visible) {
116
		frame.setVisible(visible);
117
	}	
118
}
tags/v2_0_0_Build_2060/libraries/libUIComponent/src-test-ui/org/gvsig/gui/beans/comboboxconfigurablelookup/usertests/JPanelUserTestOfJComboBoxConfigurableLookUp.java
1
package org.gvsig.gui.beans.comboboxconfigurablelookup.usertests;
2

  
3
import java.awt.Color;
4
import java.awt.Dimension;
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff