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. |