Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Eclipse 4 » PartSashContainer as child of PartStack
PartSashContainer as child of PartStack [message #758942] Fri, 25 November 2011 06:12 Go to next message
Christian Eugster is currently offline Christian Eugster
Messages: 124
Registered: July 2009
Location: St. Gallen Switzerland
Senior Member
Hi, I am exploring e4 by building an application I did long ago in Visual Basic using the Eclipse e4.2m3. It seems to me, that it is not possible to add a PartSashContainer as child to a PartStack. If my assuming is wrong, how I manage it, if it is true: Why is the Inheritance not designed to allow PartSashContainer beeing a child of PartStack as PartStack can be a child of PartSashContainer? It would be really great to have this opportunity!
Re: PartSashContainer as child of PartStack [message #759247 is a reply to message #758942] Sun, 27 November 2011 22:57 Go to previous messageGo to next message
Brian de Alwis is currently offline Brian de Alwis
Messages: 242
Registered: July 2009
Senior Member
Perhaps you could describe your use case and interaction model a bit further? I'm not sure how a part stack, which which is a stack rather than a tiling, should behave if it contained an embedded part sash container. How is what you are describing different from embedding several part stacks within a part sash container?

You could also define your own model element type for this situation: extensibility was part of the reason for switching to an EMF-based model.
Re: PartSashContainer as child of PartStack [message #759386 is a reply to message #759247] Mon, 28 November 2011 09:11 Go to previous messageGo to next message
Christian Eugster is currently offline Christian Eugster
Messages: 124
Registered: July 2009
Location: St. Gallen Switzerland
Senior Member
@Brian

thank you for answering! Where do I find information about extending the model by elements? I found in a presentation by tom schindl a class diagram that shows, that both, MSashForm and MStack, inherit from MPart. But it is impossible to ad a sashcontainer to a stack in the current version of e4. Why?

I try to explain my question in english Rolling Eyes

My application is a hotline tool, where the parent sash contains on the left a component with filtered customers listed, while on the right a huge amount of detailed information about the selected customer ist shown. This information is organized hierarchically, the right part of the sash has several PartStacks, each of them has a sash, which shows a list in the right (or top) part and likely another partStack containing sashes for more detailed information.

The attached image shows an example: a sash with a partstack on the right containing several parts (Hotline, Kontakt, ComelivresNet, Software, Hardware, Benutzerdaten, Dokumente), showing currently the part Hardware, which in turn contains of a sash with a list (of Hardware) on the left and a partstack to the right with parts (Allgemein, Kundenspezifisch, Notizen, Details). Each of them could contain another sash AND SO ON...

I hope this is clear enough to understand. What do you thing about that?

Thank you!
  • Attachment: imshot.jpg
    (Size: 129.96KB, Downloaded 73 times)

[Updated on: Mon, 28 November 2011 09:26]

Report message to a moderator

Re: PartSashContainer as child of PartStack [message #759393 is a reply to message #759386] Mon, 28 November 2011 09:38 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 4462
Registered: July 2009
Senior Member
Hi,

Looks like the image didn't made it through. Just as a small side note
you can naturally use DI inside your part as well just like you used it
when the defining the Part-Class.

Which advantages do you think you would gain when a PartStack would
allow to be split into Sashes?

If we can find a usecase we could consider such a feature for Eclipse 4.3.

Tom

Am 28.11.11 15:11, schrieb Christian Eugster:
> Ok I try to explain it in english :roll:
> My application is a hotline tool, where the parent sash contains on the
> left a filtered customers ar listed while on the right a huge amount of
> detailed information about the selected customer ist shown. This
> information is organized hierarchically, the right part of the sash has
> several PartStacks, each of them has a sash, which shows a list in the
> right (or top) part and likely another partStack containing sashes for
> more detailed information.
>
> The attached image shows an example: a sash with a partstack on the
> right containing several parts (Hotline, Kontakt, ComelivresNet,
> Software, Hardware, Benutzerdaten, Dokumente), showing currently the
> part Hardware, which in turn contains of a sash with a list (of
> Hardware) on the left and a partstack to the right with parts
> (Allgemein, Kundenspezifisch, Notizen, Details). Each of them could
> contain another sash AND SO ON...
> I hope this is clear enough to understand. What do you thing about that?
>
> Thank you!
Re: PartSashContainer as child of PartStack [message #759409 is a reply to message #759393] Mon, 28 November 2011 10:22 Go to previous messageGo to next message
Christian Eugster is currently offline Christian Eugster
Messages: 124
Registered: July 2009
Location: St. Gallen Switzerland
Senior Member
Hi Tom,

maybe there is a misunderstanding? I would like to add PartSashContainers as child elements (Parts) to a PartStack. In the model editor it is possible to do that. But when I run the example, I get an exception saying "The added object 'org.eclipse.e4.ui.model.application.ui.basic.impl.PartSashContainerImpl@10aefdb is not assignable to 'org.eclipse.e4.ui.model.application.ui.basic.MStackElement' (see stacktrace below):

!SESSION 2011-11-28 16:17:02.908 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_22
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
Framework arguments: -product ch.eugster.ims.core.product
Command-line arguments: -product ch.eugster.ims.core.product -data C:\Dokumente und Einstellungen\ceugster\Projekte\Ims\Workspace/../runtime-ch.eugster.ims.core.product -dev file:C:/Dokumente und Einstellungen/ceugster/Projekte/Ims/Workspace/.metadata/.plugins/org.eclipse.pde.core/ch.eugster.ims.core.product/dev.properties -os win32 -ws win32 -arch x86 -consoleLog -console

!ENTRY org.eclipse.e4.ui.workbench 4 0 2011-11-28 16:17:12.151
!MESSAGE
!STACK 0
java.lang.IllegalArgumentException: The added object 'org.eclipse.e4.ui.model.application.ui.basic.impl.PartSashContainerImpl@10aefdb (elementId: null, tags: null, contributorURI: null) (widget: null, renderer: null, toBeRendered: true, onTop: false, visible: true, containerData: null, accessibilityPhrase: null) (horizontal: true)' is not assignable to 'org.eclipse.e4.ui.model.application.ui.basic.MStackElement'
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl$1.validate(ElementContainerImpl.java:114)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl$1.validate(ElementContainerImpl.java:1)
at org.eclipse.emf.common.util.BasicEList.addAllUnique(BasicEList.java:514)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddAllUnique(NotifyingListImpl.java:506)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addAllUnique(NotifyingListImpl.java:478)
at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addAllUnique(NotifyingListImpl.java:406)
at org.eclipse.emf.common.util.AbstractEList.addAll(AbstractEList.java:374)
at org.eclipse.e4.ui.model.internal.ModelUtils.merge(ModelUtils.java:124)
at org.eclipse.e4.ui.model.fragment.impl.StringModelFragmentImpl.merge(StringModelFragmentImpl.java:288)
at org.eclipse.e4.ui.internal.workbench.ModelAssembler.processModel(ModelAssembler.java:163)
at org.eclipse.e4.ui.internal.workbench.ResourceHandler.loadMostRecentModel(ResourceHandler.java:246)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:353)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:217)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:132)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:352)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:624)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
at org.eclipse.equinox.launcher.Main.main(Main.java:1407)

