2016-04-28 16:31:10 +02:00
|
|
|
package org.hwo.ui;
|
|
|
|
|
2017-02-02 11:04:39 +01:00
|
|
|
import java.awt.Toolkit;
|
|
|
|
import java.awt.datatransfer.Clipboard;
|
|
|
|
import java.awt.datatransfer.StringSelection;
|
|
|
|
|
2016-04-28 16:31:10 +02:00
|
|
|
import javax.swing.JTable;
|
|
|
|
|
|
|
|
import org.hwo.models.TableMapper.TableMapper;
|
2016-06-08 23:05:45 +02:00
|
|
|
import org.hwo.models.TableMapper.TableMapperListener;
|
2016-04-28 16:31:10 +02:00
|
|
|
|
|
|
|
public class JMappedTable extends JTable {
|
|
|
|
|
|
|
|
private TableMapper tableMapper;
|
|
|
|
|
|
|
|
public JMappedTable(Class<?> clazz){
|
|
|
|
this.tableMapper = new TableMapper(clazz, this);
|
|
|
|
}
|
|
|
|
|
|
|
|
public TableMapper getTableMapper() {
|
|
|
|
return tableMapper;
|
2016-06-08 23:05:45 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public void addTableMapperListener(TableMapperListener tableMapperListener){
|
|
|
|
this.tableMapper.addTableMapperListener(tableMapperListener);
|
|
|
|
}
|
|
|
|
public void removeTableMapperListener(TableMapperListener tableMapperListener){
|
|
|
|
this.tableMapper.removeTableMapperListener(tableMapperListener);
|
2016-04-28 16:31:10 +02:00
|
|
|
}
|
|
|
|
|
2016-10-28 10:47:14 +02:00
|
|
|
public void setEditorEnabled(boolean enabled){
|
|
|
|
tableMapper.setEditorEnabled(enabled);
|
|
|
|
}
|
|
|
|
public boolean isEditorEnabled(){
|
|
|
|
return tableMapper.isEditorEnabled();
|
|
|
|
}
|
2016-06-08 23:05:45 +02:00
|
|
|
|
2017-02-02 11:04:39 +01:00
|
|
|
public void copyAllToClipboard(){
|
|
|
|
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
for (Object row: getTableMapper().getRows()){
|
|
|
|
sb.append(row.toString());
|
|
|
|
sb.append("\n\r");
|
|
|
|
}
|
|
|
|
|
|
|
|
StringSelection ssel = new StringSelection(sb.toString());
|
|
|
|
clip.setContents(ssel, null);
|
|
|
|
|
|
|
|
}
|
2016-06-08 23:05:45 +02:00
|
|
|
|
2016-04-28 16:31:10 +02:00
|
|
|
}
|