Revision 6771 trunk/extensions/extCAD/src/com/iver/cit/gvsig/gui/cad/snapping/panels/SnapConfig.java

View differences:

SnapConfig.java
42 42

  
43 43
import java.awt.Component;
44 44
import java.util.ArrayList;
45
import java.util.Vector;
45 46

  
46 47
import javax.swing.JCheckBox;
47 48
import javax.swing.JList;
48 49
import javax.swing.JPanel;
49 50
import javax.swing.JScrollPane;
51
import javax.swing.JTable;
50 52
import javax.swing.ListCellRenderer;
53
import javax.swing.table.AbstractTableModel;
54
import javax.swing.table.DefaultTableModel;
51 55

  
52 56
import com.iver.cit.gvsig.gui.cad.snapping.ISnapper;
53
import com.iver.utiles.DefaultListModel;
54 57
;
55 58

  
59
/**
60
 * @author fjp
61
 *
62
 * Necesitamos un sitio donde est?n registrados todos los snappers que 
63
 * se pueden usar. ExtensionPoints es el sitio adecuado.
64
 * Este di?logo recuperar? esa lista para que el usuario marque los
65
 * snappers con los que desea trabajar.
66
 */
56 67
public class SnapConfig extends JPanel {
57 68

  
58 69
	private JCheckBox jChkBoxRefentActive = null;
59
	private JList jListSnappers = null;
70
	private JTable jListSnappers = null;
60 71
	private JPanel jPanel = null;
61 72
	private JScrollPane jScrollPane = null;
62 73
	
63 74
	private ArrayList snappers;
64 75
	
76
	/**
77
	 * @author fjp
78
	 * primera columna editable con un check box para habilitar/deshabilitar el snapper
79
	 * segunda columna con el s?mbolo del snapper
80
	 * tercera con el tooltip
81
	 * cuarta con un bot?n para configurar el snapper si es necesario.
82
	 */
83
	class MyTableModel extends AbstractTableModel {
84
		
85
		public ArrayList mySnappers;
86
		
87
		public MyTableModel(ArrayList snappers)
88
		{
89
			this.mySnappers = snappers;
90
		}
91

  
92
		public int getColumnCount() {
93
			return 4;
94
		}
95

  
96
		public int getRowCount() {
97
			return mySnappers.size();
98
		}
99

  
100
		public boolean isCellEditable(int rowIndex, int columnIndex) {
101
			if (columnIndex == 0)
102
				return true;
103
			else
104
				return false;
105
		}
106

  
107
		public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
108
			ISnapper snap = (ISnapper) mySnappers.get(rowIndex);
109
			switch (columnIndex)
110
			{
111
			case 0:
112
				snap.setEnabled(((Boolean)aValue).booleanValue());
113
			}
114

  
115
		}
116

  
117
		public Object getValueAt(int rowIndex, int columnIndex) {
118
			ISnapper snap = (ISnapper) mySnappers.get(rowIndex);
119
			switch (columnIndex)
120
			{
121
			case 0:
122
				return new Boolean(snap.isEnabled());
123
			case 1:
124
				return snap;				
125
			case 2:
126
				return snap.getToolTipText();
127
			}
128
			return null;
129
		}
130

  
131
		public Class getColumnClass(int columnIndex) {
132
			switch (columnIndex)
133
			{
134
			case 0:
135
				return Boolean.class;
136
			case 1:
137
				return String.class;
138
			case 2:
139
				return String.class;
140
			case 3:
141
				return String.class;
142
			}
143
			return null;
144
		}
145

  
146
		public String getColumnName(int column) {
147
			// TODO Auto-generated method stub
148
			return super.getColumnName(column);
149
		}
150
		
151
	}
152
	
65 153
	 class MyCellRenderer extends JCheckBox implements ListCellRenderer {
66 154

  
67 155
	     // This is the only method defined by ListCellRenderer.
......
142 230
	 * 	
143 231
	 * @return javax.swing.JList	
144 232
	 */
145
	private JList getJListSnappers() {
233
	private JTable getJListSnappers() {
146 234
		if (jListSnappers == null) {
147
			jListSnappers = new JList();
148
			jListSnappers.setCellRenderer(new MyCellRenderer());
235
			jListSnappers = new JTable();
236
			// jListSnappers.setCellRenderer(new MyCellRenderer());
149 237
		}
150 238
		return jListSnappers;
151 239
	}
......
185 273

  
186 274
	public void setSnappers(ArrayList snappers) {
187 275
		this.snappers = snappers;
188
		DefaultListModel listModel = new DefaultListModel(snappers);
276
		MyTableModel listModel = new MyTableModel(snappers);
189 277
		getJListSnappers().setModel(listModel);
190 278
	}
191 279
	

Also available in: Unified diff