#717 closed (fixed)
Move some of the hit table buttons to an Extensions button
Reported by: | Gregory Vincic | Owned by: | olle |
---|---|---|---|
Milestone: | Proteios SE 2.14.0 | Keywords: | |
Cc: |
Description
The toolbar is far to long and wraps over two lines. Move some of the buttons into an Extension popup.
Change History (8)
comment:1 Changed 13 years ago by
Owner: | changed from Gregory Vincic to olle |
---|
comment:2 Changed 13 years ago by
Status: | new → assigned |
---|
comment:3 Changed 13 years ago by
Design discussion.
The hits report table is generated/managed by class ConfigureTableFactory2
,
and table tool bar buttons are either added directly by that class,
or implicitly by the button action class implementing an appropriate
context interface.
Currently the hits report table tool bar contains the following buttons:
Number | Button Name | Action Type | Addition Condition |
1 | Update | General | Added by class ConfigureTableFactory2
|
2 | Export to File | General | Added by class ConfigureTableFactory2
|
3 | Show Gels | Hits specific, gel view | Added by class ShowHitsOnGelScanImage which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
4 | Clear Hits Table | Hits specific, clearance | Added by class ClearHits which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
5 | Clear combinations | Hits specific, clearance | Added by class ClearCombinedHits which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
6 | Combined Hits Report | Hits specific, report creation | Added by class CombineHitsStep1 which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
7 | Protein Assembly | Hits specific, report creation | Added by class ProteinAssembly1 which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
8 | PRIDE XML Export | Hits specific, report creation | Added by class PrideExport which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
9 | Hits Comparison Report | Hits specific, report creation | Added by class HitsComparisonReportStep1 which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
10 | Exclusion/inclusion list | Hits specific, report creation | Added by class ExclusionList which implements ContextEnabled through class TableToolbarContext for tables of class Hit
|
Initial design update:
- Buttons 6-10 logically falls into a group of its own, as they all concern hits specific report creation. The corresponding actions will therefore be moved to be accessible from a new "Extensions" pop-up button instead.
- The design of the new "Extensions" pop-up button will be based on that of the corresponding buttons for the Directory and File tables in the form managed by class
ViewActiveDirectory
. These buttons are coupled to action classes implementing interfaceContextEnabled
through classesDirectoryContext
andFileContext
, respectively. - A new class
HitContext
will be created, based on classDirectoryContext
. - Action classes for current Hits table buttons 6-10, concerned with hits report creation, will be update to implement
ContextEnabled
through the new classHitContext
, instead ofTableToolbarContext
for tables of classHit
. The old code will be commented out, in case one decides to return to the original design in the future.
comment:4 Changed 13 years ago by
Design discussion.
Currently the hits report table can be accessed from the GUI in two ways:
- From menu item "Report->Hits" in the drop-down menu for the active project. The menu is managed by class
MainMenu
, which calls public methodNode createHitsReportN()
, which calls private methodNode newListNode(Class<?> wrapper, Class<?> data, String dictionaryKey)
, which in turn calls private methodNode listNode(Class<?> wrapper, Class<?> data, String dictionaryKey, Boolean inproject)
with argumentinproject
set tofalse
, which calls classConfigureTableFactory2
to create/manage the table, with parameterVFORWARDTO
set to classShowTable
. - From button "Hits Report" in the "Report Tools" tab on the overview form for the active project, managed by class
ViewProjectHome
. The button is coupled to an action link created by the latter calling public methodActionLink getListLink(Class<?> wrapper, Class<?> data, String dictionaryKey, Boolean inproject)
in classGUIFactory
, with argumentinproject
set totrue
, which calls classConfigureTableFactory2
to create/manage the table, with parameterVFORWARDTO
set to classShowTable
.
In both cases the hits table is created/managed by class ConfigureTableFactory2
,
with parameter VFORWARDTO
set to class ShowTable
. The latter class is much
simpler than ConfigureTableFactory2
, but still has access to the created table,
from which one can access the tool bar to add new buttons, if desired.
Design update:
- In order not to upset other tables managed by
ConfigureTableFactory2
andShowTable
, it was decided to make the hits report table created/managed byConfigureTableFactory2
, but with parameterVFORWARDTO
set to new classListHits
, which will be based onShowTable
, but will add a new "Extensions" button for classes implementing interfaceContextEnabled
through new classHitContext
.
comment:5 Changed 13 years ago by
Design update:
- As it is desirable for the order of hits extensions to be the same in the pop-up list as previously when available from tool bar buttons, class
HitContext
will have an attributeint order
, in analogy with classTableToolbarContext
, and classListHits
will sort the extensions in the same wayTableToolbarContext
classes are sorted in protected methodvoid runMe()
in classConfigureTableFactory2
.
comment:6 Changed 13 years ago by
(In [4016]) Refs #717. Refs #287. Refs #290. First version of extensions button for hits report table:
- New class/file HitContext?.java in client/servlet added.
It is based on class DirectoryContext
, but has an attribute
int order
, in analogy with class TableToolbarContext
.
- Class/file gui/MainMenu.java in client/servlet/ updated;
- New private method
Node listNode(Class<?> wrapper, Class<?> data, String dictionaryKey,
Boolean inproject, Class<?> forwardClass)
added.
- Private method
Node listNode(Class<?> wrapper, Class<?> data, String dictionaryKey,
Boolean inproject)
updated by callinig new method
Node listNode(Class<?> wrapper, Class<?> data, String dictionaryKey,
Boolean inproject, Class<?> forwardClass)
with argument forwardClass
set to ShowTable.class
, which
results in the same behavior as previously.
- Public method
Node createHitsReportN()
updated by creating
the node by calling new method
Node listNode(Class<?> wrapper, Class<?> data, String dictionaryKey,
Boolean inproject, Class<?> forwardClass)
with argument forwardClass
set to new class ListHits.class
.
- Class/file gui/GUIFactory.java in client/servlet/ updated:
- New public method
ActionLink getListLink(Class<?> wrapper, Class<?> data,
String dictionaryKey, Boolean inproject, Class<?> forwardClass)
added.
- Public method
ActionLink getListLink(Class<?> wrapper, Class<?> data,
String dictionaryKey, Boolean inproject)
updated by calling new method
ActionLink getListLink(Class<?> wrapper, Class<?> data,
String dictionaryKey, Boolean inproject, Class<?> forwardClass)
with argument forwardClass
set to ShowTable.class
, which
results in the same behavior as previously.
- Class/file action/project/ViewProjectHome.java in client/servlet/
updated:
- Public method
void runMe()
updated by creating
the hits resport link by calling new GUIFactory
method
ActionLink getListLink(Class<?> wrapper, Class<?> data,
String dictionaryKey, Boolean inproject, Class<?> forwardClass)
with argument forwardClass
set to new class ListHits.class
.
- New class/file action/hit/ListHits.java in client/servlet/
added. It is based on class ShowTable
, but adds a hits
extensions button to the toolbar. Extension classes are
sorted depending on the values of their HitContext
order
attribute before being added to the extensions list.
- Following classes/files in client/servlet/ were updated to
implement ContextEnabled
through the new class HitContext
,
instead of TableToolbarContext
for tables of class Hit
:
- action/hit/CombineHitsStep1.java
- action/hit/ProteinAssembly1.java
- action/hit/PrideExport.java
- action/hit/HitsComparisonReportStep1.java
- action/hit/ExclusionList.java
- English dictionary file locale/en/dictionary in client/servlet/
updated with new string keys.
- Default icon settings file "default" in icons/ in client/servlet/
updated with new icon assignments.
comment:7 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The ticket is closed, as the desired functionality has been added. Should problems with the current solution appear, this ticket may be reopened, or a new ticket created.
Ticket accepted.