diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java index a951d4fcf519e5f34cea0bf00750213a04453476..318f2ee6987f9c18a6cbb8e58e3d9516534cfb0a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/AbstractPluginViewContext.java @@ -102,6 +102,11 @@ public abstract class AbstractPluginViewContext<T extends IClientServiceAsync> i return commonViewContext.getPageController(); } + public final String getBasicPageTitle() + { + return commonViewContext.getBasicPageTitle(); + } + public final IClientPluginFactoryProvider getClientPluginFactoryProvider() { return commonViewContext.getClientPluginFactoryProvider(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java index 59d2b57a9ace67e8879aba731307c69ca84ff685..a349fec00a02de58ace11877dd3467aadda9030a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Client.java @@ -103,12 +103,17 @@ public class Client implements EntryPoint, ValueChangeHandler<String> CommonViewContext commonContext = new CommonViewContext(service, imageBundle, pageController, isLoggingEnabled(), - isSimpleMode()); + isSimpleMode(), getPageTitle()); commonContext.setClientPluginFactoryProvider(createPluginFactoryProvider(commonContext)); initializeLocatorHandlerRegistry(commonContext.getLocatorResolverRegistry(), commonContext); return commonContext; } + private String getPageTitle() + { + return Window.getTitle(); + } + private boolean isSimpleMode() { String viewModeParameter = Window.Location.getParameter(BasicConstant.VIEW_MODE_KEY); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java index 83feafe66f07e49821b0f868b1cc04ac8a94dc0a..b7e179e201375bf94a8c39d47f5e9400a67c2027 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/CommonViewContext.java @@ -79,14 +79,17 @@ public final class CommonViewContext implements IViewContext<ICommonClientServic private final IProfilingTable profilingTable; + private final String basicPageTitle; + CommonViewContext(final ICommonClientServiceAsync service, final IGenericImageBundle imageBundle, final IPageController pageController, - boolean isLoggingEnabled, boolean isSimpleMode) + boolean isLoggingEnabled, boolean isSimpleMode, String basicPageTitle) { this.service = service; this.imageBundle = imageBundle; this.pageController = pageController; this.profilingTable = ProfilingTable.create(isLoggingEnabled); + this.basicPageTitle = basicPageTitle; messageProvider = new CompositeMessageProvider(); messageProvider.add(new DictonaryBasedMessageProvider(TECHNOLOGY_NAME)); viewModel = new GenericViewModel(); @@ -162,6 +165,11 @@ public final class CommonViewContext implements IViewContext<ICommonClientServic return pageController; } + public final String getBasicPageTitle() + { + return basicPageTitle; + } + public final IClientPluginFactoryProvider getClientPluginFactoryProvider() { return clientPluginFactoryProvider; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java index 4eafa948e3b021cb838f5a05ad2cd2228146894d..599de2071c6b6f1a294e0a140b2e2f5430077dd7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/IViewContext.java @@ -48,6 +48,8 @@ public interface IViewContext<T extends IClientServiceAsync> extends IMessagePro public IPageController getPageController(); + public String getBasicPageTitle(); + public IClientPluginFactoryProvider getClientPluginFactoryProvider(); public ICommonClientServiceAsync getCommonService(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java index 8b0167072d95dcb636fcfcaa4428ea32ca23a948..eb16af2c50048c7194030e1389e4fe4381b734d3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/listener/OpenEntityDetailsTabAction.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.listener; +import com.google.gwt.user.client.Window; + import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DispatcherHelper; @@ -66,6 +68,13 @@ public final class OpenEntityDetailsTabAction implements IDelegatedAction final AbstractTabItemFactory tabView = createClientPlugin.createEntityViewer(entityType, entity); tabView.setInBackground(keyPressed); + + if (viewContext.isSimpleMode()) + { + Window.setTitle(entityKind + ": " + entity.getCode() + " [" + entityType + "]" + " - " + + viewContext.getBasicPageTitle()); + } + DispatcherHelper.dispatchNaviEvent(tabView); } }