Skip to content

Commit

Permalink
Added a property descriptor that can open a RichBrowser.
Browse files Browse the repository at this point in the history
  • Loading branch information
olas committed Oct 25, 2012
1 parent b8f621f commit 3d6f503
Show file tree
Hide file tree
Showing 3 changed files with 120 additions and 6 deletions.
4 changes: 3 additions & 1 deletion plugins/net.bioclipse.ds/META-INF/MANIFEST.MF
Expand Up @@ -17,7 +17,9 @@ Require-Bundle: org.eclipse.ui,
org.openscience.cdk.renderbasic,
org.openscience.cdk.standard,
org.openscience.cdk.silent,
org.openscience.cdk.valencycheck
org.openscience.cdk.valencycheck,
org.eclipse.jface.text,
net.bioclipse.browser
Bundle-ActivationPolicy: lazy
Import-Package: javax.vecmath,
nu.xom;version="1.1.0",
Expand Down
Expand Up @@ -69,12 +69,27 @@ else if (item.getClassification()==ITestResult.ERROR)
Map<String, String> catprops = item.getProperties().get(category);

for (String name : catprops.keySet()){
String value = catprops.get(name);
PropertyDescriptor descriptor = new PropertyDescriptor(category+"_" + name, name);
descriptor.setCategory(category);
getProperties().add(descriptor);
addToValueMap(category+"_" + name,value);
String value = catprops.get(name);

//Treat this as a special property
if (name.equals("EXTENDED_IN_BROWSER")){
OpenBrowserPropertyDescriptor descriptor =
new OpenBrowserPropertyDescriptor(
category+"_EXTENDED", "More information", value);
descriptor.setCategory(category);
getProperties().add(descriptor);
addToValueMap(category+"_EXTENDED", "Click for more information"); //Value is here a local URL
}else{
PropertyDescriptor descriptor = new PropertyDescriptor(
category+"_" + name, name);
descriptor.setCategory(category);
getProperties().add(descriptor);
addToValueMap(category+"_" + name,value);
}

}


}
}

Expand Down
@@ -0,0 +1,97 @@
package net.bioclipse.ds.model.result;

import net.bioclipse.browser.editors.RichBrowserEditor;
import net.bioclipse.cdk.business.Activator;

import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.DialogCellEditor;
import org.eclipse.jface.viewers.ICellEditorListener;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.part.NullEditorInput;
import org.eclipse.ui.views.properties.PropertyDescriptor;

/**
*
* @author ola
*
*/
public class OpenBrowserPropertyDescriptor extends PropertyDescriptor {

private String url;

public OpenBrowserPropertyDescriptor(Object id, String displayName, String url) {
super(id, displayName);
this.url=url;
}

@Override
public ILabelProvider getLabelProvider() {
return new LabelProvider(){
@Override
public Image getImage(Object element) {

Image errorIcon = Activator.imageDescriptorFromPlugin(
net.bioclipse.ds.Activator.PLUGIN_ID,
"/icons/fatalerror.gif" ).createImage();

return errorIcon;
}

};
}




public CellEditor createPropertyEditor(Composite parent) {

//Open an editor here for testing purposes
Display.getDefault().syncExec(new Runnable() {

@Override
public void run() {
IEditorPart editor;
try {
editor = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage()
.openEditor( new NullEditorInput(), RichBrowserEditor.EDITOR_ID );
if (editor!=null){
((RichBrowserEditor)editor).setURL( url);
}
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
});

return null;

// return new DialogCellEditor() {
//
// @Override
// protected Object openDialogBox(Control cellEditorWindow) {
//
// System.out.println("OPEN DIALOG BOX");
// return null;
// }
// };

}


}

0 comments on commit 3d6f503

Please sign in to comment.