[
https://issues.apache.org/jira/browse/UIMA-3374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Zhu updated UIMA-3374:
----------------------------
Attachment: UIMA-3374 patch 2015-05-15.txt
This is the final major patch that contains my enhancement of the annotation
viewer with a "feature" view mode. This patch should be applied to the
uimaj-tools project only.
In this patch, I included the following:
1. Reverted an earlier practice of instantiating private collection variables
only when needed. Instead, they are instantiated during declaration. This will
save us from doing null checks repeatedly afterwards.
2. Replaced annotation check box panel and entity check box panel with a tabbed
pane. In annotation view, only the first tab is used to hold check boxes
representing annotation types. In entity view, only the first tab is used to
hold check boxes representing entities. In feature view, the first tab is used
to hold radio buttons representing annotation types. The second tab is used to
hold radio buttons representing features of selected annotation type from the
first tab. The third tab is used to hold check boxes representing feature
values of selected feature in the second tab of selected annotation type in the
first tab.
3. resetTabbedPane() to reset these tabs and each tab's contents based on the
current view mode and user selections.
4. Improvement to createShowHideUnselectedButton() for the behavior of the
"show hidden unselected" button. In each view mode, we go through the check box
panel to see if there are unselected check boxes that would cause the UI to
refresh. If there are no such unselected check boxes, then we don't need to
refresh the UI.
5. Improvements to behavior of "select all" and "unselect all" buttons. Similar
to above, we going through all check boxes to see if "select all" will cause
any unchecked check boxes to be selected or if "unselect all" will cause any
checked check boxes to be unselected, before we actually refresh the UI. If
there are no such changes to the check boxes, then we don't need to refresh the
UI.
6. Added a key listener to the text pane to support CTRL-C for copy selected
text into clipboard.
7. Added a key listener to the tree model to support CTRL-C for copy selected
tree node text into clipboard.
8. Implemented display method to handle the feature view. It will populate the
first tab of the tabbed pane by going through every annotation objects, and add
a unique radio button to represent each annotation type. For the selected
annotation type, it will populate the second tab with radio buttons to
represent features of the selected annotation type. For the third tab, it will
add all encountered feature values of the selected feature from the second tab,
each feature value being represented by a check box in the third tab. Whenever
user selection changes, the three tabs will be reset and re-populated based on
the user selection.
9. Augmented the isMatch() method so when in features mode and user click on
the text panel, it will find all the annotations that fall under the mouse
click. Then it will check against the first tab for user selected annotation
type, second tab for user selected feature, and third tab for user selected
feature values. If all matched, then such annotations are considered as match
user's selection and will be render in the tree mode.
If you have any trouble following the code or have any questions, please let me
know.
Thanks.
> A new mode for annotation viewer based on feature values
> --------------------------------------------------------
>
> Key: UIMA-3374
> URL: https://issues.apache.org/jira/browse/UIMA-3374
> Project: UIMA
> Issue Type: Improvement
> Components: InternalTools
> Affects Versions: 2.5.0SDK
> Reporter: James Zhu
> Assignee: Marshall Schor
> Priority: Minor
> Labels: annotation, feature, filter, type, value, viewer
> Attachments: UIMA-3374 patch 2015-04-21.txt, UIMA-3374 patch
> 2015-04-23.txt, UIMA-3374 patch 2015-04-28.txt, UIMA-3374 patch
> 2015-05-08.txt, UIMA-3374 patch 2015-05-15.txt, screenshot-1.jpg,
> screenshot-2.jpg, screenshot-3.jpg, screenshot-4.jpg
>
> Original Estimate: 504h
> Remaining Estimate: 504h
>
> I'd like to propose adding a new "view mode" in the UIMA Annotation Viewer so
> that user can pick a specific type of annotations, and then pick a specific
> feature, and pick specific feature values available so user can see a subset
> of those annotation objects that have the specific feature values.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)