|
From: <caw...@us...> - 2007-06-22 16:22:22
|
Revision: 2667
http://svn.sourceforge.net/rubyeclipse/?rev=2667&view=rev
Author: cawilliams
Date: 2007-06-22 09:22:12 -0700 (Fri, 22 Jun 2007)
Log Message:
-----------
listen for user hitting delete key on local gems listing, if they do, remove the selected gem
Modified Paths:
--------------
trunk/com.aptana.rdt/src/com/aptana/rdt/ui/gems/GemsView.java
Modified: trunk/com.aptana.rdt/src/com/aptana/rdt/ui/gems/GemsView.java
===================================================================
--- trunk/com.aptana.rdt/src/com/aptana/rdt/ui/gems/GemsView.java 2007-06-22 16:12:05 UTC (rev 2666)
+++ trunk/com.aptana.rdt/src/com/aptana/rdt/ui/gems/GemsView.java 2007-06-22 16:22:12 UTC (rev 2667)
@@ -8,6 +8,8 @@
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -15,6 +17,7 @@
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.part.ViewPart;
import org.rubypeople.rdt.ui.TableViewerSorter;
@@ -32,20 +35,36 @@
parent.setLayout(new GridLayout());
gemViewer = new TableViewer(parent, SWT.SINGLE | SWT.FULL_SELECTION);
- Table serverTable = gemViewer.getTable();
- serverTable.setHeaderVisible(true);
- serverTable.setLinesVisible(false);
- serverTable.setLayoutData(new GridData(GridData.FILL_BOTH));
+ final Table gemTable = gemViewer.getTable();
+ gemTable.setHeaderVisible(true);
+ gemTable.setLinesVisible(false);
+ gemTable.setLayoutData(new GridData(GridData.FILL_BOTH));
- TableColumn nameColumn = new TableColumn(serverTable, SWT.LEFT);
+ gemTable.addKeyListener(new KeyListener() {
+
+ public void keyReleased(KeyEvent e) {
+ // ignore
+ }
+
+ public void keyPressed(KeyEvent e) {
+ if (e.keyCode == SWT.DEL) {
+ TableItem item = gemTable.getItem(gemTable.getSelectionIndex());
+ Gem gem = (Gem) item.getData();
+ GemManager.getInstance().removeGem(gem);
+ }
+ }
+
+ });
+
+ TableColumn nameColumn = new TableColumn(gemTable, SWT.LEFT);
nameColumn.setText(GemsMessages.GemsView_NameColumn_label);
nameColumn.setWidth(150);
- TableColumn versionColumn = new TableColumn(serverTable, SWT.LEFT);
+ TableColumn versionColumn = new TableColumn(gemTable, SWT.LEFT);
versionColumn.setText(GemsMessages.GemsView_VersionColumn_label);
versionColumn.setWidth(75);
- TableColumn descriptionColumn = new TableColumn(serverTable, SWT.LEFT);
+ TableColumn descriptionColumn = new TableColumn(gemTable, SWT.LEFT);
descriptionColumn
.setText(GemsMessages.GemsView_DescriptionColumn_label);
descriptionColumn.setWidth(275);
@@ -55,6 +74,7 @@
TableViewerSorter.bind(gemViewer);
getSite().setSelectionProvider(gemViewer);
+
gemViewer.setInput(GemManager.getInstance().getGems());
createPopupMenu();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|