|
From: <ter...@us...> - 2007-05-14 18:55:36
|
Revision: 398
http://svn.sourceforge.net/cishell/?rev=398&view=rev
Author: terkhorn
Date: 2007-05-14 11:55:13 -0700 (Mon, 14 May 2007)
Log Message:
-----------
Added support for the "View as.." method for viewing files.
Modified Paths:
--------------
trunk/clients/gui/org.cishell.reference.gui.datamanager/src/org/cishell/reference/gui/datamanager/AbstractDataManagerView.java
Modified: trunk/clients/gui/org.cishell.reference.gui.datamanager/src/org/cishell/reference/gui/datamanager/AbstractDataManagerView.java
===================================================================
--- trunk/clients/gui/org.cishell.reference.gui.datamanager/src/org/cishell/reference/gui/datamanager/AbstractDataManagerView.java 2007-05-14 13:18:33 UTC (rev 397)
+++ trunk/clients/gui/org.cishell.reference.gui.datamanager/src/org/cishell/reference/gui/datamanager/AbstractDataManagerView.java 2007-05-14 18:55:13 UTC (rev 398)
@@ -20,7 +20,6 @@
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
-import java.util.StringTokenizer;
import org.cishell.app.service.datamanager.DataManagerListener;
import org.cishell.app.service.datamanager.DataManagerService;
@@ -41,7 +40,6 @@
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.SelectionAdapter;
@@ -92,11 +90,14 @@
private AlgorithmFactory saveFactory;
private AlgorithmFactory viewFactory;
+ private AlgorithmFactory viewWithFactory;
+
private DiscardListener discardListener;
private SaveListener saveListener;
private ViewListener viewListener;
+ private ViewWithListener viewWithListener;
public AbstractDataManagerView(String brandPluginID) {
manager = Activator.getDataManagerService();
@@ -145,6 +146,12 @@
viewListener = new ViewListener();
viewItem.addListener(SWT.Selection, viewListener);
+ MenuItem viewWithItem = new MenuItem(menu, SWT.PUSH);
+ viewWithItem.setText("View as...");
+ viewWithListener = new ViewWithListener();
+ viewWithItem.addListener(SWT.Selection, viewWithListener);
+
+
MenuItem renameItem = new MenuItem(menu, SWT.PUSH);
renameItem.setText("Rename");
renameItem.addListener(SWT.Selection, new Listener() {
@@ -308,6 +315,8 @@
"org.cishell.reference.gui.persistence.save.Save", model, 0);
viewFactory = enableMenuItemCheck(viewFactory,
"org.cishell.reference.gui.persistence.view.FileView", model, 1);
+ viewWithFactory = enableMenuItemCheck(viewWithFactory,
+ "org.cishell.reference.gui.persistence.viewwith.FileViewWith", model, 2);
}
private AlgorithmFactory enableMenuItemCheck(
@@ -318,12 +327,13 @@
algorithmFactory = Activator.getService(service);
if (algorithmFactory != null) {
validSaveFactory = true;
- }
+ }
} else {
validSaveFactory = true;
}
boolean enabled = false;
+
if (validSaveFactory) {
Algorithm algorithm = algorithmFactory.createAlgorithm(
new Data[] { model }, new Hashtable(), Activator
@@ -419,17 +429,11 @@
*/
private void updateText(String newLabel, TreeItem item) {
updatingTreeItem = true;
- /*
- if (newLabel.contains(">")) {
- System.out.println("We have a >\n");
- }
- */
+
if (newLabel.startsWith(">"))
newLabel = newLabel.substring(1);
- //System.out.println("The newLabel is "+newLabel);
- // This isn't being picked up
- //if (isValid(newLabel)) {
+
editor.getItem().setText(newLabel);
DataGUIItem treeItem = (DataGUIItem) item.getData();
@@ -438,27 +442,10 @@
viewer.refresh();
newEditor.dispose();
- // removed Error checking below for "invalid data model names" at Russell's request
- // Felix Terkhorn May 9 2007
- /*} else {
- String message = "Invalid data model name. The following characters"
- + " are not allowed:\n\n"
- + "`~!@#$%^&*()+=[{]}\\|;:'\",<>/?";
- Activator.getLogService().log(LogService.LOG_WARNING, message);
- handleInput();
- }*/
-
+
updatingTreeItem = false;
}
- // not valid chars: `~!@#$%^&*()+=[{]}\|;:'",<>/?
- private boolean isValid(String label) {
- StringTokenizer st = new StringTokenizer(" " + label + " ",
- "`~!@#$%^&*()+=[{]}\\|;:'\",<>/?");
-
- return st.countTokens() == 1;
- }
-
/*
* Listens for right-clicks on TreeItems and opens the context menu when
* needed.
@@ -504,6 +491,19 @@
}
}
+ private class ViewWithListener implements Listener {
+ public void handleEvent(Event event) {
+ if (viewWithFactory != null) {
+ Data data[] = AbstractDataManagerView.this.manager
+ .getSelectedData();
+ Algorithm algorithm = viewWithFactory
+ .createAlgorithm(data, new Hashtable(), Activator
+ .getCIShellContext());
+ algorithm.execute();
+ }
+ }
+ }
+
private class DiscardListener implements Listener {
public void handleEvent(Event event) {
TreeItem[] selection = AbstractDataManagerView.this.tree
@@ -526,36 +526,7 @@
}
}
- /*
- * Listens for double clicks or Enter presses on a TreeItem to cause that
- * item to become editable to rename it.
- */
- private class TreeItemEditorListener extends MouseAdapter implements
- KeyListener {
- //private TreeEditor editor;
- public TreeItemEditorListener(TreeEditor editor) {
- //this.editor = editor;
- }
-
- public void keyReleased(KeyEvent e) {
- if ((e.keyCode == SWT.CR) && !updatingTreeItem) {
- handleInput();
- }
- }
-
- public void mouseDoubleClick(MouseEvent e) {
- handleInput();
- }
-
- public void keyPressed(KeyEvent e) {
- }
-
- public void mouseDown(MouseEvent e) {
- }
- }
-
-
private class DataModelSelectionProvider implements ISelectionProvider {
private Set listeners = new HashSet();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|