RCP SaveAndRestore does not reopen views - eclipse-rcp

I have a RCP application. Its default perspective opens two views on thew left and the bottom, in relation to the editor area. The option SaveAndRestore is set to true.
Upon the next startup of the app, both views are closed. Why? What am i doing wrong?

Well it seems, that i had something wrong with my ids. Recreated some of them and checked them. Now everything is doing fine.

I assume you closed the views manually. Use the command org.eclipse.ui.window.resetPerspective to reset the perspective to its initial state or use the "Clear" flag for the Workspace in your launch configuration.

Do you have a saveState(memento) and init(IViewSite site, IMemento memento) implemented for your view?

Related

Eclipse launch configuration misleading

How to I remove non-current Eclipse C++ launch configuration?
What I expect is, the RUN directly related to myproject.exe, not pointing to otherproject.exe sometimes. this is misleading and bring up error. So why not let the closed project with its launching configuration, i.e. closedproject.exe be invisible. And It should be automatically visible if I am editing that C++ code?
Yes I did check the menu setting (De-/Selected both tried):
Windows->Preference->Run/Debug->Launching->Launch Configurations:
Filter configuration in closed projects
Filter configuration inc deleted or missing projects
But the closedproject.exe still in the drop down list or sometime even link to current project build.
What did I wrong or what is the correct/clear setting for this? Or maybe pls. help me to understand why multiple project.exe are listed there?
Or it is a Eclipse improve point?
Thanks to #howlger I have found more insights on the toolbar settings of Eclipse.
In general, Eclipse default toolbar lineup are overdone for beginners like me. It should be more concise and turn-up only needed thus more intuitive.
The "Launch Bar" makes it explicit and standing out. But those build/debug functions/buttons are already in basic toolbar set, thus would be redundant or even misleading if people click on the drop-down menu of "Launch configuration", which is also not clean & clear in principal.
For that reason, the Launch Bar could be disable (for beginners):
Preference=>Launching=>Launch bar | right panel=> uncheck
Enable the Launch Bar
The red-squared button of terminate could be useful while debugging and re-build, because the previous malfunctioning RUN & program could still resident in task manager thus prevent further build and turn-up permission error, There helps this "Terminate" button instead of restart Eclipse. BUT as said, this button also in basic toolbar set. But it is often shadowed by the out-standing Launching Bar :-).
It is also possible to fully customize the toolbar (and lock it):
Windows=>Perspective=>Customize Perceptive
Then choose the tool bar items to display.
For the issue of multiple historical "launching configurations", I will report to Eclipse.

How to change toolbar button order in eclipse 4.2?

