Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » e(fx)clipse » PerspectiveStack not visible(How do I get Perspective buttons?)
PerspectiveStack not visible [message #1220193] Tue, 10 December 2013 10:27 Go to next message
Thorsten Seitz is currently offline Thorsten SeitzFriend
Messages: 6
Registered: December 2013
Junior Member
I created a simple test application with e(fx)clipse 0.9.1 and e4 (based on Tutorial4), configuring a TrimmedWindow with a PerspectiveStack containing several Perspectives which each just hold one Part.

I was able to create a simple SamplePart class used by these parts which contains just a label. When launching the application the label is displayed, so I'm obviously looking at a Part contained in a Perspective.

I would have expected to see a PerspectiveStack with Perspective buttons as well (like in Eclipse IDE), but nothing like that is to be seen, so it seems that this has to be done explicitly. Where would I put buttons to switch between my perspectives?

Any help or pointers to documentation how to do that is greatly appreciated!

(Any documentation how to implement java classes referred to by parts when using JavaFX in general would be very useful as well)

Thanks!

Thorsten
Re: PerspectiveStack not visible [message #1220229 is a reply to message #1220193] Tue, 10 December 2013 13:57 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Hi,

What you see in Eclipse IDE to switch between perspectives is a
ToolControl contribution made to the top-WindowTrim of your
MTrimmedWindow and unfortunately there's currently no pure e4
implementation of it available.

So you'd have to write one your own, a very cheap one could look like this:

class MyPerspectiveSwitchControl {
@PostConstruct
void init(Group g, MTrimmedWindow w, EPartService ps) {
MPerspectiveStack st = (MPerspectiveStack)w.getChildern().get(0);
HBox box = new HBox();
for( MPerspective p : st.getChildren() ) {
MPersepective fp = p;
RadioButton b = new RadioButton(p.getLabel());
b.setOnAction(e -> ps.switchPerspective(fp));
box.getChildren().add(b);
}
g.getChildren().add(box);
}
}

(if you use Java7 replace the lambda from above with an anonymous
class). To place it on the right you need to have an e.g. a Toolbar as
the first element in the TrimBar and tag it with (fillspace) [1]

On your request to implement the part class, you are asking for JavaFX
documentation? In fact you use pure JavaFX there (e.g. FXML produced by
SB, ... ).

I'd suggest to start at http://javafx.com/ and maybe buy a book on FX or
have you been looking for something different?

In case you are interested in samples with have some in our git-repo
(http://git.eclipse.org/c/efxclipse/org.eclipse.efxclipse.git/tree/demos):
- org.eclipse.fx.demo.e4
- org.eclipse.fx.demo.contacts*
- org.eclipse.fx.demo.media

I also have some code in https://github.com/tomsontom/ece_2013 where you
see an e4 app which is a bit more complex by using CDO, ... .

Tom

[1]http://wiki.eclipse.org/Efxclipse/Runtime/e4

On 10.12.13 14:23, Thorsten Seitz wrote:
> I created a simple test application with e(fx)clipse 0.9.1 and e4 (based
> on http://wiki.eclipse.org/Efxclipse/Tutorials/Tutorial4), configuring a
> TrimmedWindow with a PerspectiveStack containing several Perspectives
> which each just hold one Part.
>
> I was able to create a simple SamplePart class used by these parts which
> contains just a label. When launching the application the label is
> displayed, so I'm obviously looking at a Part contained in a Perspective.
>
> I would have expected to see a PerspectiveStack with Perspective buttons
> as well (like in Eclipse IDE), but nothing like that is to be seen, so
> it seems that this has to be done explicitly. Where would I put buttons
> to switch between my perspectives?
>
> Any help or pointers to documentation how to do that is greatly
> appreciated!
> (Any documentation how to implement java classes referred to by parts
> when using JavaFX in general would be very useful as well)
>
> Thanks!
>
> Thorsten
>
Re: PerspectiveStack not visible [message #1220386 is a reply to message #1220229] Wed, 11 December 2013 12:37 Go to previous messageGo to next message
Thorsten Seitz is currently offline Thorsten SeitzFriend
Messages: 6
Registered: December 2013
Junior Member
Hi Tom,

many thanks for you prompt and detailed answer!

I had already tried to add a ToolControl trim contribution but so far I have not been successful: I added a Trim Contribution where I set the parent id to that of the Window Trim. The Window Trim contains a Toolbar with "fillspace" tag (which does work nicely). But no matter what I add to the Trim Contribution nothing appears. I tried a Toolbar with some Tool Buttons, a ToolControl with a class just creating a label and now a ToolControl with the MyPerspectiveSwitchControl from your answer, to no avail.

When using SWT instead of e(fx)clipse the above example with Tool Buttons worked, but even then I could not get it positioned on the right (I tried "RIGHT" and "right" in the Position field of the Trim Contribution [without the quotation marks]).


Thomas Schindl wrote on Tue, 10 December 2013 08:57
On your request to implement the part class, you are asking for JavaFX
documentation? In fact you use pure JavaFX there (e.g. FXML produced by
SB, ... ).

No, I'm not looking for JavaFX documentation here Smile
What I meant was: how do I know which arguments can be injected where?
i.e.
the MyPerspectiveSwitchControl uses
  @PostConstruct
  void init(Group g, MTrimmedWindow w, EPartService ps)

for my try at a PerspectiveSwitcher I used
  @Inject
  public PerspectiveSwitcher(BorderPane parent, final MApplication application)

for a SamplePart I used
  @Inject
  public SamplePart(BorderPane parent, final MApplication application)

(which works)
but I haven't been able to find documentation about

(a) whether or when to use @Inject on a constructor or @PostConstruct on a method, and
(b) which types of arguments may be injected, especially when using JavaFX (Group, BorderPane etc), except for MTrim rendering tags.

I will try to harvest the github samples but documentation giving the whole picture would be better, of course.

Thorsten
Re: PerspectiveStack not visible [message #1220391 is a reply to message #1220386] Wed, 11 December 2013 13:19 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Hi,

I think TrimContribution was the wrong term that I used - the
contribution (menu,toolbar,trim) stuff is something only needed for
legacy IDE support and hence is not supported in e(fx)clipse

In pseudo code your XMI should look like this:

MTrimmedWindow {
trimBars : [
MWindowTrim {
side: TOP
children : [
ToolBar {
tags : ["fillspace"]
},
ToolControl {
contributionURI : "bundleclass:..."
}
]
}
]
}


On your request:
a) I tend to use @PostContruct because then I have already all
field/method injections

b) Generally speaking you always get a BorderPane unless you request
otherwise

I just saw that I had not documented MToolControl which lately got
the same possibility MPart already had since some time.

see https://wiki.eclipse.org/Efxclipse/Runtime/e4#MToolControl

I'm sorry that there's not more than what is currently on the wiki. I
can only emphasize that the wiki is open to anyone so if you found out
how something works, write it up on the wiki, in case you are uncertain
if this is the best approach ping on this newsgroup or on our developer
mailing list.

I've started writing up core recipes at
https://wiki.eclipse.org/Efxclipse/Runtime/Recipes and the more we get
the better!

In case you want to see all possibilities e4 on fx provides you can
checkout "org.eclipse.fx.testcases.e4", whenever we implement something
we add a test example for it in this application - it's not a pretty app ;-)

Tom

On 11.12.13 13:37, Thorsten Seitz wrote:
> Hi Tom,
>
> many thanks for you prompt and detailed answer!
>
> I had already tried to add a ToolControl trim contribution but so far I
> have not been successful: I added a Trim Contribution where I set the
> parent id to that of the Window Trim. The Window Trim contains a Toolbar
> with "fillspace" tag (which does work nicely). But no matter what I add
> to the Trim Contribution nothing appears. I tried a Toolbar with some
> Tool Buttons, a ToolControl with a class just creating a label and now a
> ToolControl with the MyPerspectiveSwitchControl from your answer, to no
> avail.
>
> When using SWT instead of e(fx)clipse the above example with Tool
> Buttons worked, but even then I could not get it positioned on the right
> (I tried "RIGHT" and "right" in the Position field of the Trim
> Contribution [without the quotation marks]).
>
>
> Thomas Schindl wrote on Tue, 10 December 2013 08:57
>> On your request to implement the part class, you are asking for JavaFX
>> documentation? In fact you use pure JavaFX there (e.g. FXML produced by
>> SB, ... ).
>
> No, I'm not looking for JavaFX documentation here :)
> What I meant was: how do I know which arguments can be injected where?
> i.e. the MyPerspectiveSwitchControl uses
> @PostConstruct
> void init(Group g, MTrimmedWindow w, EPartService ps)
> for my try at a PerspectiveSwitcher I used
> @Inject
> public PerspectiveSwitcher(BorderPane parent, final MApplication
> application)
> for a SamplePart I used
> @Inject
> public SamplePart(BorderPane parent, final MApplication application)
> (which works)
> but I haven't been able to find documentation about
>
> (a) whether or when to use @Inject on a constructor or @PostConstruct on
> a method, and
> (b) which types of arguments may be injected, especially when using
> JavaFX (Group, BorderPane etc), except for
> http://wiki.eclipse.org/Efxclipse/Runtime/e4#MTrimElement.
>
> I will try to harvest the github samples but documentation giving the
> whole picture would be better, of course.
>
> Thorsten
Re: PerspectiveStack not visible [message #1220415 is a reply to message #1220391] Wed, 11 December 2013 15:38 Go to previous messageGo to next message
Thorsten Seitz is currently offline Thorsten SeitzFriend
Messages: 6
Registered: December 2013
Junior Member
Thomas Schindl wrote on Wed, 11 December 2013 08:19
I think TrimContribution was the wrong term that I used - the
contribution (menu,toolbar,trim) stuff is something only needed for
legacy IDE support and hence is not supported in e(fx)clipse

In pseudo code your XMI should look like this:


Good to know! Works like a charm now Smile

Thomas Schindl wrote on Wed, 11 December 2013 08:19
On your request:
a) I tend to use @PostContruct because then I have already all
field/method injections

b) Generally speaking you always get a BorderPane unless you request
otherwise


Thanks! That's just the bit of information I was looking for.
And thanks for the additional info about MToolControl and the additional pointers.
Very much appreciated!

Thorsten
Re: PerspectiveStack not visible [message #1707056 is a reply to message #1220229] Tue, 01 September 2015 21:21 Go to previous messageGo to next message
Paul Roubekas is currently offline Paul RoubekasFriend
Messages: 207
Registered: March 2012
Location: Chattanooga, TN USA
Senior Member
Almost two years later is it still the case that
Quote:
unfortunately there's currently no pure e4 implementation of it available.


Oxygen 3a
Windows 10
Re: PerspectiveStack not visible [message #1707072 is a reply to message #1707056] Wed, 02 September 2015 05:40 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
I think for SWT there's now a version but I could be wrong for JavaFX
we've never implemented such a thing. Feel free to file a bug at
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Efxclipse

Tom

On 01.09.15 23:21, Paul Roubekas wrote:
> Almost two years later is it still the case that Quote:
>> unfortunately there's currently no pure e4 implementation of it
>> available.
>
Re: PerspectiveStack not visible [message #1707114 is a reply to message #1707072] Wed, 02 September 2015 12:45 Go to previous messageGo to next message
Paul Roubekas is currently offline Paul RoubekasFriend
Messages: 207
Registered: March 2012
Location: Chattanooga, TN USA
Senior Member
Feature request submitted...

https://bugs.eclipse.org/bugs/show_bug.cgi?id=476433


Oxygen 3a
Windows 10
Re: PerspectiveStack not visible [message #1707144 is a reply to message #1707114] Wed, 02 September 2015 14:35 Go to previous messageGo to next message
Paul Roubekas is currently offline Paul RoubekasFriend
Messages: 207
Registered: March 2012
Location: Chattanooga, TN USA
Senior Member
I am trying to get this to work and am getting the following stack dump. I have tried some tags listed here, but still can not get it working.

org.eclipse.e4.core.di.InjectionException: Unable to process "MyPerspectiveSwitchControl#init()": no actual value was found for the argument "Group".
	at org.eclipse.e4.core.internal.di.InjectorImpl.reportUnresolvedArgument(InjectorImpl.java:424)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:895)
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
	at org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon.processActiveHandler(HandlerProcessingAddon.java:144)
	at org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon.postConstruct(HandlerProcessingAddon.java:53)
	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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:898)
	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:278)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:186)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:107)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:50)
	at org.eclipse.fx.ui.workbench.base.AbstractE4Application.createE4Workbench(AbstractE4Application.java:280)
	at org.eclipse.fx.ui.workbench.fx.E4Application.initE4Workbench(E4Application.java:284)
	at org.eclipse.fx.ui.workbench.fx.E4Application$1.run(E4Application.java:153)
	at org.eclipse.fx.ui.workbench.fx.E4Application.jfxStart(E4Application.java:193)
	at org.eclipse.fx.ui.workbench.fx.DefaultJFXApp.start(DefaultJFXApp.java:57)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown Source)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown Source)
	at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$175(Unknown Source)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source)
	at java.lang.Thread.run(Unknown Source)



