Revision 13414

View differences:

trunk/libraries/libUIComponent/src/org/gvsig/gui/beans/table/listeners/TableListener.java
21 21
import java.awt.event.ActionEvent;
22 22
import java.awt.event.ActionListener;
23 23

  
24
import javax.swing.event.ListSelectionEvent;
25
import javax.swing.event.ListSelectionListener;
26

  
24 27
import org.gvsig.gui.beans.table.Table;
25 28
import org.gvsig.gui.beans.table.TableContainer;
26 29
import org.gvsig.gui.beans.table.TableControlerPanel;
......
30 33
 * Listener para la tabla
31 34
 * @author Nacho Brodin <brodin_ign@gva.es>
32 35
 */
33
public class TableListener implements ActionListener {
36
public class TableListener implements ActionListener, ListSelectionListener {
34 37

  
35 38
	public static boolean 			comboEventEnable = true;
36 39
	private TableContainer		 	tableContainer = null;
......
58 61
	public void actionPerformed(ActionEvent e) {
59 62
		if (controlPanel == null || table == null)
60 63
			initialize();
64

  
61 65
		try {
62 66
			/**
63 67
			 * Nueva entrada
......
110 114

  
111 115
		}
112 116
	}
117

  
118
	/*
119
	 * (non-Javadoc)
120
	 * @see javax.swing.event.ListSelectionListener#valueChanged(javax.swing.event.ListSelectionEvent)
121
	 */
122
	public void valueChanged(ListSelectionEvent e) {
123
		try {
124
	    tableContainer.setSelectedIndex(tableContainer.getSelectedRow());
125
    } catch (NotInitializeException e1) {
126
	    e1.printStackTrace();
127
    }
128
  }
113 129
}
trunk/libraries/libUIComponent/src/org/gvsig/gui/beans/table/TableContainer.java
66 66
	 */
67 67
	public void initialize() {
68 68
		initTable = true;
69
		this.tableListener = new TableListener(this);
69
		tableListener = new TableListener(this);
70 70
		GridBagConstraints gridBagConstraints = new GridBagConstraints();
71 71
		gridBagConstraints.gridx = 0;
72 72
		gridBagConstraints.gridy = 0;
......
103 103
	public TableControlerPanel getPTableControl() {
104 104
		if (pTableControl == null) {
105 105
			pTableControl = new TableControlerPanel(tableListener);
106
			getTable().getJTable().getSelectionModel().addListSelectionListener(tableListener);
106 107
		}
107 108
		return pTableControl;
108 109
	}
......
181 182
	 * @param i punto a seleccionar
182 183
	 */
183 184
	public void setSelectedIndex(int i)throws NotInitializeException{
184
		if(!initTable)
185
		if (!initTable)
185 186
			throw new NotInitializeException();
186 187

  
187 188
		TableListener.comboEventEnable = false;
188
		try{
189
		try {
189 190
			getPTableControl().setSelectedIndex(i);
190 191
			getTable().getJTable().setRowSelectionInterval(i, i);
191
		}catch(IllegalArgumentException ex){
192
		} catch (IllegalArgumentException ex) {
192 193

  
193 194
		}
194 195
		TableListener.comboEventEnable = true;
trunk/libraries/libUIComponent/src/org/gvsig/gui/beans/table/TableControlerPanel.java
20 20

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

  
25 24
import javax.swing.ImageIcon;
26 25
import javax.swing.JButton;
......
29 28
import javax.swing.JPanel;
30 29

  
31 30
import org.gvsig.gui.beans.messages.Messages;
31
import org.gvsig.gui.beans.table.listeners.TableListener;
32 32
/**
33 33
 * Control para el manejo de tablas. No contiene eventos, estos deben
34 34
 * ser manejados desde la clase que lo llame.
......
66 66
	/**
67 67
	 * This is the default constructor
68 68
	 */
69
	public TableControlerPanel(ActionListener buttonsListener) {
69
	public TableControlerPanel(TableListener tableListener) {
70 70
		super();
71
		initialize(buttonsListener);
71
		initialize(tableListener);
72 72

  
73 73
	}
74 74

  
......
77 77
	 *
78 78
	 * @return void
79 79
	 */
80
	private void initialize(ActionListener buttonsListener) {
80
	private void initialize(TableListener tableListener) {
81 81
		FlowLayout flowLayout5 = new FlowLayout();
82 82
		flowLayout5.setHgap(1);
83 83
		flowLayout5.setVgap(0);
......
101 101
		this.add(getBClear(), null);
102 102
		this.setPreferredSize(new Dimension(0, HEIGHT_CONTROL));
103 103

  
104
		getBFirst().addActionListener(buttonsListener);
105
		getBPrev().addActionListener(buttonsListener);
106
		getCPoint().addActionListener(buttonsListener);
107
		getBNext().addActionListener(buttonsListener);
108
		getBLast().addActionListener(buttonsListener);
109
		getBNew().addActionListener(buttonsListener);
110
		getBDelPoint().addActionListener(buttonsListener);
111
		getBClear().addActionListener(buttonsListener);
104
		getBFirst().addActionListener(tableListener);
105
		getBPrev().addActionListener(tableListener);
106
		getCPoint().addActionListener(tableListener);
107
		getBNext().addActionListener(tableListener);
108
		getBLast().addActionListener(tableListener);
109
		getBNew().addActionListener(tableListener);
110
		getBDelPoint().addActionListener(tableListener);
111
		getBClear().addActionListener(tableListener);
112 112
	}
113 113

  
114 114
	/**
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/ui/listener/CuttingPanelListener.java
222 222
			getCuttingPanel().setHeightText(dim.height, 0);
223 223
			getCuttingPanel().setCellSizeText(((lrWc.getX() - ulWc.getX()) / dim.width), 4);
224 224
			getCuttingPanel().setRelWidthHeight((double) (dim.getWidth() / dim.getHeight()));
225

  
226
			getCuttingPanel().getPResolution().setWidthText(Math.abs(maxX - minX), 0);
227
			getCuttingPanel().getPResolution().setHeightText(Math.abs(maxY - minY), 0);
225 228
			return;
226 229
		}
227 230

  
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/ui/listener/CuttingMouseViewListener.java
59 59
		this.cuttingPanel = cuttingPanel;
60 60
		this.layer = (FLyrRasterSE) cuttingPanel.getFLayer();
61 61
		this.mapControl = mapControl;
62
		currentTool = mapControl.getCurrentTool();
62
		this.currentTool = mapControl.getCurrentTool();
63 63
	}
64 64

  
65 65
	/**
......
127 127
		cuttingPanel.setHeightText(dim.getY(), 0);
128 128
		cuttingPanel.setCellSizeText(((maxX - minX) / dim.getX()), 4);
129 129
		cuttingPanel.setRelWidthHeight((double) (dim.getX() / dim.getY()));
130

  
131
		cuttingPanel.getPResolution().setWidthText(Math.abs(maxX - minX), 0);
132
		cuttingPanel.getPResolution().setHeightText(Math.abs(maxY - minY), 0);
133
		
130 134
		if (currentTool != null)
131 135
			mapControl.setTool(currentTool);
132 136
	}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/colortable/ui/ColorTablePanel.java
474 474
		}
475 475
	}
476 476

  
477
	public void setEnabledRecursive(JComponent component, boolean enabled) {
478
		component.setEnabled(enabled);
477
	ArrayList statusList = new ArrayList();
478
	public class StatusComponent {
479
		private JComponent object;
480
		private boolean enabled;
481

  
482
		public boolean isEnabled() {
483
    	return enabled;
484
    }
485

  
486
		public void setEnabled(boolean enabled) {
487
    	this.enabled = enabled;
488
    }
489

  
490
		public JComponent getObject() {
491
    	return object;
492
    }
493

  
494
		public void setObject(JComponent object) {
495
    	this.object = object;
496
    }
497
	}
498

  
499
	private void saveComponentsStatus(JComponent component) {
500
		// Guardar estado
501
		StatusComponent auxStatus = new StatusComponent();
502
		auxStatus.setEnabled(component.isEnabled());
503
		auxStatus.setObject(component);
504
		statusList.add(auxStatus);
505

  
479 506
		for (int i = 0; i < component.getComponentCount(); i++)
480 507
			if (component.getComponent(i) instanceof JComponent)
481
				setEnabledRecursive((JComponent) component.getComponent(i), enabled);
508
				saveComponentsStatus((JComponent) component.getComponent(i));
482 509
	}
483 510
	
511
	public void setEnabledRecursive(JComponent component, boolean enabled, int level) {
512
		if (enabled == true) {
513
			boolean auxEnabled = false;
514
			boolean finded = false;
515
			// Buscar estado de dicho componente
516
			for (int i = 0; i < statusList.size(); i++) {
517
				StatusComponent auxStatus = (StatusComponent) statusList.get(i);
518
				if (auxStatus.getObject() == component) {
519
					auxEnabled = auxStatus.isEnabled();
520
					statusList.remove(i);
521
					i--;
522
					finded = true;
523
					break;
524
				}
525
			}
526

  
527
			// Asignar su estado
528
			if (finded)
529
				component.setEnabled(auxEnabled);
530
		} else {
531
			// Si es la primera llamada, guardamos el estado de todos los componentes
532
			if (level == 0)
533
				saveComponentsStatus(component);
534

  
535
			// Desactivar componente
536
			component.setEnabled(false);
537
		}
538
		
539
		for (int i = 0; i < component.getComponentCount(); i++)
540
			if (component.getComponent(i) instanceof JComponent)
541
				setEnabledRecursive((JComponent) component.getComponent(i), enabled, level + 1);
542
	}
543
	
484 544
	public void setEnabledPanel(boolean enabled) {
485 545
		getCheckBoxInterpolated().setEnabled(enabled);
486 546
		getTabbedPane().setEnabled(enabled);
487 547
		switch (getTabbedPane().getSelectedIndex()) {
488 548
			case 0:
489
				setEnabledRecursive(getTabTable(), enabled);
549
				//getTabTable().getTableContainer().setEnabled(enabled);
550
				setEnabledRecursive(getTabTable(), enabled, 0);
490 551
				break;
491 552
			case 1:
492
				setEnabledRecursive(getTabInterpolated(), enabled);
553
				setEnabledRecursive(getTabInterpolated(), enabled, 0);
493 554
				break;
494 555
		}
495
		setEnabledRecursive(getPanelPreview(), enabled);
496
		setEnabledRecursive(getPanelListView(), enabled);
556
		setEnabledRecursive(getPanelPreview(), enabled, 0);
557
		setEnabledRecursive(getPanelListView(), enabled, 0);
497 558
	}
498 559
	
499 560
	public void actionPerformed(ActionEvent e) {

Also available in: Unified diff