Tom,
I've attached an image of the perspective. The explorer view has focus
when switched to this perspective. But if you click anywhere on the
window (including the Explorer view, the Menubar, or any other views),
Details views gets selected. This is only with the first click of the
mouse. If I use the arrow keys, the tree navigation works fine, but the
first click always switches focus to the Details View.
Here is the plugin.xml
Integrated changes from old branch to mainline
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="com.lggi.esp.client.app.catalog.Perspective"
icon="icons/catalog.png"
id="com.lggi.esp.client.app.catalog.perspective"
name="Catalog">
</perspective>
</extension>
<extension
point="org.eclipse.ui.views">
<view
name="Map"
allowMultiple="true"
class="com.lggi.esp.rcp.catalog.map.MapView"
icon="icons/catalog.png"
id="com.lggi.esp.rcp.catalog.map.MapView"/>
<view
name="Explorer"
allowMultiple="true"
class="com.lggi.esp.rcp.catalog.explorer.tree.ExplorerTreeView"
icon="icons/catalog.png"
id="com.lggi.esp.rcp.catalog.explorer.tree.ExplorerTreeView"/>
<view
name="Details"
allowMultiple="true"
class="com.lggi.esp.rcp.catalog.explorer.detail.CatalogExplorerDetailView"
icon="icons/catalog.png"
id="com.lggi.esp.rcp.catalog.explorer.detail.CatalogExplorerDetailView"/>
</extension>
</plugin>
and the createInitialLayout() method from the Perspective class, which
implements IPerspectiveFactory
/**
* Create the initial views for the perspective.
*/
public void createInitialLayout(IPageLayout layout) {
final float fractionalPosition35 = 0.35f;
final float fractionalPosition65 = 0.65f;
User curUser = ApplicationController.getUser();
if (!ApplicationController
.isAuthorised(ApplicationController.getOperatorRoles()))
{
Shell shell =
PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getShell();
MessageDialog.openError(shell, "Authorization Failure", "User
'"
+ curUser.getName()
+ "' is not authorized to view this perspective");
throw new SecurityException("User '" + curUser.getName()
+ "' is not authorized to view this perspective");
}
String editorArea = layout.getEditorArea();
layout.setEditorAreaVisible(false);
layout.addActionSet("com.lggi.esp.client.gui.catalog.catalogActionSet");
IFolderLayout expFolder = layout.createFolder("Explorer",
IPageLayout.TOP, fractionalPosition35, editorArea);
expFolder.addView(ExplorerTreeView.ID);
IFolderLayout propsFolder = layout.createFolder("Properties",
IPageLayout.RIGHT,
fractionalPosition65, ExplorerTreeView.ID);
IFolderLayout detailFolder = layout.createFolder("Details",
IPageLayout.BOTTOM, fractionalPosition65, editorArea);
propsFolder.addView(IPageLayout.ID_PROP_SHEET);
propsFolder.addView(MapView.ID);
detailFolder.addView(CatalogExplorerDetailView.ID);
layout.getViewLayout(ExplorerTreeView.ID).setCloseable(false);
layout.getViewLayout(CatalogExplorerDetailView.ID).setCloseable(false);
layout.addShowViewShortcut(MapView.ID);
layout.addShowViewShortcut(ExplorerTreeView.ID);
layout.addShowViewShortcut(CatalogExplorerDetailView.ID);
// add the properties view
layout.addShowViewShortcut(IPageLayout.ID_PROP_SHEET);
// to be removed later
detailFolder.addView(CatalogExplorerView.ID);
detailFolder.addView(CatalogJobListView.ID);
layout.addActionSet("lggi.viewer.actionSet");
MainPlugin.addPerspectiveShortcuts(layout);
}
Thanks
Mahesh
Tom Schindl wrote:
Sorry mean eclipse.platform.
Well getting Warnocked (http://en.wikipedia.org/wiki/Warnock's_Dilemma)
means that you should rethink your description. Maybe a test-case would
make sense?
Tom
Mahesh Soori schrieb:
Tom,
Given the number of responses I have had, I'd say 3 forums definitely
was'nt enough ;-) Regardless, I dont see a platform.ui there is a
platform.ua, but not ui.
Anyway, thanks for the response. At least one non answer makes it look
like somewhat of an active community!
Mahesh
Tom Schindl wrote:
Please stop crossposting on 3 forums. 1 is enough. In your case you
can it best fits to platform.ui, I'd say.
Tom
Mahesh Soori schrieb:
Even stranger, if I Alt+Tab to a different application after
switching to this perspective and then switch back, it works as
expected. I noticed that in Controll.forceFocus(), it blindly sets
savedFocus to null and then back again to this as in
shell.setSavedFocus (this);
Is this intentional? Anybody back from the MemorialDay yet???
Thanks
Mahesh
Mahesh Soori wrote:
What is even stranger is that if I try to navigate with the keyboard
in View A (which contains a tree), the view is properly focussed and
expands the nodes as I would expect. However, if I click anywhere
in the window, the focus jumps to View B (which has a Pagebook and
tables displayed in the Pagebook). I have tried calling setFocus(),
etc.
TIA,
Mahesh
Mahesh Soori wrote:
I have 3 views in a perspective, call it A, B and C. When I switch
to this perspective, the view A has the focus... but if I click on
any of the other two views or the menu bar, the focus always goes
to View B. This only happens once, after that the views get the
proper focus. I am using Tabbed Folders in the perspective to
layout my views. Has anyone else run into this strange behaviour?
Also, I want to add animated icons to certain nodes in a tree to
indicate progress activity for that node. I have read in Eclipse
release notes that animated gifs are now supported, but when I give
an animated icons as the image for the node, its not animated.
TIA
Mahesh
------------------------------------------------------------------------