Ticket #356 (closed: fixed)
Redesign menu using a drop menus
| Reported by: | gregory | Owned by: | gregory |
|---|---|---|---|
| Milestone: | Proteios SE 2.4 | Keywords: | |
| Cc: |
Description
Using drop down menus would free horizontal space thus increasing readability of wide tables.
Change History
comment:1 Changed 4 years ago by gregory
- Milestone changed from Proteios Future Release to Proteios 2.4
comment:6 Changed 4 years ago by gregory
(In [2737]) Refs #356. Added menu items File -> New -> Sample & Gel. Also changed the default forward action when gel is saved to ViewActiveGel?.
comment:7 Changed 4 years ago by olle
Suggested changes to the drop down menu system related to project navigation are covered in Ticket #442 (Menu changes related to Project navigation).
comment:9 Changed 4 years ago by olle
(In [2750]) Refs #442. Refs #356. The name of the "Project" menu is changed to that of the active project, after one has been selected:
- Class/file gui/Node.java in client/servlet/ updated by addition
of new private boolean instance variable localizationUsed with public accessor methods. The default value of localizationUsed is true.
- Class/file gui/web/GUIConverter.java in client/servlet/ updated
in public method Tag convert(Node node) by only using localization for menu name if the value of boolean instance variable localizationUsed for the menu node is true.
- Class/file gui/MainMenu.java in client/servlet/ updated in
private method Node createProjectMenu() by setting name of "Project" menu to that of the active project, if one has been selected. In case the name of the menu is set to the name of the active project, the value of boolean instance variable localizationUsed for the menu node is set to false, in order to avoid trying to localize the name.
comment:10 Changed 4 years ago by olle
(In [2751]) Refs #442. Refs #356. Refs #287. The "File" menu is extended with a new "Select project" hierarchical menu at the top, where one can select/de-select an active project. The currently selected menu item is marked with a bullet icon:
- Class/file gui/Node.java in client/servlet/ updated by addition
of new private String instance variable iconPath with public accessor methods. The default value of iconPath is null.
- Class/file gui/web/GUIConverter.java in client/servlet/ updated
in public method Tag convert(Node node) by adding an icon image on the left side of a menu item if the value of String instance variable iconPath for the menu node is different from null. In this case the image corresponding to the iconPath value is used. As a special case, if the icon path corresponds to the "blankbutton.gif" 1x16 pixels spacer image, the image attributes will be set to 10x14 pixels, to be used as spacer for bullet image "checkedmenu.gif", which has the latter dimensions.
- Class/file gui/MainMenu.java in client/servlet/ updated:
- Private method Node createFileNode() by adding a project
selection hierarchical menu node at the top. The project selection menu node is created by new private convenience method createSelectProjectNode().
- New private convenience method Node createSelectProjectNode()
for creating the hierarchical project selection menu. The first menu item is reserved for the case when no active project is selected, and is coupled to an action link to action DeactivateProject?.class for de-selecting an active project. Menu items for projects are coupled to action links to new action SelectActiveProject?.class for making the selected project active. An initial icon image to the left of a menu item for marking what item is selected is obtained by calling new private convenience method String fetchSelectionIconPath(boolean selected).
- New private convenience method
String fetchSelectionIconPath(boolean selected) for obtaining the path to an icon image indicating if the current menu item is selected or not. A bullet icon is used to indicate that a menu item is selected.
- New class/file action/project/SelectActiveProject.java in
client/servlet/ that retrieves the value of valid parameter VInteger FormFactory?.VID and makes the project with this id value to the active project, and then forwards the action to ViewHome?.class.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:11 Changed 4 years ago by olle
(In [2752]) Refs #442. Refs #356. Cascading Style Sheets file for drop down menus www/static/css/menuh.css in client/servlet/ updated by increasing the width of menus from 9em to 11em, in order to allow longer menu text to fit inside the menu. Note that you normally have to clear the cache in the web browser for the new settings to apply.
comment:12 Changed 4 years ago by olle
(In [2753]) Refs #442. Refs #356. Code related to menu icons moved from classes/files gui/Node.java and gui/MainMenu.java in client/servlet/ to class/file gui/web/GUIConverter.java in client/servlet/:
- Class/file gui/Node.java in client/servlet/ updated by exchanging
private String instance variable iconPath with accessor methods for new private Boolean instance variable selected with accessor methods. The default value of selected is null.
- Class/file gui/web/GUIConverter.java in client/servlet/ updated
in public method Tag convert(Node node) by adding an icon image on the left side of a menu item if the value of Boolean instance variable selected for the menu node is different from null. In this case the image returned by new convenience method String fetchSelectionIconPath(boolean selected) is used. As a special case, if the icon path corresponds to the "blankbutton.gif" 1x16 pixels spacer image, the image attributes will be set to 10x14 pixels, to be used as spacer for bullet image "checkedmenu.gif", which has the latter dimensions.
- Class/file gui/MainMenu.java in client/servlet/ updated:
- Private convenience method Node createSelectProjectNode()
for creating the hierarchical project selection menu updated by setting the Node selected flag instead of an icon path.
- Private convenience method
String fetchSelectionIconPath(boolean selected) for obtaining the path to an icon image is removed, as it is no longer used (a modified version has been added to class/file gui/web/GUIConverter.java in client/servlet/ instead).
comment:13 Changed 4 years ago by olle
(In [2754]) Refs #442. Refs #356. Menu icons are now chosen depending on the value of Boolean instance variable selected for the ActionLink? connected to a menu node, if any. If no action link exists, or the selected flag equals null, no icon will be added. If the value equals true a marker icon will be added, while if the value equals false a spacer icon will be added. Since the default value of selected for an ActionLink? is false, the value has to be explicitly set to null to avoid a spacer icon being added.
- Class/file gui/Node.java in client/servlet/ updated by removing
private Boolean instance variable selected with accessor methods.
- Class/file gui/web/GUIConverter.java in client/servlet/ updated
in public method Tag convert(Node node) by adding an icon image on the left side of a menu item if the value of Boolean instance variable selected for the action link connected to the menu node is different from null.
- Class/file gui/MainMenu.java in client/servlet/ updated:
- Private convenience method Node createSelectProjectNode()
for creating the hierarchical project selection menu updated by setting the selected flag for the ActionLink? connected to a menu node, instead of a selected flag for the node itself.
- Other node-creating methods updated to set the selected
flag of the ActionLink? connected to the node to null.
comment:14 Changed 4 years ago by olle
comment:15 Changed 4 years ago by gregory
comment:16 Changed 4 years ago by gregory
comment:17 Changed 4 years ago by olle
comment:18 Changed 3 years ago by gregory
- Status changed from assigned to closed
- Resolution set to fixed
It's there and it's working.
comment:19 Changed 3 years ago by olle
(In [2917]) Refs #471. Refs #356. Refs #287. First revision of OMSSA search in Proteios via locally installed search engine.
- Class/file gui/table/TableFactory.java in client/servlet/
updated in public method void useColumnsFromClass() by obtaining parameter file for OMSSAParameterSetStorage item.
- Class/file gui/form/FormFactory.java in client/servlet/
updated with new methods related to forms for OMSSA search:
- Public method Form getNewOMSSAParameterSetStorageForm
(OMSSAParameterSetStorage omssaParameterSetStorage).
- Public method Form getSaveAsOMSSAParameterSetStorageForm
(OMSSAParameterSetStorage omssaParameterSetStorage, OMSSAParameterSet omssaParameterSet).
- Public method Fieldset addOMSSAParameterSetToFieldset
(OMSSAParameterSet omssaParameterSet, Fieldset fs, boolean fieldsHidden, boolean fieldsDisabled).
- Public method Fieldset addVStringParameterToFieldset
(VString vStringParameter, String value, Fieldset fs, boolean fieldsHidden, boolean fieldsDisabled).
- public Form getOMSSAParameterSetForm
(OMSSAParameterSet omssaParameterSet, List<Option> enzymeOptionList, List<Option> sequenceLibraryOptionList, List<Option> speciesOptionList, List<Option> fixedModsOptionList, List<Option> variableModsOptionList).
- Class/file gui/MainMenu.java in client/servlet/ updated by
adding node for viewing search setup items under the View menu. The current X!Tandem menu item is moved here, and the new OMSSA menu item is also placed here.
- New core extension class/file
action/file/UseSpectrumFileForOMSSASearchExtension.java in client/servlet/ added, for creating OMSSA search jobs for selected spectrum files.
- New action classes/files added to action/omssa/ in
client/servlet/ for creating, viewing, and editing OMSSA parameter sets and starting OMSSA search jobs from them:
- AddOMSSAParameterSetStorage.java.
- ListOMSSAParameterSetStorage.java.
- NewOMSSAParameterSetStorage.java.
- SaveOMSSAParameterSetStorage.java.
- SearchOMSSA.java.
- SelectOMSSAParameterFileStep1a.java.
- SelectOMSSAParameterFileStep1b.java.
- ViewActiveOMSSAParameterFile.java.
- ViewActiveOMSSAParameterSetStorage.java.
- ViewOMSSAParameterFile.java.
- ViewOMSSAParameterSetStorage.java.
- New plugin class/file plugins/SearchOMSSAPlugin.java in
plugin/ for executing an OMSSA search via a locally installed search engine and trying to upload the output XML file into Proteios.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:20 Changed 3 years ago by olle
(In [3088]) Refs #512. Refs #356. Refs #287. Active project menu updated to have shorter cascade menus for Hits items:
- Class/file gui/MainMenu.java in client/servlet/ updated to
replace the current "Hits" cascade menu in the active project menu by the sub-menus to the former.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:21 Changed 3 years ago by olle
(In [3297]) Refs #534. Refs #356. Refs #287. First revision of Mascot search in Proteios via locally installed search engine.
- Class/file gui/table/TableFactory.java in client/servlet/
updated in public method void useColumnsFromClass() by obtaining name and seacrh type of parameter file for MascotParameterSetStorage item.
- Class/file gui/form/FormFactory.java in client/servlet/
updated with new methods related to forms for Mascot search:
- Public method `Form getNewMascotParameterSetStorageForm(
MascotParameterSetStorage? mascotParameterSetStorage)`.
- Public method `Form getSaveAsMascotParameterSetStorageForm(
MascotParameterSetStorage? mascotParameterSetStorage, MascotParameterSet? mascotParameterSet)`.
- Public method `Fieldset addMascotParameterSetToFieldset(
MascotParameterSet? mascotParameterSet, Fieldset fs, boolean fieldsHidden, boolean fieldsDisabled)`.
- Public method Form getMascotSearchUserDataInputForm(User user).
- Public method `Form getMascotParameterSetForm(
MascotParameterSet? mascotParameterSet, List<Option> enzymeOptionList, List<Option> missedCleavagesOptionList, List<Option> sequenceLibraryOptionList, List<Option> speciesOptionList, List<Option> fixedModsOptionList, List<Option> variableModsOptionList, List<Option> quantitationOptionList, List<Option> peptideTolUnitOptionList, List<Option> peptideIsotopeErrorOptionList, List<Option> msMsTolUnitOptionList, List<Option> peptideChargeOptionList, List<Option> dataFormatOptionList, List<Option> instrumentOptionList, List<Option> reportTopOptionList)`.
- Class/file gui/MainMenu.java in client/servlet/ updated by
adding new Mascot menu item to the search setup node under the View menu.
- New core extension class/file
action/file/UseSpectrumFileForMascotSearchExtension.java in client/servlet/ added, for creating Mascot search jobs for selected spectrum files.
- New action classes/files added to action/mascot/ in
client/servlet/ for creating, viewing, and editing Mascot parameter sets and starting Mascot search jobs from them:
- AddMascotParameterSetStorage?.java.
- ListMascotParameterSetStorage?.java.
- NewMascotParameterSetStorage?.java.
- SaveMascotParameterSetStorage?.java.
- SearchMascot?.java.
- SelectMascotParameterFileStep1a.java.
- SelectMascotParameterFileStep1b.java.
- SelectMascotParameterSetStorage?.java.
- ViewActiveMascotParameterFile?.java.
- ViewActiveMascotParameterSetStorage?.java.
- ViewMascotParameterFile?.java.
- ViewMascotParameterSetStorage?.java.
- New plugin class/file plugins/SearchMascotPlugin.java in
plugin/ for executing a Mascot search via web interface and trying to upload the output XML file into Proteios.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:22 Changed 3 years ago by olle
(In [3381]) Refs #596. Refs #356. Refs #287. First version of administrator view of logged-in users:
- Class/file core/Application.java in api/core/ updated:
- New private static map Map<Integer, Date> userLoginTimeMap
added, for storing user id and login time for logged-in users.
- Static synchronized method void start(boolean installation)
updated with initializing new private static map Map<Integer, Date> userLoginTimeMap.
- New protected static method void addUserLoginTime(int userId)
added. It adds a user id to user login time map, if the user id is not already in map.
- New protected static method void removeUserLoginTime(int userId)
added. It removes a user id from user login time map, if the user id is in the map.
- New public static method List<Integer> fetchLoggedInUserIdList()
added. It fetches a copy of the list of logged-in user id values.
- New public static method Date fetchUserLoginTime(int userId)
added. It fetches user login time, or null if user not logged in.
- New public static method
Long fetchUserTimeSinceLastAccessInMilliSeconds(int userId) added. It fetches the time since last access for the user in milliseconds. Returns null if the user is not logged in.
- Class/file core/Sessioncontrol.java in api/core/ updated:
- Public synchronized method
void login(String login, String password, String comment, boolean encryptedPassword) updated by calling new protected static method void addUserLoginTime(int userId) in class Application to set login time for user.
- Public synchronized method void logout() updated by calling
new protected static method void removeUserLoginTime(int userId) in class Application to remove login time entry for user.
- New public method boolean isLoggedInAdminInfo() added.
It checks if a user is logged in or not. Intended for administrative info only, therefore does not update last access time.
- New public method int getLoggedInUserIdAdminInfo() added.
It gets the id of the logged in user, or 0 if no user is logged in. Intended for administrative info only, therefore does not update last access time.
- Class/file gui/MainMenu.java in client/servlet/ updated:
- Private method Node createViewNode() updated with new menu
node for listing logged-in users. It is only enabled for administrators.
- English dictionary file locale/en/dictionary in client/servlet/
updated with new entries for various string keys.
comment:23 Changed 11 months ago by olle
comment:24 Changed 11 months ago by olle
(In [4174]) Refs #748. Refs #356. First version of support for some extensions to be disabled via their configuration file:
- New public interface/file io/ExtensionDisableInterface.java in api/core/ added. It requires a public method boolean fetchExtensionDisabledFlag() to be defined by the classes implementing it.
- Class/file action/directory/ViewActiveDirectory.java in client/servlet/ updated:
a. Protected method void runMe() updated to create name cell for extension table by calling new private method Cell<String> createNameCellForExtensionTable(FileContext context, Table fileTable).
b. New private method Cell<String> createNameCellForExtensionTable(FileContext context, Table fileTable) added. It creates a name cell for the extensions table. A check is made if the context action class implements interface ExtensionDisableInterface, in which case a check is made if he functionality is disabled. If the extension for the context is not disabled, a cross link to the context action link and the file table is set as action link for the cell, otherwise the cell is marked as disabled.
- Class/file gui/MainMenu.java in client/servlet/ updated:
a. Private method Node newNode(Class<? extends ProteiosAction<?>> action, String label) updated to check if the action class implements interface ExtensionDisableInterface, in which case a check is made if he functionality is disabled. If the functionality is disabled, the action link for the menu item is also disabled.
comment:25 Changed 11 months ago by olle
(In [4175]) Refs #749. Refs #668. Refs #744. Refs #356. Refs #287. First version of support for starting feature detection from the menu:
- Class/file gui/MainMenu.java in client/servlet/ updated:
a. Private method Node createProjectMenu() updated by adding cascade menu for performing feature detection.
- New class/file action/file/PerformMsInspectSearch.java in client/servlet/ added. It displays the file selection form and then forwards the action to class UseSpectrumFileForMsInspectSearchExtension.
- New class/file action/file/PerformOpenMsSearch.java in client/servlet/ added. It displays the file selection form and then forwards the action to class UseSpectrumFileForOpenMsSearchExtension.
- English dictionary file locale/en/dictionary in client/servlet/ updated with new entries for various string keys.
