Revision 44801 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.exportto/org.gvsig.exportto.swing/org.gvsig.exportto.swing.impl/src/main/java/org/gvsig/export/swing/impl/panels/SelectAttributesPanel.java
SelectAttributesPanel.java | ||
---|---|---|
67 | 67 |
private static final int COLUMN_FIELD_EXPORT = 0; |
68 | 68 |
private static final int COLUMN_FIELD_TYPE = 1; |
69 | 69 |
private static final int COLUMN_FIELD_SIZE = 2; |
70 |
private static final int COLUMN_FIELD_CALCULATED = 3; |
|
71 |
private static final int COLUMN_FIELD_NAME = 4; |
|
72 |
private static final int COLUMN_FIELD_NEW_NAME = 5; |
|
70 |
private static final int COLUMN_FIELD_ORIGIN = 3; |
|
71 |
private static final int COLUMN_FIELD_CALCULATED = 4; |
|
72 |
private static final int COLUMN_FIELD_NAME = 5; |
|
73 |
private static final int COLUMN_FIELD_NEW_NAME =6; |
|
74 |
|
|
75 |
private static final int COLUMN_FIELD_COUNT = 7; |
|
76 |
|
|
77 |
private static final int ORIGIN_REAL = 0; |
|
78 |
private static final int ORIGIN_CALCULATED = 1; |
|
79 |
private static final int ORIGIN_EXTRA = 2; |
|
80 |
|
|
73 | 81 |
|
74 |
private static final int COLUMN_FIELD_COUNT = 6; |
|
75 |
|
|
76 | 82 |
private static class AttributesTableModel |
77 | 83 |
extends AbstractTableModel |
78 | 84 |
implements TableModel { |
... | ... | |
87 | 93 |
this.dataManager = ToolsLocator.getDataTypesManager(); |
88 | 94 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
89 | 95 |
columnNames[COLUMN_FIELD_NAME] = i18nManager.getTranslation("_name"); |
90 |
columnNames[COLUMN_FIELD_NEW_NAME] = i18nManager.getTranslation("_new_name"); |
|
96 |
columnNames[COLUMN_FIELD_NEW_NAME] = i18nManager.getTranslation("_New_name"); |
|
97 |
columnNames[COLUMN_FIELD_ORIGIN] = i18nManager.getTranslation("_Origin"); |
|
91 | 98 |
columnNames[COLUMN_FIELD_TYPE] = i18nManager.getTranslation("_type"); |
92 |
columnNames[COLUMN_FIELD_SIZE] = i18nManager.getTranslation("_size");
|
|
93 |
columnNames[COLUMN_FIELD_CALCULATED] = i18nManager.getTranslation("_virtual");
|
|
99 |
columnNames[COLUMN_FIELD_SIZE] = i18nManager.getTranslation("_Size");
|
|
100 |
columnNames[COLUMN_FIELD_CALCULATED] = i18nManager.getTranslation("_Virtual");
|
|
94 | 101 |
columnNames[COLUMN_FIELD_EXPORT] = ""; |
95 | 102 |
|
96 | 103 |
columnClases[COLUMN_FIELD_NAME] = String.class; |
97 | 104 |
columnClases[COLUMN_FIELD_NEW_NAME] = String.class; |
105 |
columnClases[COLUMN_FIELD_ORIGIN] = String.class; |
|
98 | 106 |
columnClases[COLUMN_FIELD_TYPE] = String.class; |
99 | 107 |
columnClases[COLUMN_FIELD_SIZE] = Integer.class; |
100 | 108 |
columnClases[COLUMN_FIELD_EXPORT] = Boolean.class; |
... | ... | |
126 | 134 |
switch (columnIndex) { |
127 | 135 |
case COLUMN_FIELD_NAME: |
128 | 136 |
return false; |
137 |
case COLUMN_FIELD_ORIGIN: |
|
138 |
return false; |
|
129 | 139 |
case COLUMN_FIELD_CALCULATED: { |
130 | 140 |
ExportAttribute attr = this.attributes.get(rowIndex); |
131 | 141 |
DataType dataType = attr.getDescriptor().getDataType(); |
... | ... | |
134 | 144 |
dataType.isDynObject() ) { |
135 | 145 |
return false; |
136 | 146 |
} |
137 |
return true; |
|
147 |
if (attr.getDescriptor().isComputed()) { |
|
148 |
return true; |
|
149 |
} |
|
150 |
return false; |
|
138 | 151 |
} |
139 | 152 |
default: |
140 | 153 |
return true; |
... | ... | |
149 | 162 |
return attr.getName(); |
150 | 163 |
case COLUMN_FIELD_NEW_NAME: |
151 | 164 |
return attr.getNewName(); |
165 |
case COLUMN_FIELD_ORIGIN: |
|
166 |
if (attr.getDescriptor().isComputed()) { |
|
167 |
if (attr.getDescriptor().getFeatureType()!=null) { |
|
168 |
return ORIGIN_CALCULATED; |
|
169 |
} else { |
|
170 |
return ORIGIN_EXTRA; |
|
171 |
} |
|
172 |
} else { |
|
173 |
return ORIGIN_REAL; |
|
174 |
} |
|
152 | 175 |
case COLUMN_FIELD_TYPE: |
153 | 176 |
return dataManager.getTypeName(attr.getNewDataType()); |
154 | 177 |
case COLUMN_FIELD_SIZE: |
... | ... | |
256 | 279 |
} |
257 | 280 |
} |
258 | 281 |
|
282 |
|
|
259 | 283 |
private class DataTypeCellRenderer |
260 | 284 |
extends JLabel |
261 | 285 |
implements TableCellRenderer { |
... | ... | |
281 | 305 |
} |
282 | 306 |
} |
283 | 307 |
|
308 |
|
|
309 |
private class OriginCellRenderer |
|
310 |
extends JLabel |
|
311 |
implements TableCellRenderer { |
|
312 |
|
|
313 |
public OriginCellRenderer() { |
|
314 |
} |
|
315 |
|
|
316 |
@Override |
|
317 |
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { |
|
318 |
if (column == COLUMN_FIELD_ORIGIN) { |
|
319 |
int origin = (int) table.getModel().getValueAt(row, COLUMN_FIELD_ORIGIN); |
|
320 |
IconTheme iconManager = ToolsSwingLocator.getIconThemeManager().getDefault(); |
|
321 |
I18nManager i18Manager = ToolsLocator.getI18nManager(); |
|
322 |
this.setHorizontalAlignment(JLabel.CENTER); |
|
323 |
switch (origin) { |
|
324 |
case ORIGIN_CALCULATED: |
|
325 |
this.setToolTipText(i18Manager.getTranslation("_Calculated_field")); |
|
326 |
this.setIcon((iconManager.get("column-calculated"))); |
|
327 |
break; |
|
328 |
case ORIGIN_EXTRA: |
|
329 |
this.setToolTipText(i18Manager.getTranslation("_Extra_field")); |
|
330 |
this.setIcon((iconManager.get("column-extra"))); |
|
331 |
break; |
|
332 |
case ORIGIN_REAL: |
|
333 |
this.setToolTipText(i18Manager.getTranslation("_Real_field")); |
|
334 |
this.setIcon((iconManager.get("column-true"))); |
|
335 |
break; |
|
336 |
default: |
|
337 |
this.setText(value.toString()); |
|
338 |
break; |
|
339 |
} |
|
340 |
return this; |
|
341 |
} |
|
342 |
return this; |
|
343 |
} |
|
344 |
} |
|
345 |
|
|
284 | 346 |
private class DataTypeCellEditor extends DefaultCellEditor { |
285 | 347 |
|
286 | 348 |
private int currentRow = -1; |
... | ... | |
302 | 364 |
return label; |
303 | 365 |
} |
304 | 366 |
} |
305 |
|
|
367 |
|
|
306 | 368 |
public DataTypeCellEditor() { |
307 | 369 |
super(new JComboBox()); |
308 | 370 |
JComboBox combo = (JComboBox) this.getComponent(); |
... | ... | |
448 | 510 |
this.tableFilterController.setModel(this.tableModel); |
449 | 511 |
|
450 | 512 |
TableColumnModel columnModel = this.tblAttributes.getColumnModel(); |
513 |
columnModel.getColumn(COLUMN_FIELD_ORIGIN).setCellRenderer(new OriginCellRenderer()); |
|
451 | 514 |
columnModel.getColumn(COLUMN_FIELD_TYPE).setCellEditor(new DataTypeCellEditor()); |
452 | 515 |
columnModel.getColumn(COLUMN_FIELD_TYPE).setCellRenderer(new DataTypeCellRenderer()); |
453 | 516 |
|
454 | 517 |
columnModel.getColumn(COLUMN_FIELD_EXPORT).setPreferredWidth( new JCheckBox().getPreferredSize().width*2); |
455 |
columnModel.getColumn(COLUMN_FIELD_TYPE).setPreferredWidth( new JLabel("XXIntegerXX").getPreferredSize().width);
|
|
518 |
columnModel.getColumn(COLUMN_FIELD_TYPE).setPreferredWidth( new JLabel("XIntegerX").getPreferredSize().width);
|
|
456 | 519 |
columnModel.getColumn(COLUMN_FIELD_SIZE).setPreferredWidth( new JLabel("00000").getPreferredSize().width); |
520 |
columnModel.getColumn(COLUMN_FIELD_ORIGIN).setPreferredWidth( new JLabel("000").getPreferredSize().width); |
|
521 |
columnModel.getColumn(COLUMN_FIELD_CALCULATED).setPreferredWidth( new JLabel("000").getPreferredSize().width); |
|
457 | 522 |
|
458 | 523 |
} |
459 | 524 |
|
Also available in: Unified diff