RCP TableViewerColumn Listener

ska3k

Aktives Mitglied
Hallo,
wo muss ich den EventListener hinzufügen, damit er ein Event wirft, sobald das X in der delete-Spalte mit der Maus geklickt wurde? Ich hatte es jetzt versucht es an das cellitem zu hängen, zuvor auch schon an deleteColumn.getColumn(), aber ebenfalls ohne Erfolg.

Hier der Code:

Java:
deleteColumn.setLabelProvider(new CellLabelProvider() {
		    public void update(ViewerCell cell) {
		        cell.setImage(DELETEICON);
		        rowCount++;
		        cell.getItem().addListener(SWT.MouseDown, new Listener() {
					
					@Override
					public void handleEvent(Event event) {
						System.out.println("muhhh");
						
					}
				});
		    }
		});

Grüße
ska3k
 

ska3k

Aktives Mitglied
Ist zwar ein wenig zweckentfremdet, aber funktioniert. Ich habe nur noch das Problem, dass bei den letzten zwei Elementen der Liste wird der Vorgängen gelöscht wird. Bei allen anderen entfernt er die korrekte Zeile.

Java:
 		deleteColumn.setEditingSupport(new EditingSupport(viewer) {

		    protected boolean canEdit(Object element) {
		        return true;
		    }

		    protected CellEditor getCellEditor(Object element) {
		        return new TextCellEditor(viewer.getTable());
		    }

		    protected Object getValue(Object element) {
		    	viewer.remove(element);
		        viewer.refresh(element);
		        return ((DVDItem) element).getErschienen();
		    }

		    protected void setValue(Object element, Object value) {
		        ((DVDItem) element).setErschienen(String.valueOf(value));
		        viewer.remove(element);
		        viewer.refresh(element);
		    }

		});
 
G

Gast2

Gast
Zuletzt bearbeitet von einem Moderator:

Ähnliche Java Themen


Oben