!ENTRY org.eclipse.osgi 4 0 2011-11-28 16:17:12.231
!MESSAGE Application error
!STACK 1
java.lang.NullPointerException
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
at org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
at org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
at org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.<init>(E4Workbench.java:77)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:295)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:132)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:352)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:624)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
at org.eclipse.equinox.launcher.Main.main(Main.java:1407)
Re: PartSashContainer as child of PartStack [message #759411 is a reply to message #759409] Mon, 28 November 2011 10:31 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 4462
Registered: July 2009
Senior Member
Which model editor allows that? If it is the Form-Based editor this
would be a bug because MPartStack from the Ecore-Model PoV this is
invalid but because of the type erasue in Java when it comes to generics
this is possible (though we once protected against this already).

Tom

Am 28.11.11 16:22, schrieb Christian Eugster:
> Hi Tom,
>
> maybe there is a misunderstanding? I would like to add
> PartSashContainers as child elements (Parts) to a PartStack. In the
> model editor it is possible to do that. But when I run the example, I
> get an exception saying "The added object
> mailto:'org.eclipse.e4.ui.model.application.ui.basic.impl.PartSashContainerImpl@10aefdb
> is not assignable to
> 'org.eclipse.e4.ui.model.application.ui.basic.MStackElement' (see
> stacktrace below):
>
> !SESSION 2011-11-28 16:17:02.908
> -----------------------------------------------
> eclipse.buildId=unknown
> java.version=1.6.0_22
> java.vendor=Sun Microsystems Inc.
> BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_CH
> Framework arguments: -product ch.eugster.ims.core.product
> Command-line arguments: -product ch.eugster.ims.core.product -data
> C:\Dokumente und
> Einstellungen\ceugster\Projekte\Ims\Workspace/../runtime-ch.eugster.ims.core.product
> -dev file:C:/Dokumente und
> Einstellungen/ceugster/Projekte/Ims/Workspace/.metadata/.plugins/org.eclipse.pde.core/ch.eugster.ims.core.product/dev.properties
> -os win32 -ws win32 -arch x86 -consoleLog -console
>
> !ENTRY org.eclipse.e4.ui.workbench 4 0 2011-11-28 16:17:12.151
> !MESSAGE !STACK 0
> java.lang.IllegalArgumentException: The added object
> mailto:'org.eclipse.e4.ui.model.application.ui.basic.impl.PartSashContainerImpl@10aefdb
> (elementId: null, tags: null, contributorURI: null) (widget: null,
> renderer: null, toBeRendered: true, onTop: false, visible: true,
> containerData: null, accessibilityPhrase: null) (horizontal: true)' is
> not assignable to
> 'org.eclipse.e4.ui.model.application.ui.basic.MStackElement'
> at
> org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl$1.validate(ElementContainerImpl.java:114)
>
> at
> org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl$1.validate(ElementContainerImpl.java:1)
>
> at
> org.eclipse.emf.common.util.BasicEList.addAllUnique(BasicEList.java:514)
> at
> org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddAllUnique(NotifyingListImpl.java:506)
>
> at
> org.eclipse.emf.common.notify.impl.NotifyingListImpl.addAllUnique(NotifyingListImpl.java:478)
>
> at
> org.eclipse.emf.common.notify.impl.NotifyingListImpl.addAllUnique(NotifyingListImpl.java:406)
>
> at
> org.eclipse.emf.common.util.AbstractEList.addAll(AbstractEList.java:374)
> at
> org.eclipse.e4.ui.model.internal.ModelUtils.merge(ModelUtils.java:124)
> at
> org.eclipse.e4.ui.model.fragment.impl.StringModelFragmentImpl.merge(StringModelFragmentImpl.java:288)
>
> at
> org.eclipse.e4.ui.internal.workbench.ModelAssembler.processModel(ModelAssembler.java:163)
>
> at
> org.eclipse.e4.ui.internal.workbench.ResourceHandler.loadMostRecentModel(ResourceHandler.java:246)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.loadApplicationModel(E4Application.java:353)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:217)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:132)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:352)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>
> 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:624)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1407)
>
> !ENTRY org.eclipse.osgi 4 0 2011-11-28 16:17:12.231
> !MESSAGE Application error
> !STACK 1
> java.lang.NullPointerException
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.emf.ecore.util.EContentAdapter.addAdapter(EContentAdapter.java:352)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:225)
>
> at
> org.eclipse.emf.ecore.util.EContentAdapter.setTarget(EContentAdapter.java:188)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:503)
>
> at
> org.eclipse.emf.ecore.impl.MinimalEObjectImpl$1ArrayDelegatingAdapterList.didAdd(MinimalEObjectImpl.java:1)
>
> at
> org.eclipse.emf.common.util.ArrayDelegatingEList.addUnique(ArrayDelegatingEList.java:395)
>
> at
> org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:307)
> at
> org.eclipse.e4.ui.internal.workbench.E4Workbench.<init>(E4Workbench.java:77)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:295)
>
> at
> org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:132)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:352)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
>
> 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:624)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:579)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1431)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1407)
>
Re: PartSashContainer as child of PartStack [message #759423 is a reply to message #759411] Mon, 28 November 2011 11:04 Go to previous messageGo to next message
Christian Eugster is currently offline Christian Eugster
Messages: 124
Registered: July 2009
Location: St. Gallen Switzerland
Senior Member
Hi Tom,

to be precisely:

I have an application.e4xmi which contains of a perspective with a partsashcontainer, which in turn contains a sashcontainer and a partstack with id "ch.eugster.ims.hotline.details".

In another plugin I have a fragment.e4xmi, where I added a "String Model Fragment" with the element id "ch.eugster.ims.hotline.details", Featurename "children" and an element PartSashContainer.

The whole I stuck together with the "e4 Workbenchmodel Editor".

Because my domain model has a somewhat deep hierarchy I would like to use PartSashContainers within PartStacks. The UI would be nicer and more userfriendly, than if I used e.g. master detail blocks.

Christian
Re: PartSashContainer as child of PartStack [message #759442 is a reply to message #759423] Mon, 28 November 2011 12:11 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 4462
Registered: July 2009
Senior Member
Ok - so you are stacking invalid elements into the PartStack there's no
way for the tooling to know that you are doing illegal things until the
complete model is assembled at application launch.

You are free to file an enhancement request but as said early I don't
expect this to happen for 4.2.

Tom

Am 28.11.11 17:04, schrieb Christian Eugster:
> Hi Tom,
>
> to be precisely:
> I have an application.e4xmi which contains of a perspective with a
> partsashcontainer, which in turn contains a sashcontainer and a
> partstack with id "ch.eugster.ims.hotline.details".
> In another plugin I have a fragment.e4xmi, where I added a "String Model
> Fragment" with the element id "ch.eugster.ims.hotline.details",
> Featurename "children" and an element PartSashContainer.
> The whole I stuck together with the "e4 Workbenchmodel Editor".
>
> Because my domain model has a somewhat deep hierarchy I would like to
> use PartSashContainers within PartStacks. The UI would be nicer and more
> userfriendly, than if I used e.g. master detail blocks.
>
> Christian
Re: PartSashContainer as child of PartStack [message #759491 is a reply to message #759442] Mon, 28 November 2011 14:41 Go to previous message
Christian Eugster is currently offline Christian Eugster
Messages: 124
Registered: July 2009
Location: St. Gallen Switzerland
Senior Member
Hi Tom,

no problem, if it will be implemented in 4.3. I am looking forward to this feature. In my opinion both, the PartStack AND the PartSashContainer are containers in a way and when a PartSashContainer can be child of PartStack, why should it not be possible in the inverse way. Thank you very much for taking my question seriously!

Christian
Previous Topic:use of org.eclipse.core.resources in e4
Next Topic:Problem on Css styling the composite
Goto Forum:
  


Current Time: Tue May 21 03:21:24 EDT 2013

Powered by FUDForum. Page generated in 0.02149 seconds