SWT Designer allows you to create the views, editors, perspectives, pref pages, composites, etc. that comprise Eclipse SWT & RCP applications and plug-ins.
Moderators: Konstantin.Scheglov, gnebling, Alexander.Mitin, jwren, Eric Clayberg
by frankc01 » Sun Sep 30, 2007 4:07 am
Here is the code being called, I've ommited, the rest as it never makes it past the first BeanObservables.observeValues:
- Code: Select all
protected DataBindingContext initDataBindings()
{
IObservableValue contactAddress1ObserveValue = BeansObservables.observeValue(contact, "address1");
.
.
.
}
An assertion is thrown on the init of ChangeManager as it attempts to get the default Realm which is null.
This is SWT generated code so am I missing something?
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Sun Sep 30, 2007 4:21 am
frankc01 wrote:This is SWT generated code so am I missing something?
How are you initializing the realm? If you are building a simple SWT app window, you need to make sure that the realm is initialized.
You didn't post a complete example so I can't see what you might be missing.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Sun Sep 30, 2007 4:40 am
I haven't done anything to create the realm.
The snippet is from a Composite created in SWT Designer. I "attach" it to a JFace application window with no special code for Realms.
Should I initalize a Realm for the application? Is it necessary to have a separate realm per dialog/window/view/etc?
Thanks
Frank
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Sun Sep 30, 2007 6:06 am
The main entry point to the application is responsible for initializing the realm. Designer automatically generates code to initialize the realm in SWT app windows and JFace app windows that use data binding. Any Composites used within them will then use that realm.
If you are using a Composite with DB in a JFace app window that itself does not use DB, then you will need to add the realm initialization code to the JFace app window yourself.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Sun Sep 30, 2007 6:32 am
Eric,
I've generated both SWT and JFace application windows and neither show any Realm initialization, here is the JFace ApplicationWindow generated code:
- Code: Select all
package org.fvjc.homeword.product.jface;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.StatusLineManager;
import org.eclipse.jface.action.ToolBarManager;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class SDexample extends ApplicationWindow
{
/**
* Create the application window
*/
public SDexample()
{
super(null);
createActions();
addToolBar(SWT.FLAT | SWT.WRAP);
addMenuBar();
addStatusLine();
}
/**
* Create contents of the application window
* @param parent
*/
@Override
protected Control createContents(Composite parent)
{
Composite container = new Composite(parent, SWT.NONE);
//
return container;
}
/**
* Create the actions
*/
private void createActions()
{
// Create the actions
}
/**
* Create the menu manager
* @return the menu manager
*/
@Override
protected MenuManager createMenuManager()
{
MenuManager menuManager = new MenuManager("menu");
return menuManager;
}
/**
* Create the toolbar manager
* @return the toolbar manager
*/
@Override
protected ToolBarManager createToolBarManager(int style)
{
ToolBarManager toolBarManager = new ToolBarManager(style);
return toolBarManager;
}
/**
* Create the status line manager
* @return the status line manager
*/
@Override
protected StatusLineManager createStatusLineManager()
{
StatusLineManager statusLineManager = new StatusLineManager();
statusLineManager.setMessage(null, "");
return statusLineManager;
}
/**
* Launch the application
* @param args
*/
public static void main(String args[])
{
try
{
SDexample window = new SDexample();
window.setBlockOnOpen(true);
window.open();
Display.getCurrent().dispose();
} catch (Exception e)
{
e.printStackTrace();
}
}
/**
* Configure the shell
* @param newShell
*/
@Override
protected void configureShell(Shell newShell)
{
super.configureShell(newShell);
newShell.setText("New Application");
}
/**
* Return the initial size of the window
*/
@Override
protected Point getInitialSize()
{
return new Point(500, 375);
}
}
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Sun Sep 30, 2007 9:55 am
frankc01 wrote:I've generated both SWT and JFace application windows and neither show any Realm initialization, here is the JFace ApplicationWindow generated code
You aren't using any data binding in that window, so there isn't any realm to initialize.
Designer only generates the realm initialization code, if it is needed.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Sun Sep 30, 2007 10:05 am
Ok, is there an example somewhere showing this?
Do I have to generate the window or dialog containing the composite with the bindings after I create the composite?
I'm not seeing any realm initialization no matter what I do
Regards,
Frank
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Sun Sep 30, 2007 1:24 pm
frankc01 wrote:Ok, is there an example somewhere showing this?
The easiest thing to do would be to create a new SWT or JFace app window, add a couple of widgets and then add a single data binding.
As soon as there is a single data binding in the window, Designer will generate the realm initialization code. You can then use that as a template to copy into your own window.
The Eclipse Data Binding docs are also a good source of information.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Mon Oct 01, 2007 7:28 am
Here is the problem with that:
1. The composite is in a Plug-In that contains other composites as well as views, etc. that would use it
2. The Application Window is in another Plug-In that calls the plugin mentioned in #1
So, even in the designer there is an error with, say, creating a dialog box and trying to associate the Composite with Databindings.
As there is no "run" method in the dialog, which would set the realm, this presents a bit of a quandry
Any help through this would be appreciated
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Mon Oct 01, 2007 7:42 am
It sounds like you will need to manually initialize the realm when your app starts. You should be able to use code similar to the code that Designer generates, or you can do it some entirely different way (by consulting the DB docs or asking in the appropriate Eclipse newsgroup).
Keep in mind that we did not develop the DB framework, so detailed questions about how to use the DB framework should be directed to the Eclipse newsgroups or to the team that developed the DB framework.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Mon Oct 01, 2007 5:17 pm
Eric,
I realize the databinding wasn't created by your company, but the truth is I can't design a Dialog with a Composite that contains databinding references.
I suppose to get it to test I could create a test harness window in the plugin, but as I noted in the first sentence... there is an error trying to even design a dialog. For that I've included the error log below:
- Code: Select all
!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.687
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
at com.swtdesigner.model.swing.JavaBeanInfo.fetchDefaultValuesForPropertyDescriptors(JavaBeanInfo.java:2594)
at com.swtdesigner.model.swing.JavaBeanInfo.initClassAndBounds(JavaBeanInfo.java:1736)
at com.swtdesigner.model.swing.JavaBeanInfo.<init>(JavaBeanInfo.java:277)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.<init>(SWTBeanInfo.java:78)
at com.swtdesigner.model.swt.widgets.WidgetInfo.<init>(WidgetInfo.java:35)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.<init>(ControlInfo.java:122)
at com.swtdesigner.model.swt.widgets.control.ScrollableInfo.<init>(ScrollableInfo.java:34)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.<init>(AbstractCompositeInfo.java:106)
at com.swtdesigner.model.swt.widgets.composite.CompositeInfo.<init>(CompositeInfo.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swing.BeanUtils.createJavaBeanInfo(BeanUtils.java:643)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:454)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:95)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:88)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1444)
at org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:336)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:224)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:272)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
... 74 more
Root exception:
java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
at com.swtdesigner.model.swing.JavaBeanInfo.fetchDefaultValuesForPropertyDescriptors(JavaBeanInfo.java:2594)
at com.swtdesigner.model.swing.JavaBeanInfo.initClassAndBounds(JavaBeanInfo.java:1736)
at com.swtdesigner.model.swing.JavaBeanInfo.<init>(JavaBeanInfo.java:277)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.<init>(SWTBeanInfo.java:78)
at com.swtdesigner.model.swt.widgets.WidgetInfo.<init>(WidgetInfo.java:35)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.<init>(ControlInfo.java:122)
at com.swtdesigner.model.swt.widgets.control.ScrollableInfo.<init>(ScrollableInfo.java:34)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.<init>(AbstractCompositeInfo.java:106)
at com.swtdesigner.model.swt.widgets.composite.CompositeInfo.<init>(CompositeInfo.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swing.BeanUtils.createJavaBeanInfo(BeanUtils.java:643)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:454)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:95)
at com.swtdesigner.model.parser.factory.JavaInfoFactory.create(JavaInfoFactory.java:88)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1444)
at org.eclipse.jdt.core.dom.ClassInstanceCreation.accept0(ClassInstanceCreation.java:336)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:224)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:272)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.703
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:642)
at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:588)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1944)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:246)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:143)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
... 56 more
Root exception:
java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createBeanInstance(SWTBeanInfo.java:614)
at com.swtdesigner.model.swing.JavaBeanInfo.ensureBeanInstance(JavaBeanInfo.java:1185)
at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:642)
at com.swtdesigner.model.swing.JavaBeanInfo.getChildAccessedBy(JavaBeanInfo.java:588)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.endVisit(JavaInfoParser.java:1944)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:246)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.ExpressionStatement.accept0(ExpressionStatement.java:143)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:135)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2523)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:501)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser$ParserVisitor.visit(JavaInfoParser.java:2993)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:466)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2546)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:213)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2476)
at com.swtdesigner.model.parser.JavaInfoParser.parse(JavaInfoParser.java:319)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1136)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
!ENTRY com.swtdesigner 4 4 2007-10-01 21:35:38.859
!MESSAGE Designer internal error [6.4.1.20070911130912]: java.lang.reflect.InvocationTargetException
!STACK 0
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSingleObject(SWTBeanInfo.java:284)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.createSingleControl(ControlInfo.java:737)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createSingleControl(AbstractCompositeInfo.java:429)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.createControl(ControlInfo.java:687)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:360)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
at com.swtdesigner.model.swt.jface.DialogInfo$DialogControl.createDialogArea(DialogInfo.java:61)
at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:752)
at org.eclipse.jface.window.Window.create(Window.java:426)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081)
at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createShell(AbstractDialogInfo.java:231)
at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createGUIComponent(AbstractDialogInfo.java:299)
at com.swtdesigner.model.JavaInfo$18.execute(JavaInfo.java:5579)
at com.swtdesigner.model.swing.properties.custom.DesignTimeHelper.execute(DesignTimeHelper.java:54)
at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5574)
at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5556)
at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.handleRootNodeSelected(DesignerEditorPropertyComposite.java:662)
at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.updatePropertyComposite(DesignerEditorPropertyComposite.java:865)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1166)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
Caused by: java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
... 54 more
Root exception:
java.lang.NullPointerException
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:82)
at org.eclipse.core.databinding.beans.BeansObservables.observeValue(BeansObservables.java:64)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.initDataBindings(ContactComposite.java:166)
at org.fvjc.homeword.ui.internal.composites.ContactComposite.<init>(ContactComposite.java:154)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:520)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSWTBeanInstance(SWTBeanInfo.java:492)
at com.swtdesigner.model.swt.widgets.SWTBeanInfo.createSingleObject(SWTBeanInfo.java:284)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.createSingleControl(ControlInfo.java:737)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createSingleControl(AbstractCompositeInfo.java:429)
at com.swtdesigner.model.swt.widgets.control.ControlInfo.createControl(ControlInfo.java:687)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:360)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createChildrenControls(AbstractCompositeInfo.java:410)
at com.swtdesigner.model.swt.widgets.composite.AbstractCompositeInfo.createControl(AbstractCompositeInfo.java:383)
at com.swtdesigner.model.swt.jface.DialogInfo$DialogControl.createDialogArea(DialogInfo.java:61)
at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:752)
at org.eclipse.jface.window.Window.create(Window.java:426)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081)
at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createShell(AbstractDialogInfo.java:231)
at com.swtdesigner.model.swt.jface.AbstractDialogInfo.createGUIComponent(AbstractDialogInfo.java:299)
at com.swtdesigner.model.JavaInfo$18.execute(JavaInfo.java:5579)
at com.swtdesigner.model.swing.properties.custom.DesignTimeHelper.execute(DesignTimeHelper.java:54)
at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5574)
at com.swtdesigner.model.JavaInfo.notifyPropertyChanged(JavaInfo.java:5556)
at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.handleRootNodeSelected(DesignerEditorPropertyComposite.java:662)
at com.swtdesigner.gef.common.property.DesignerEditorPropertyComposite.updatePropertyComposite(DesignerEditorPropertyComposite.java:865)
at com.swtdesigner.gef.DesignerEditor.parseCompilationUnit(DesignerEditor.java:1166)
at com.swtdesigner.gef.DesignerEditor$21.run(DesignerEditor.java:1578)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Mon Oct 01, 2007 5:50 pm
I tried a simple example of a JFace Dialog using DB and a Composite using DB and it worked fine. I added the realm initialization code to the dialog as I suggested earlier and it worked fine at runtime. I did not encounter any exeptions at design time either.
Since the exception you posted in pointing to your code, we will need to see a real test case in order to reproduce the problem and suggest a fix.
I also noticed that you are using a build from three weeks ago, so I would suggest using the latest Designer build as well.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
by frankc01 » Mon Oct 01, 2007 6:25 pm
Eric,
I've upgraded to the more recent stable version.
Could you post the example Realm initialization you used for your sample?
And where do I go to put in a "request" to add capabilities to SWT Designer? Clearly, adding arbitrary databindings is probably not the long term solution and I would like to suggest a developers "use case" to be considered into your requirements activities.
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by frankc01 » Mon Oct 01, 2007 7:08 pm
Some more observations:
In order to avoid the errors I encountered, you have to have an instantiated object that is used in the databinding assignments during design activity, otherwise including the composite will fail.
This object instance is used during design and "preview" mode.
-
frankc01
-
- Posts: 28
- Joined: Mon Sep 24, 2007 3:16 am
by Eric Clayberg » Mon Oct 01, 2007 7:10 pm
frankc01 wrote:Could you post the example Realm initialization you used for your sample?
Here it is...
- Code: Select all
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class DialogWithDB extends Dialog {
private Text text_1;
private Text text;
public DialogWithDB(Shell parentShell) {
super(parentShell);
}
public static void main(String args[]) {
Display display = Display.getDefault();
Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
public void run() {
try {
DialogWithDB window = new DialogWithDB(null);
window.setBlockOnOpen(true);
window.open();
Display.getCurrent().dispose();
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
protected Control createDialogArea(Composite parent) {
Composite container = (Composite) super.createDialogArea(parent);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
container.setLayout(gridLayout);
text = new Text(container, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
text_1 = new Text(container, SWT.BORDER);
text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
final CompositeWithDB compositeWithDB = new CompositeWithDB(container, SWT.BORDER);
compositeWithDB.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1));
//
return container;
}
protected void createButtonsForButtonBar(Composite parent) {
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL,
true);
createButton(parent, IDialogConstants.CANCEL_ID,
IDialogConstants.CANCEL_LABEL, false);
initDataBindings();
}
protected Point getInitialSize() {
return new Point(500, 375);
}
protected DataBindingContext initDataBindings() {
IObservableValue textTextObserveWidget = SWTObservables.observeText(text, SWT.Modify);
IObservableValue text_1TextObserveWidget = SWTObservables.observeText(text_1, SWT.Modify);
//
DataBindingContext bindingContext = new DataBindingContext();
//
bindingContext.bindValue(textTextObserveWidget, text_1TextObserveWidget, null, null);
//
return bindingContext;
}
}
import org.eclipse.core.databinding.DataBindingContext;
import org.eclipse.core.databinding.observable.value.IObservableValue;
import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
public class CompositeWithDB extends Composite {
private Text text_1;
private Text text;
public CompositeWithDB(Composite parent, int style) {
super(parent, style);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
setLayout(gridLayout);
text = new Text(this, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
text_1 = new Text(this, SWT.BORDER);
text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
initDataBindings();
//
}
protected DataBindingContext initDataBindings() {
IObservableValue text_1TextObserveWidget = SWTObservables.observeText(text_1, SWT.Modify);
IObservableValue textTextObserveWidget = SWTObservables.observeText(text, SWT.Modify);
//
DataBindingContext bindingContext = new DataBindingContext();
//
bindingContext.bindValue(textTextObserveWidget, text_1TextObserveWidget, null, null);
//
return bindingContext;
}
}
frankc01 wrote:And where do I go to put in a "request" to add capabilities to SWT Designer?
Here or
wb-support@instantiations.com.
-
Eric Clayberg
- Moderator
-
- Posts: 4503
- Joined: Tue Sep 30, 2003 6:39 am
- Location: Boston, MA USA
-
Return to SWT Designer
Who is online
Users browsing this forum: No registered users and 2 guests