package core;

import javax.annotation.PostConstruct;

import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspectiveStack;
import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow;
import org.eclipse.e4.ui.workbench.modeling.EPartService;

import javafx.scene.Group;
import javafx.scene.control.RadioButton;
import javafx.scene.layout.HBox;

class MyPerspectiveSwitchControl {
	@PostConstruct
	void init(Group g, MTrimmedWindow w, EPartService ps) {
		System.out.println("Gleep000: ");
		MPerspectiveStack st = (MPerspectiveStack) w.getChildren().get(0);
		HBox box = new HBox();
		for (MPerspective p : st.getChildren()) {
			MPerspective fp = p;
			RadioButton b = new RadioButton(p.getLabel());
			b.setOnAction(e -> ps.switchPerspective(fp));
			box.getChildren().add(b);
		}
		g.getChildren().add(box);
	}
}




<?xml version="1.0" encoding="UTF-8"?>
<application:Application xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced" xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application" xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu" xmi:id="_k_uxEUbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.application" bindingContexts="_k_uxEEbHEeWJ0OUswaJgig">
  <children xsi:type="basic:TrimmedWindow" xmi:id="_wCjlUEbHEeWJ0OUswaJgig" elementId="twobox.app.trimmedwindow.0" selectedElement="_c0B5UFDrEeWoQMV4BrEGmA">
    <children xsi:type="advanced:PerspectiveStack" xmi:id="_c0B5UFDrEeWoQMV4BrEGmA" elementId="twobox.app.perspectivestack.0" selectedElement="_lKlUkFDrEeWoQMV4BrEGmA">
      <children xsi:type="advanced:Perspective" xmi:id="_lKlUkFDrEeWoQMV4BrEGmA" elementId="twobox.app.perspective.0">
        <children xsi:type="basic:PartSashContainer" xmi:id="_w3WfUEbHEeWJ0OUswaJgig" elementId="twobox.app.partsashcontainer.0">
          <children xsi:type="basic:Part" xmi:id="_xri8YEbHEeWJ0OUswaJgig" elementId="twobox.app.part.TopBox" contributionURI="bundleclass://TwoBox.app/core.TopBox" label="TopBox" closeable="true">
            <tags>Container:BorderPane</tags>
            <toolbar xmi:id="_lJdu4Ew4EeW5B9szxvF73g" elementId="twobox.app.toolbar.0">
              <children xsi:type="menu:HandledToolItem" xmi:id="_ERqKIEziEeW7Qp-pzyj-PA" elementId="twobox.app.handledtoolitem.topology" label="Topology" command="_JYU3EEzkEeW7Qp-pzyj-PA">
                <menu xmi:id="_FPjVwEziEeW7Qp-pzyj-PA" elementId="twobox.app.menu.0">
                  <children xsi:type="menu:HandledMenuItem" xmi:id="_Oc7EQEziEeW7Qp-pzyj-PA" elementId="twobox.app.handledmenuitem.lineTopology" label="Line Topology" selected="true" type="Radio" command="_g9T2QEziEeW7Qp-pzyj-PA"/>
                  <children xsi:type="menu:HandledMenuItem" xmi:id="_VWZdgEziEeW7Qp-pzyj-PA" elementId="twobox.app.handledmenuitem.loopTopology" label="Loop Topology" type="Radio" command="_vG-foEziEeW7Qp-pzyj-PA"/>
                </menu>
              </children>
              <children xsi:type="menu:ToolControl" xmi:id="_s_lAMEzgEeW7Qp-pzyj-PA" elementId="twobox.app.toolcontrol.0"/>
              <children xsi:type="menu:ToolBarSeparator" xmi:id="_38sqgEzfEeW7Qp-pzyj-PA" elementId="twobox.app.toolbarseparator.0"/>
              <children xsi:type="menu:HandledToolItem" xmi:id="_uSJKoEw4EeW5B9szxvF73g" elementId="twobox.app.handledtoolitem.zoomIn" label="Zoom In" command="_pb3sUExFEeW5B9szxvF73g"/>
              <children xsi:type="menu:HandledToolItem" xmi:id="_ZGkIQEw5EeW5B9szxvF73g" elementId="twobox.app.handledtoolitem.zoomOut" label="Zoom Out" command="_01srUExFEeW5B9szxvF73g"/>
              <children xsi:type="menu:HandledToolItem" xmi:id="_Emm_UExGEeW5B9szxvF73g" elementId="twobox.app.handledtoolitem.ZoomReset" label="Zoom Reset" command="_7u1GUExFEeW5B9szxvF73g">
                <parameters xmi:id="_uXDrkExTEeW5B9szxvF73g" elementId="twobox.app.parameter.0" name="core.twobox.app.commandparameter.zoomResetSceneGraph.Scene_Graph" value="core.twobox.app.commandparameter.zoomResetSceneGraph"/>
              </children>
            </toolbar>
          </children>
          <children xsi:type="basic:PartSashContainer" xmi:id="_HDNRsEdxEeWQuaDNY149jw" elementId="twobox.app.partsashcontainer.1" horizontal="true">
            <children xsi:type="basic:Part" xmi:id="_yKIV0EbHEeWJ0OUswaJgig" elementId="twobox.app.part.BottomLeftBox" contributionURI="bundleclass://TwoBox.app/core.BottomLeftBox" label="BottomLeftBox">
              <tags>Container:AnchorPane</tags>
            </children>
            <children xsi:type="basic:Part" xmi:id="_Mbe98EdxEeWQuaDNY149jw" elementId="twobox.app.part.BottomRightBox" contributionURI="bundleclass://TwoBox.app/core.BottomRightBox" label="BottomRightBox"/>
          </children>
        </children>
      </children>
    </children>
    <mainMenu xmi:id="_72x-sFD2EeWoQMV4BrEGmA" elementId="twobox.app.menu.1">
      <children xsi:type="menu:Menu" xmi:id="_HQm2UFD6EeWoQMV4BrEGmA" elementId="twobox.app.menu.File" label="File">
        <children xsi:type="menu:HandledMenuItem" xmi:id="_uh9V0FD6EeWoQMV4BrEGmA" elementId="twobox.app.handledmenuitem.New" label="New"/>
      </children>
    </mainMenu>
  </children>
  <handlers xmi:id="_c4YH0ExLEeW5B9szxvF73g" elementId="twobox.app.handler.zoomIn" contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomIn" command="_pb3sUExFEeW5B9szxvF73g"/>
  <handlers xmi:id="_fklPYExLEeW5B9szxvF73g" elementId="twobox.app.handler.zoomOut" contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomOut" command="_01srUExFEeW5B9szxvF73g"/>
  <handlers xmi:id="_l3jpUExLEeW5B9szxvF73g" elementId="twobox.app.handler.zoomReset" contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomReset" command="_7u1GUExFEeW5B9szxvF73g"/>
  <handlers xmi:id="_6PJG4EziEeW7Qp-pzyj-PA" elementId="twobox.app.handler.etherColumnTopologyToLine" contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnTopolgyToLine" command="_g9T2QEziEeW7Qp-pzyj-PA"/>
  <handlers xmi:id="_Ezf2cEzjEeW7Qp-pzyj-PA" elementId="twobox.app.handler.command.etherColumnTopolgyToLoop" contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnTopolgyToLoop" command="_vG-foEziEeW7Qp-pzyj-PA"/>
  <handlers xmi:id="_M_VaAEzkEeW7Qp-pzyj-PA" elementId="twobox.app.handler.noop" contributionURI="bundleclass://TwoBox.app/handlers.NoOp" command="_JYU3EEzkEeW7Qp-pzyj-PA"/>
  <handlers xmi:id="_86l_oE3WEeWdb6EvcAWA6g" elementId="twobox.app.handler.granularity" contributionURI="bundleclass://TwoBox.app/handlers.Granularity"/>
  <handlers xmi:id="_9bY-UFDxEeWoQMV4BrEGmA" elementId="twobox.app.handler.0" contributionURI="bundleclass://TwoBox.app/core.MyPerspectiveSwitchControl" command="_2iWC4FDxEeWoQMV4BrEGmA"/>
  <handlers xmi:id="_lio74FFyEeWqpancHSxrpQ" elementId="twobox.app.handler.1" contributionURI="bundleclass://TwoBox.app/handlers.NewFile" command="_jUg3cFFyEeWqpancHSxrpQ"/>
  <rootContext xmi:id="_k_uxEEbHEeWJ0OUswaJgig" elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and Windows">
    <children xmi:id="_k_uxEkbHEeWJ0OUswaJgig" elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
    <children xmi:id="_k_uxE0bHEeWJ0OUswaJgig" elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
  </rootContext>
  <trimContributions xmi:id="_oEBYIFDxEeWoQMV4BrEGmA" elementId="twobox.app.trimcontribution.0" parentId="twobox.app.perspectivestack.0" positionInParent="TOP">
    <children xsi:type="menu:ToolBar" xmi:id="_DUgb4FD0EeWoQMV4BrEGmA" elementId="twobox.app.toolbar.1"/>
    <children xsi:type="menu:ToolControl" xmi:id="_ofPCkFDzEeWoQMV4BrEGmA" elementId="twobox.app.toolcontrol.1" contributionURI="bundleclass://TwoBox.app/core.MyPerspectiveSwitchControl"/>
  </trimContributions>
  <commands xmi:id="_pb3sUExFEeW5B9szxvF73g" elementId="twobox.app.command.etherColumnZoomIn" commandName="Ether Column Zoom In" description="Zoom in"/>
  <commands xmi:id="_01srUExFEeW5B9szxvF73g" elementId="twobox.app.command.etherColumnZoomOut" commandName="Ether Column Zoom Out" description="Zoom Out"/>
  <commands xmi:id="_7u1GUExFEeW5B9szxvF73g" elementId="twobox.app.command.Ether Column Zoom Reset" commandName="Ether Column Zoom Reset" description="Zoom reset">
    <parameters xmi:id="_RtWnkExQEeW5B9szxvF73g" elementId="core.twobox.app.commandparameter.zoomResetSceneGraph.Scene_Graph" name="SceneGraph" typeId=""/>
  </commands>
  <commands xmi:id="_g9T2QEziEeW7Qp-pzyj-PA" elementId="twobox.app.command.etherColumnTopolgyToLine" commandName="Ether Column Topolgy To Line" description="Change the ether column topolgy to a line">
    <parameters xmi:id="_nVQrYE3VEeWdb6EvcAWA6g" elementId="twobox.app.commandparameter.0" name="Command Parameter 0"/>
  </commands>
  <commands xmi:id="_vG-foEziEeW7Qp-pzyj-PA" elementId="twobox.app.command.command.etherColumnTopolgyToLoop" commandName="Ether Column Topology To Loop" description="Change the ether column topolgy to a loop">
    <parameters xmi:id="_odeQoE3VEeWdb6EvcAWA6g" elementId="twobox.app.commandparameter.1" name="Command Parameter 0"/>
  </commands>
  <commands xmi:id="_JYU3EEzkEeW7Qp-pzyj-PA" elementId="twobox.app.command.noop" commandName="noop" description="No Operation"/>
  <commands xmi:id="_2iWC4FDxEeWoQMV4BrEGmA" elementId="twobox.app.command.SwitchPerspective" commandName="SwitchPerspective"/>
  <commands xmi:id="_jUg3cFFyEeWqpancHSxrpQ" elementId="twobox.app.command.New" commandName="New File"/>
  <addons xmi:id="_k_uxFEbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.core.commands.service" contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
  <addons xmi:id="_k_uxFUbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.ui.contexts.service" contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
  <addons xmi:id="_k_uxFkbHEeWJ0OUswaJgig" elementId="org.eclipse.fx.ui.keybindings.e4.service" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingServiceAddon"/>
  <addons xmi:id="_k_uxF0bHEeWJ0OUswaJgig" elementId="org.eclipse.e4.ui.workbench.commands.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
  <addons xmi:id="_k_uxGEbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.ui.workbench.contexts.model" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
  <addons xmi:id="_k_uxGUbHEeWJ0OUswaJgig" elementId="org.eclipse.fx.ui.keybindings.e4.model" contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingProcessingAddon"/>
  <addons xmi:id="_k_uxGkbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.ui.workbench.addons.HandlerProcessingAddon" contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