With the old version, we just needed to drag and drop to change the positions toolbar's button. But with juno, how do we do this?
I don't believe you can re-order them in Eclipse 4.2.
However, you can choose to hide them:
- Window -> Customize Perspective -> Tool Bar Visibility
This is bug 364046, and has supposedly been fixed but is not yet released.
In the meantime, you can reorder the perspective buttons using the Live Application Model View. I am not sure what you need to install to get this view -- Eclipse e4 Tools perhaps?
I didn't see the view in the Show View dialog but it shows up with Ctrl-3.
Once you get the live application model view up, you need to find the Perspectives Stack,
which I found under Windows->Trimmed Window->Controls->PartSashContainer->Perspectives Stack.
Then you can reorder either by dragging/dropping in the tree view, or by the up/down buttons in the editor. I had to restart Eclipse to see the changes.
until the bug is fixed, i've found that one can:
figure out the order of the perspective items you are interested in
close all perspectives (or at least all that are in the wrong order
re-open in the order preferred.
if switching the last 2, just close the 2nd to last one, then re-open it, and it will be the last one.
if you want to move the first one to the last position, close it, then re-open.
if you want to move the last one to the first position, well ... you'll have to close all the others, then re-open them in the order you want.
this might involve less work than pulling in the "live application model view". at the very least, it just worked for me after coming to this question in hopes of seeing a real answer to the problem.

Programmatically affecting load order of perspectives

So, I'm working on an Eclipse Plugin which includes a custom view based on analysis of source code. The majority of the time, it works great. However, if I quit Eclipse with that view open, when I reopen it, it runs into an error with either IWorkbenchWindow.getActivePage() or IWorkbenchPage.getEditorReferences() returning null. This inconsistency seems to be because the view has the focus when Eclipse quits and is the first thing that Eclipse tries to reconstruct on start up. the focus is on a non-window shell (I don't fully understand this, but that's what this said). Is there a workaround so that I can ensure that Eclipse fully loads its IWorkbenchWindow before my custom plugin regardless of what has the focus when Eclipse closes?
Thanks
You can consider using the site instead: getSite().getPage()...
Tonny Madsen pointed out in the comments that, from within a View, I can access the Active Page from getSite().getPage(), which solved the issues.

How can I close an empty pane in Eclipse

I often end up with lots of empty panes in Eclipse that can only be minimized but not destroyed. How do I close these?
Update:
In this screenshot you can see two minimized on the upper left and several on the right hand side. In the center are four more. They only seem to be restorable in the Debug mode.
http://img406.imageshack.us/img406/9900/eclipse1.png
this happened to me, too. What worked for me (based on FilmJ and douncon's comments) was to open a class file, then drag that tab over the top of the empty pane.
Select Window -> Reset Perspective. That should reset the current perspective (what you call "mode") to its' initial state, (hopefully) closing all irrelevant views.
Something seems terribly wrong with your Eclipse. Maybe you should reinstall it. It is possible that you installed a buggy plugin.
First of all, what do you mean by pane? Eclipse has:
Windows (Eclipse itself, e.g. instance)
Documents (tabs)
Views (properties, tasks, explorer, etc)
If by 'pane' you mean document editors, you have problems either with your Eclipse version or most likely one of the installed plugins.
Each View also can be closed (except maybe some project types (perspectives) of which I'm not aware). For CDT (C/C++) you can close practically everything.
I'll recommend you download latest Eclipse version with no plugins, extract it to different folder, and check if that happens again. If yes, please explain more in details (like Eclipse version, perspective you are using, any side plugins, etc).
Also a good places are Eclipse community forum, mailing list and bugz :-)
I had the same problem. For me it helped to go into the right perspective and activate the functionality that caused the window in the first place. Once I reactivated the functionality, in my case "QNX Memory Analysis perspective", I was able to close all the windows one by one.
The conclusion is you have to refill the empty windows with content and then you will be able to close them properly.
So, it's really very easy for this to happen, if you open an editor that's incompatible with the existing editor, you can often end up having to place it outside of the tab list in one of your editor panes, then you might clear or copy that, typically while trying to add that view to a tab list.
In any case, what it's done is create a new editor, and all you need to do is drag some file to that empty editor window giving it some form of context, then close it.
I had the same issue. I followed #zvikico, but instead of just resetting, I first reset and then closed all the perspectives. Please follow the following to fix the problem. It worked for me:
Window -> Perspective -> Reset perspective..
After resetting follow below:
Window -> Perspective -> Close All Perspectives

Eclipse RCP Splash Screen

I'm involved in a project that is attempting to use the Eclipse RCP splash screen to gather user credentials, language, etc. If this screen loses focus, it is not available (under Windows at least) through the ALt-Tab functionality, and can only be found by minimizing all other windows and uncovering it. Any way of having this screen allow itself to be activated in this way? They're avoiding creating an intermediate screen, for reasons unknown at this point.
I think it might be time to examine those unknown reasons. Even eclipse doesn't use the splash screen in this way. If it needs to prompt for information, it opens a new dialog to ask for it.
Good luck.
[Edit] I stand corrected. This thread seems to have a solution to this. Good luck, I'm no SWT/RCP guru.
See this page. From one of the comments:
The splash screen window is created natively with the extended window style WS_EX_TOOLWINDOW which makes it not appear in the task bar. This corresponds to the SWT constant SWT.TOOL.
I don't know if it's possible to change the window style after it is created on Windows. You can always drop down to JNI if that's necessary.
Create your own implementation of AbstractSplashHandler.
When creating the shell, don't use the SWT.TOOL style.
The shell will be accessible through the windows task bar.