diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java index 8a7b1109b4e09c59a198332a0bc399b013aeb10c..5161a0dc7304bcd28584fe85b54ec3a7880ec77b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java @@ -500,6 +500,8 @@ public abstract class Dict public static final String MENU_SAMPLE = "menu_sample"; + public static final String MENU_MODULES = "menu_modules"; + public static final String MENU_COMPUTE = "menu_compute"; // @@ -742,7 +744,7 @@ public abstract class Dict public static final String RESET_USER_SETTINGS_CONFIRMATION_MSG = "reset_user_settings_confirmation_msg"; - + public static final String REAL_NUMBER_FORMATING_FIELDS = "real_number_formating_fields"; public static final String SCIENTIFIC_FORMATING = "scientific_formating"; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java index ea3e1c4e8771792e78b73ad5d42e199244fe9d8f..3efc2220bd97ccdd013d70e93204b1091aebef6b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/menu/TopMenu.java @@ -16,9 +16,12 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.menu; +import java.util.List; + import com.extjs.gxt.ui.client.widget.LayoutContainer; -import com.extjs.gxt.ui.client.widget.WidgetComponent; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; +import com.extjs.gxt.ui.client.widget.menu.Menu; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.extjs.gxt.ui.client.widget.toolbar.FillToolItem; import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem; import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; @@ -113,10 +116,14 @@ public class TopMenu extends LayoutContainer toolBar.add(new DataSetMenu(viewContext, componentProvider)); toolBar.add(new MaterialMenu(viewContext, componentProvider)); toolBar.add(new AdministrationMenu(viewContext, componentProvider)); + // toolBar.add(new ModulesMenu(viewContext, viewContext.getClientPluginFactoryProvider())); - for (IModule m : viewContext.getClientPluginFactoryProvider().getModules()) + TopMenuItem modulesMenuOrNull = + tryCreateModulesMenu(viewContext.getClientPluginFactoryProvider().getModules()); + if (modulesMenuOrNull != null) { - toolBar.add(new WidgetComponent(m.getMenu())); + simplifyMenuIfNecessary(modulesMenuOrNull); + toolBar.add(modulesMenuOrNull); } toolBar.add(new FillToolItem()); @@ -126,6 +133,46 @@ public class TopMenu extends LayoutContainer toolBar.add(new LoggedUserMenu(viewContext, componentProvider)); } + private TopMenuItem tryCreateModulesMenu(List<IModule> modules) + { + TopMenuItem modulesMenu = new TopMenuItem("Utilities"); + + Menu submenu = new Menu(); + for (IModule module : modules) + { + for (MenuItem menuItem : module.getMenuItems()) + { + submenu.add(menuItem); + } + } + if (submenu.getItems().size() == 0) + { + return null; + } + modulesMenu.setMenu(submenu); + return modulesMenu; + } + + /** + * If there is only one item in the specified <var>topMenu</var> and that item has a sub menu + * than 'pull up' this one item into top menu. + */ + private void simplifyMenuIfNecessary(TopMenuItem topMenu) + { + if (topMenu.getMenu().getItemCount() == 1) + { + MenuItem menuItem = (MenuItem) topMenu.getMenu().getItem(0); + if (menuItem.getSubMenu() != null) + { + topMenu.setText(menuItem.getText()); + topMenu.setMenu(menuItem.getSubMenu()); + } + } else + { + return; // nothing to simplify + } + } + @Override protected void onRender(final Element parent, final int pos) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/DefaultClientPluginFactoryProvider.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/DefaultClientPluginFactoryProvider.java index b85bfabd15a8b6cdb1513c5a6de04c5e95b5956c..f47aed73818219c47d9a9ea3cd47be66cf88c07e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/DefaultClientPluginFactoryProvider.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/DefaultClientPluginFactoryProvider.java @@ -18,8 +18,10 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; @@ -35,6 +37,8 @@ import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.Cli */ public class DefaultClientPluginFactoryProvider implements IClientPluginFactoryProvider { + private final Set<IClientPluginFactory> pluginFactories = new HashSet<IClientPluginFactory>(); + private final Map<EntityKindAndTypeCode, IClientPluginFactory> pluginFactoryByEntityKindAndTypeCode = new HashMap<EntityKindAndTypeCode, IClientPluginFactory>(); @@ -51,14 +55,17 @@ public class DefaultClientPluginFactoryProvider implements IClientPluginFactoryP final IViewContext<ICommonClientServiceAsync> originalViewContext) { // Automatically generated part - START - registerPluginFactory(new ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.ClientPluginFactory(originalViewContext)); - registerPluginFactory(new ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.ClientPluginFactory(originalViewContext)); + registerPluginFactory(new ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.ClientPluginFactory( + originalViewContext)); + registerPluginFactory(new ch.systemsx.cisd.openbis.plugin.query.client.web.client.application.ClientPluginFactory( + originalViewContext)); // Automatically generated part - END } protected final void registerPluginFactory(final IClientPluginFactory pluginFactory) { assert pluginFactory != null : "Unspecified client plugin factory."; + pluginFactories.add(pluginFactory); for (final EntityKind entityKind : EntityKind.values()) { for (final String entityType : pluginFactory.getEntityTypeCodes(entityKind)) @@ -100,7 +107,7 @@ public class DefaultClientPluginFactoryProvider implements IClientPluginFactoryP public final List<IModule> getModules() { ArrayList<IModule> modules = new ArrayList<IModule>(); - for (IClientPluginFactory factory : pluginFactoryByEntityKindAndTypeCode.values()) + for (IClientPluginFactory factory : pluginFactories) { IModule m = factory.tryGetModule(); if (m != null) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java index 7fb20e77dd6f62b21a2e8bad9ae56281c2666715..cea18e85e0176465043772a9bcad536260895f82 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IModule.java @@ -18,15 +18,12 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin; import java.util.List; -import com.extjs.gxt.ui.client.widget.Component; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Widget; - -import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenuItem; /** * Plugin that does not depend on entity kind and type. All methods except - * {@link #initialize(AsyncCallback)} is invoked after invocation of the call back of the + * {@link #initialize(AsyncCallback)} are invoked after invocation of the call back of the * initialization method. * * @author Izabela Adamczyk @@ -39,25 +36,15 @@ public interface IModule * {@link AsyncCallback#onFailure(Throwable)} is invoked. */ void initialize(AsyncCallback<Void> callback); - - /** - * Returns a widget that will be used as a top menu element. - * <p> - * Note that although any widget may be returned by the method, the height of the top menu will - * not be adjusted automatically, so make sure that your widget is not too high. - * </p> - * <p> - * {@link TopMenuItem} should be used for standard menus. - * </p> - */ - Widget getMenu(); - - String getModuleName(); - - String getModuleDescription(); + + /** + * Returns user friendly name of the module. + */ + String getName(); /** - * Returns a list with menu items. The list empty if this module isn't applicable. + * Returns a list with menu items (they can be complex submenus or single menu items). The list + * should be empty if this module isn't applicable. */ - List<Component> getMenuItems(); + List<? extends MenuItem> getMenuItems(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java index 0126cfc31e4411bddc994778781073a5aa29d594..de4de73face0b57e153001c62ec13d1c9041a197 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java @@ -36,12 +36,14 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpP import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.ClientPluginAdapter; import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IClientPlugin; import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IClientPluginFactory; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule; import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; +import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.module.DemoModule; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.GenericViewContext; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleRegistrationForm; @@ -216,9 +218,10 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<DemoV return DefaultTabItem.createUnaware(identifier, component, false); } - // @Override - // public IModule tryGetModule() - // { - // return new DemoModule(getViewContext()); - // } + // FIXME + @Override + public IModule tryGetModule() + { + return new DemoModule(getViewContext()); + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java index 5bba0a7335ba3cf666e0a3dada3818251e6a4c20..775abbc30edd9a1a27343d332e10830e403d41b6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/DemoModule.java @@ -16,15 +16,16 @@ package ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.module; +import java.util.Collections; import java.util.List; -import com.extjs.gxt.ui.client.widget.Component; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule; import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.IDemoClientServiceAsync; +import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.Dict; /** * Simple demo module. @@ -46,34 +47,20 @@ public class DemoModule implements IModule return viewContext; } - public Widget getMenu() + public List<? extends MenuItem> getMenuItems() { - return new TopMenuItemDemoModuleMenu(getViewContext()); + return Collections.singletonList(new TopMenuItemDemoModuleMenu(getViewContext())); // Uncomment to see customized top menu . // return new CustomizedWidgetDemoModuleMenu(getViewContext()); } - public List<Component> getMenuItems() + public String getName() { - // TODO Auto-generated method stub - return null; - } - - public String getModuleDescription() - { - // TODO Auto-generated method stub - return null; - } - - public String getModuleName() - { - // TODO Auto-generated method stub - return null; + return viewContext.getMessage(Dict.MODULE_MENU_TITLE); } public void initialize(AsyncCallback<Void> callback) { - // TODO Auto-generated method stub - + callback.onSuccess(null); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/TopMenuItemDemoModuleMenu.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/TopMenuItemDemoModuleMenu.java index f9249f3608bd0f2a2fe85321399a8014e4fada4d..4e118449f3523539c799b5513ba6cfc47a8d03a6 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/TopMenuItemDemoModuleMenu.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/module/TopMenuItemDemoModuleMenu.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.module; import com.extjs.gxt.ui.client.widget.menu.Menu; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; @@ -26,7 +27,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework. import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.ActionMenu; import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.IActionMenuItem; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.menu.TopMenuItem; import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider; import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.IDemoClientServiceAsync; import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.Dict; @@ -36,7 +36,7 @@ import ch.systemsx.cisd.openbis.plugin.demo.client.web.client.application.Dict; * * @author Izabela Adamczyk */ -public class TopMenuItemDemoModuleMenu extends TopMenuItem +public class TopMenuItemDemoModuleMenu extends MenuItem { public static final String ID = GenericConstants.ID_PREFIX; @@ -89,6 +89,6 @@ public class TopMenuItemDemoModuleMenu extends TopMenuItem Menu submenu = new Menu(); submenu.add(new ActionMenu(ActionMenuKind.STATISTICS, viewContext, new ExperimentStatisticsTabItemFactory(viewContext))); - setMenu(submenu); + setSubMenu(submenu); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/Dict.java new file mode 100644 index 0000000000000000000000000000000000000000..18a98c71ac6d702f8a0e8ae51d5708bbef2c8c32 --- /dev/null +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/Dict.java @@ -0,0 +1,33 @@ +/* + * Copyright 2008 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.systemsx.cisd.openbis.plugin.query.client.web.client.application; + +/** + * An {@link ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict} extension for + * <i>query</i> specific message keys. + * + * @author Christian Ribeaud + */ +public final class Dict extends ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict +{ + public static final String MODULE_MENU_TITLE = "module_menu_title"; + + private Dict() + { + // Can not be instantiated. + } +} diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java index 7b764037d252a512ae5608fbbbcccdb735d6fda6..81db342044a70819bc2b9ab49bd8679730c45f2c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/client/application/QueryModule.java @@ -16,20 +16,17 @@ package ch.systemsx.cisd.openbis.plugin.query.client.web.client.application; +import java.util.Collections; import java.util.List; -import com.extjs.gxt.ui.client.widget.Component; -import com.extjs.gxt.ui.client.widget.button.Button; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule; import ch.systemsx.cisd.openbis.plugin.query.client.web.client.IQueryClientServiceAsync; /** - * - * * @author Franz-Josef Elmer */ public class QueryModule implements IModule @@ -40,34 +37,23 @@ public class QueryModule implements IModule { this.viewContext = viewContext; } - - public Widget getMenu() - { - return new Button("hello"); - } - - public List<Component> getMenuItems() - { - // TODO Auto-generated method stub - return null; - } - public String getModuleDescription() + public List<? extends MenuItem> getMenuItems() { - // TODO Auto-generated method stub - return null; + // return Collections.emptyList(); + // FIXME + return Collections.singletonList(new MenuItem("hello")); } - public String getModuleName() + public String getName() { - // TODO Auto-generated method stub - return null; + return viewContext.getMessage(Dict.MODULE_MENU_TITLE); } public void initialize(AsyncCallback<Void> callback) { - // TODO Auto-generated method stub - + // FIXME + callback.onSuccess(null); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/public/query-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/public/query-dictionary.js index a702491d85e17fe7d6d118aa185098f26d4a5c01..06d55e9743ee99ad67ea781ded4f6531edc64a71 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/public/query-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/query/client/web/public/query-dictionary.js @@ -1,6 +1,13 @@ // Query dictionary var query = { + + // + // Module + // + + module_menu_title: "Queries", + // LAST LINE: KEEP IT AT THE END lastline: "" // we need a line without a comma }; \ No newline at end of file diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js index cfc990986f1b868c86f4ddb5e62787081524681a..8ec1de3961edd61ed06969b70bd1102623f9df37 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js @@ -321,7 +321,9 @@ var common = { menu_compute: "Perform", COMPUTE_MENU_QUERIES: "Query", - COMPUTE_MENU_PROCESSING: "Processing", + COMPUTE_MENU_PROCESSING: "Processing", + + menu_modules: "Utilities", // // Tab Titles diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/PhosphoNetXModule.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/PhosphoNetXModule.java index b74192caceebdcfadc948bc804d2303bdba00de0..6c8f0c5c251952238d855b053a9524cdccbdce74 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/PhosphoNetXModule.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/PhosphoNetXModule.java @@ -16,57 +16,41 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application; +import java.util.Collections; import java.util.List; -import com.extjs.gxt.ui.client.widget.Component; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.Widget; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin.IModule; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNetXClientServiceAsync; /** - * - * * @author Franz-Josef Elmer */ public class PhosphoNetXModule implements IModule { private final IViewContext<IPhosphoNetXClientServiceAsync> viewContext; - + public PhosphoNetXModule(IViewContext<IPhosphoNetXClientServiceAsync> viewContext) { this.viewContext = viewContext; } - - public Widget getMenu() - { - return new QueryMenu(viewContext); - } - - public List<Component> getMenuItems() - { - // TODO Auto-generated method stub - return null; - } - public String getModuleDescription() + public List<? extends MenuItem> getMenuItems() { - // TODO Auto-generated method stub - return null; + return Collections.singletonList(new QueryMenu(viewContext)); } - public String getModuleName() + public String getName() { - // TODO Auto-generated method stub - return null; + return viewContext.getMessage(Dict.QUERY_MENU_TITLE); } public void initialize(AsyncCallback<Void> callback) { - // TODO Auto-generated method stub - + callback.onSuccess(null); } } diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java index 2d3ccbd44d623f10de82d942bf65b0354e88e7f5..c7f3df38b922ae6916cc916a497798067fba5bed 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/client/web/client/application/QueryMenu.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.application; import com.extjs.gxt.ui.client.widget.menu.Menu; +import com.extjs.gxt.ui.client.widget.menu.MenuItem; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; @@ -34,21 +35,21 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.web.client.IPhosphoNet /** * @author Franz-Josef Elmer */ -public class QueryMenu extends TopMenuItem +public class QueryMenu extends MenuItem { public static final String ID = GenericConstants.ID_PREFIX + "-phosphonetx-"; private static enum ActionMenuKind implements IActionMenuItem { -// ALL_PROTEINS_OF_AN_EXPERIMENT() -// { -// @Override -// IDisposableComponent createComponent( -// IViewContext<IPhosphoNetXClientServiceAsync> viewContext) -// { -// return ProteinByExperimentBrowserGrid.create(viewContext); -// } -// }, + // ALL_PROTEINS_OF_AN_EXPERIMENT() + // { + // @Override + // IDisposableComponent createComponent( + // IViewContext<IPhosphoNetXClientServiceAsync> viewContext) + // { + // return ProteinByExperimentBrowserGrid.create(viewContext); + // } + // }, ALL_RAW_DATA_SAMPLES() { @Override @@ -111,6 +112,6 @@ public class QueryMenu extends TopMenuItem { submenu.add(actionMenuKind.createActionMenu(viewContext)); } - setMenu(submenu); + setSubMenu(submenu); } }