Revision 13414
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