Skip to main content



      Home
Home » Eclipse Projects » Eclipse Platform » How to use Databinding in a program based on rcp
How to use Databinding in a program based on rcp [message #318308] Wed, 25 July 2007 08:59
Eclipse UserFriend
Originally posted by: x-f-l.126.com

Hi,
I use Eclipse3.3(europa),I want to use Databinding in a rcp program.
But,when I add "DataBindingContext dbc=new DataBindingContext();" in a
view`s method "createPartControl" .It always show me "Error creating the
view. org/eclipse/core/databinding/DataBindingContext". This`s part of
Code :
1.view
package a;

import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.part.ViewPart;

public class View extends ViewPart {
public static final String ID = "a.view";

private TableViewer viewer;

/**
* The content provider class is responsible for providing objects to the
* view. It can wrap existing objects in adapters or simply return objects
* as-is. These objects may be sensitive to the current input of the view,
* or ignore it and always show the same content (like Task List, for
* example).
*/
class ViewContentProvider implements IStructuredContentProvider {
public void inputChanged(Viewer v, Object oldInput, Object newInput) {
}

public void dispose() {
}

public Object[] getElements(Object parent) {
return new String[] { "One", "Two", "Three" };
}
}

class ViewLabelProvider extends LabelProvider implements
ITableLabelProvider {
public String getColumnText(Object obj, int index) {
return getText(obj);
}

public Image getColumnImage(Object obj, int index) {
return getImage(obj);
}

public Image getImage(Object obj) {
return PlatformUI.getWorkbench().getSharedImages().getImage(
ISharedImages.IMG_OBJ_ELEMENT);
}
}

/**
* This is a callback that will allow us to create the viewer and
initialize
* it.
*/
public void createPartControl(Composite parent) {
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL
| SWT.V_SCROLL);
viewer.setContentProvider(new ViewContentProvider());
viewer.setLabelProvider(new ViewLabelProvider());
viewer.setInput(getViewSite());
DataBindingContext dbc=new DataBindingContext();




}

/**
* Passing the focus request to the viewer's control.
*/
public void setFocus() {
viewer.getControl().setFocus();
}
}


2.application
package a;

import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.PlatformUI;

/**
* This class controls all aspects of the application's execution
*/
public class Application implements IApplication {

/*
* (non-Javadoc)
*
* @see
org.eclipse.equinox.app.IApplication#start(org.eclipse.equin ox.app.IApplicationContext)
*/
// private int returnCode = 0;

public Object start(IApplicationContext context) {
final Display display = PlatformUI.createDisplay();

try {
int returnCode = PlatformUI.createAndRunWorkbench(display,
new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return IApplication.EXIT_RESTART;
}
return IApplication.EXIT_OK;
} finally {
display.dispose();
}
}

// final int[] returnCode = { 0 };
/*
* try { Realm.runWithDefault(SWTObservables.getRealm(display), new
* Runnable() { public void run() { returnCode =
* PlatformUI.createAndRunWorkbench( display, new
* ApplicationWorkbenchAdvisor()); } }); if (returnCode ==
* PlatformUI.RETURN_RESTART) { return IApplication.EXIT_RESTART; } return
* IApplication.EXIT_OK; } finally { display.dispose(); } }
*/

/*
* (non-Javadoc)
*
* @see org.eclipse.equinox.app.IApplication#stop()
*/
public void stop() {
final IWorkbench workbench = PlatformUI.getWorkbench();
if (workbench == null)
return;
final Display display = workbench.getDisplay();
display.syncExec(new Runnable() {
public void run() {
if (!display.isDisposed())
workbench.close();
}
});
}
}
Previous Topic:[AbstractReconciler] Bug with nonIncremental reconcilers, some changes are not reconciled
Next Topic:[Databind] TableViewColumn and the ObservableMaps
Goto Forum:
  


Current Time: Thu May 01 10:34:09 EDT 2025

Powered by FUDForum. Page generated in 0.30274 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top