</application:Application>



Oxygen 3a
Windows 10
Re: PerspectiveStack not visible [message #1707145 is a reply to message #1707144] Wed, 02 September 2015 14:42 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Why is the MyPerspectiveSwitchControl a handler? That's wrong!

Tom

On 02.09.15 16:35, Paul Roubekas wrote:
> I am trying to get this to work and am getting the following stack
> dump. I have tried some tags listed
> https://wiki.eclipse.org/Efxclipse/Runtime/e4, but still can not get it
> working.
>
> org.eclipse.e4.core.di.InjectionException: Unable to process
> "MyPerspectiveSwitchControl#init()": no actual value was found for the
> argument "Group".
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.reportUnresolvedArgument(InjectorImpl.java:424)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:895)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
> at
> org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
>
> at
> org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon.processActiveHandler(HandlerProcessingAddon.java:144)
>
> at
> org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon.postConstruct(HandlerProcessingAddon.java:53)
>
> 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:898)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
>
> at
> org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:278)
> at
> org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:186)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:107)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
>
> at
> org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:50)
>
> at
> org.eclipse.fx.ui.workbench.base.AbstractE4Application.createE4Workbench(AbstractE4Application.java:280)
>
> at
> org.eclipse.fx.ui.workbench.fx.E4Application.initE4Workbench(E4Application.java:284)
>
> at
> org.eclipse.fx.ui.workbench.fx.E4Application$1.run(E4Application.java:153)
> at
> org.eclipse.fx.ui.workbench.fx.E4Application.jfxStart(E4Application.java:193)
>
> at
> org.eclipse.fx.ui.workbench.fx.DefaultJFXApp.start(DefaultJFXApp.java:57)
> at
> com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$163(Unknown
> Source)
> at
> com.sun.javafx.application.PlatformImpl.lambda$runAndWait$176(Unknown
> Source)
> at com.sun.javafx.application.PlatformImpl.lambda$null$174(Unknown
> Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> com.sun.javafx.application.PlatformImpl.lambda$runLater$175(Unknown Source)
> at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
> at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
> at com.sun.glass.ui.win.WinApplication.lambda$null$149(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
>
>
>
>
> package core;
>
> import javax.annotation.PostConstruct;
>
> import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
> import org.eclipse.e4.ui.model.application.ui.advanced.MPerspectiveStack;
> import org.eclipse.e4.ui.model.application.ui.basic.MTrimmedWindow;
> import org.eclipse.e4.ui.workbench.modeling.EPartService;
>
> import javafx.scene.Group;
> import javafx.scene.control.RadioButton;
> import javafx.scene.layout.HBox;
>
> class MyPerspectiveSwitchControl {
> @PostConstruct
> void init(Group g, MTrimmedWindow w, EPartService ps) {
> System.out.println("Gleep000: ");
> MPerspectiveStack st = (MPerspectiveStack) w.getChildren().get(0);
> HBox box = new HBox();
> for (MPerspective p : st.getChildren()) {
> MPerspective fp = p;
> RadioButton b = new RadioButton(p.getLabel());
> b.setOnAction(e -> ps.switchPerspective(fp));
> box.getChildren().add(b);
> }
> g.getChildren().add(box);
> }
> }
>
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <application:Application xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:advanced="http://www.eclipse.org/ui/2010/UIModel/application/ui/advanced"
> xmlns:application="http://www.eclipse.org/ui/2010/UIModel/application"
> xmlns:basic="http://www.eclipse.org/ui/2010/UIModel/application/ui/basic" xmlns:menu="http://www.eclipse.org/ui/2010/UIModel/application/ui/menu"
> xmi:id="_k_uxEUbHEeWJ0OUswaJgig" elementId="org.eclipse.e4.application"
> bindingContexts="_k_uxEEbHEeWJ0OUswaJgig">
> <children xsi:type="basic:TrimmedWindow"
> xmi:id="_wCjlUEbHEeWJ0OUswaJgig" elementId="twobox.app.trimmedwindow.0"
> selectedElement="_c0B5UFDrEeWoQMV4BrEGmA">
> <children xsi:type="advanced:PerspectiveStack"
> xmi:id="_c0B5UFDrEeWoQMV4BrEGmA"
> elementId="twobox.app.perspectivestack.0"
> selectedElement="_lKlUkFDrEeWoQMV4BrEGmA">
> <children xsi:type="advanced:Perspective"
> xmi:id="_lKlUkFDrEeWoQMV4BrEGmA" elementId="twobox.app.perspective.0">
> <children xsi:type="basic:PartSashContainer"
> xmi:id="_w3WfUEbHEeWJ0OUswaJgig"
> elementId="twobox.app.partsashcontainer.0">
> <children xsi:type="basic:Part"
> xmi:id="_xri8YEbHEeWJ0OUswaJgig" elementId="twobox.app.part.TopBox"
> contributionURI="bundleclass://TwoBox.app/core.TopBox" label="TopBox"
> closeable="true">
> <tags>Container:BorderPane</tags>
> <toolbar xmi:id="_lJdu4Ew4EeW5B9szxvF73g"
> elementId="twobox.app.toolbar.0">
> <children xsi:type="menu:HandledToolItem"
> xmi:id="_ERqKIEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.handledtoolitem.topology" label="Topology"
> command="_JYU3EEzkEeW7Qp-pzyj-PA">
> <menu xmi:id="_FPjVwEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.menu.0">
> <children xsi:type="menu:HandledMenuItem"
> xmi:id="_Oc7EQEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.handledmenuitem.lineTopology" label="Line
> Topology" selected="true" type="Radio" command="_g9T2QEziEeW7Qp-pzyj-PA"/>
> <children xsi:type="menu:HandledMenuItem"
> xmi:id="_VWZdgEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.handledmenuitem.loopTopology" label="Loop
> Topology" type="Radio" command="_vG-foEziEeW7Qp-pzyj-PA"/>
> </menu>
> </children>
> <children xsi:type="menu:ToolControl"
> xmi:id="_s_lAMEzgEeW7Qp-pzyj-PA" elementId="twobox.app.toolcontrol.0"/>
> <children xsi:type="menu:ToolBarSeparator"
> xmi:id="_38sqgEzfEeW7Qp-pzyj-PA"
> elementId="twobox.app.toolbarseparator.0"/>
> <children xsi:type="menu:HandledToolItem"
> xmi:id="_uSJKoEw4EeW5B9szxvF73g"
> elementId="twobox.app.handledtoolitem.zoomIn" label="Zoom In"
> command="_pb3sUExFEeW5B9szxvF73g"/>
> <children xsi:type="menu:HandledToolItem"
> xmi:id="_ZGkIQEw5EeW5B9szxvF73g"
> elementId="twobox.app.handledtoolitem.zoomOut" label="Zoom Out"
> command="_01srUExFEeW5B9szxvF73g"/>
> <children xsi:type="menu:HandledToolItem"
> xmi:id="_Emm_UExGEeW5B9szxvF73g"
> elementId="twobox.app.handledtoolitem.ZoomReset" label="Zoom Reset"
> command="_7u1GUExFEeW5B9szxvF73g">
> <parameters xmi:id="_uXDrkExTEeW5B9szxvF73g"
> elementId="twobox.app.parameter.0"
> name="core.twobox.app.commandparameter.zoomResetSceneGraph.Scene_Graph"
> value="core.twobox.app.commandparameter.zoomResetSceneGraph"/>
> </children>
> </toolbar>
> </children>
> <children xsi:type="basic:PartSashContainer"
> xmi:id="_HDNRsEdxEeWQuaDNY149jw"
> elementId="twobox.app.partsashcontainer.1" horizontal="true">
> <children xsi:type="basic:Part"
> xmi:id="_yKIV0EbHEeWJ0OUswaJgig"
> elementId="twobox.app.part.BottomLeftBox"
> contributionURI="bundleclass://TwoBox.app/core.BottomLeftBox"
> label="BottomLeftBox">
> <tags>Container:AnchorPane</tags>
> </children>
> <children xsi:type="basic:Part"
> xmi:id="_Mbe98EdxEeWQuaDNY149jw"
> elementId="twobox.app.part.BottomRightBox"
> contributionURI="bundleclass://TwoBox.app/core.BottomRightBox"
> label="BottomRightBox"/>
> </children>
> </children>
> </children>
> </children>
> <mainMenu xmi:id="_72x-sFD2EeWoQMV4BrEGmA"
> elementId="twobox.app.menu.1">
> <children xsi:type="menu:Menu" xmi:id="_HQm2UFD6EeWoQMV4BrEGmA"
> elementId="twobox.app.menu.File" label="File">
> <children xsi:type="menu:HandledMenuItem"
> xmi:id="_uh9V0FD6EeWoQMV4BrEGmA"
> elementId="twobox.app.handledmenuitem.New" label="New"/>
> </children>
> </mainMenu>
> </children>
> <handlers xmi:id="_c4YH0ExLEeW5B9szxvF73g"
> elementId="twobox.app.handler.zoomIn"
> contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomIn"
> command="_pb3sUExFEeW5B9szxvF73g"/>
> <handlers xmi:id="_fklPYExLEeW5B9szxvF73g"
> elementId="twobox.app.handler.zoomOut"
> contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomOut"
> command="_01srUExFEeW5B9szxvF73g"/>
> <handlers xmi:id="_l3jpUExLEeW5B9szxvF73g"
> elementId="twobox.app.handler.zoomReset"
> contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnZoomReset"
> command="_7u1GUExFEeW5B9szxvF73g"/>
> <handlers xmi:id="_6PJG4EziEeW7Qp-pzyj-PA"
> elementId="twobox.app.handler.etherColumnTopologyToLine"
> contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnTopolgyToLine"
> command="_g9T2QEziEeW7Qp-pzyj-PA"/>
> <handlers xmi:id="_Ezf2cEzjEeW7Qp-pzyj-PA"
> elementId="twobox.app.handler.command.etherColumnTopolgyToLoop"
> contributionURI="bundleclass://TwoBox.app/handlers.EtherColumnTopolgyToLoop"
> command="_vG-foEziEeW7Qp-pzyj-PA"/>
> <handlers xmi:id="_M_VaAEzkEeW7Qp-pzyj-PA"
> elementId="twobox.app.handler.noop"
> contributionURI="bundleclass://TwoBox.app/handlers.NoOp"
> command="_JYU3EEzkEeW7Qp-pzyj-PA"/>
> <handlers xmi:id="_86l_oE3WEeWdb6EvcAWA6g"
> elementId="twobox.app.handler.granularity"
> contributionURI="bundleclass://TwoBox.app/handlers.Granularity"/>
> <handlers xmi:id="_9bY-UFDxEeWoQMV4BrEGmA"
> elementId="twobox.app.handler.0"
> contributionURI="bundleclass://TwoBox.app/core.MyPerspectiveSwitchControl"
> command="_2iWC4FDxEeWoQMV4BrEGmA"/>
> <handlers xmi:id="_lio74FFyEeWqpancHSxrpQ"
> elementId="twobox.app.handler.1"
> contributionURI="bundleclass://TwoBox.app/handlers.NewFile"
> command="_jUg3cFFyEeWqpancHSxrpQ"/>
> <rootContext xmi:id="_k_uxEEbHEeWJ0OUswaJgig"
> elementId="org.eclipse.ui.contexts.dialogAndWindow" name="In Dialog and
> Windows">
> <children xmi:id="_k_uxEkbHEeWJ0OUswaJgig"
> elementId="org.eclipse.ui.contexts.window" name="In Windows"/>
> <children xmi:id="_k_uxE0bHEeWJ0OUswaJgig"
> elementId="org.eclipse.ui.contexts.dialog" name="In Dialogs"/>
> </rootContext>
> <trimContributions xmi:id="_oEBYIFDxEeWoQMV4BrEGmA"
> elementId="twobox.app.trimcontribution.0"
> parentId="twobox.app.perspectivestack.0" positionInParent="TOP">
> <children xsi:type="menu:ToolBar" xmi:id="_DUgb4FD0EeWoQMV4BrEGmA"
> elementId="twobox.app.toolbar.1"/>
> <children xsi:type="menu:ToolControl"
> xmi:id="_ofPCkFDzEeWoQMV4BrEGmA" elementId="twobox.app.toolcontrol.1"
> contributionURI="bundleclass://TwoBox.app/core.MyPerspectiveSwitchControl"/>
>
> </trimContributions>
> <commands xmi:id="_pb3sUExFEeW5B9szxvF73g"
> elementId="twobox.app.command.etherColumnZoomIn" commandName="Ether
> Column Zoom In" description="Zoom in"/>
> <commands xmi:id="_01srUExFEeW5B9szxvF73g"
> elementId="twobox.app.command.etherColumnZoomOut" commandName="Ether
> Column Zoom Out" description="Zoom Out"/>
> <commands xmi:id="_7u1GUExFEeW5B9szxvF73g"
> elementId="twobox.app.command.Ether Column Zoom Reset"
> commandName="Ether Column Zoom Reset" description="Zoom reset">
> <parameters xmi:id="_RtWnkExQEeW5B9szxvF73g"
> elementId="core.twobox.app.commandparameter.zoomResetSceneGraph.Scene_Graph"
> name="SceneGraph" typeId=""/>
> </commands>
> <commands xmi:id="_g9T2QEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.command.etherColumnTopolgyToLine"
> commandName="Ether Column Topolgy To Line" description="Change the ether
> column topolgy to a line">
> <parameters xmi:id="_nVQrYE3VEeWdb6EvcAWA6g"
> elementId="twobox.app.commandparameter.0" name="Command Parameter 0"/>
> </commands>
> <commands xmi:id="_vG-foEziEeW7Qp-pzyj-PA"
> elementId="twobox.app.command.command.etherColumnTopolgyToLoop"
> commandName="Ether Column Topology To Loop" description="Change the
> ether column topolgy to a loop">
> <parameters xmi:id="_odeQoE3VEeWdb6EvcAWA6g"
> elementId="twobox.app.commandparameter.1" name="Command Parameter 0"/>
> </commands>
> <commands xmi:id="_JYU3EEzkEeW7Qp-pzyj-PA"
> elementId="twobox.app.command.noop" commandName="noop" description="No
> Operation"/>
> <commands xmi:id="_2iWC4FDxEeWoQMV4BrEGmA"
> elementId="twobox.app.command.SwitchPerspective"
> commandName="SwitchPerspective"/>
> <commands xmi:id="_jUg3cFFyEeWqpancHSxrpQ"
> elementId="twobox.app.command.New" commandName="New File"/>
> <addons xmi:id="_k_uxFEbHEeWJ0OUswaJgig"
> elementId="org.eclipse.e4.core.commands.service"
> contributionURI="bundleclass://org.eclipse.e4.core.commands/org.eclipse.e4.core.commands.CommandServiceAddon"/>
>
> <addons xmi:id="_k_uxFUbHEeWJ0OUswaJgig"
> elementId="org.eclipse.e4.ui.contexts.service"
> contributionURI="bundleclass://org.eclipse.e4.ui.services/org.eclipse.e4.ui.services.ContextServiceAddon"/>
>
> <addons xmi:id="_k_uxFkbHEeWJ0OUswaJgig"
> elementId="org.eclipse.fx.ui.keybindings.e4.service"
> contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingServiceAddon"/>
>
> <addons xmi:id="_k_uxF0bHEeWJ0OUswaJgig"
> elementId="org.eclipse.e4.ui.workbench.commands.model"
> contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon"/>
>
> <addons xmi:id="_k_uxGEbHEeWJ0OUswaJgig"
> elementId="org.eclipse.e4.ui.workbench.contexts.model"
> contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon"/>
>
> <addons xmi:id="_k_uxGUbHEeWJ0OUswaJgig"
> elementId="org.eclipse.fx.ui.keybindings.e4.model"
> contributionURI="bundleclass://org.eclipse.fx.ui.keybindings.e4/org.eclipse.fx.ui.keybindings.e4.BindingProcessingAddon"/>
>
> <addons xmi:id="_k_uxGkbHEeWJ0OUswaJgig"
> elementId="org.eclipse.e4.ui.workbench.addons.HandlerProcessingAddon"
> contributionURI="bundleclass://org.eclipse.e4.ui.workbench/org.eclipse.e4.ui.internal.workbench.addons.HandlerProcessingAddon"/>
>
> </application:Application>
>
>
Re: PerspectiveStack not visible [message #1707149 is a reply to message #1707145] Wed, 02 September 2015 15:02 Go to previous message
Paul Roubekas is currently offline Paul RoubekasFriend
Messages: 207
Registered: March 2012
Location: Chattanooga, TN USA
Senior Member
Quote:
Why is the MyPerspectiveSwitchControl a handler?


Because I am still on the learning curve with eclipse e4, OSGi & JavaFX.

So now the error goes away but the home made perspective switcher still does not render.

index.php/fa/23100/0/


Oxygen 3a
Windows 10
Previous Topic:Using FXMLLoaderFactory to load an FXML with a controller in a different bundle
Next Topic:Mars updates to tutorial 1
Goto Forum:
  


Current Time: Fri Mar 29 08:40:43 GMT 2024

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

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

Back to the top