-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Classifier information view should show subtype hierarchy #2436
Comments
Constructing the subtype hiearchy rooted at the selected classifier is harder than getting the ancestors: Need to search the workspace for all references to the classifier and then see if the reference is in an
Need to use the class |
At first I thought that this was going to affect the changes made for Issue #2435 (updating when the file is changed). But this is not true. I must always watch the ancestors of the selected classifier for changes to update the RHS of the view. Even when the supertypes are not being shown I still need to watch them. Not sure how important it is to live update the subtype hierarchy. The Java type hierarchy view does it. But I don't know now to do it efficiently. I'll have to experiment with this later. . . . So I should still branch this from 2435. |
I don't need to search the whole workspace. I only need to search the projects that recursively depend on the project in which the root classifier is located. I'm not sure if this really helps or not. |
It's probably a bad idea that the |
As usual I nearly forgot about feature groups. We also have
|
N.B. Need to refresh the descendants tree whenever a file in the project dependency tree changes. |
Fixed the AncestorTree and the MemberTree to not hold onto EObject nodes. |
Still need to update the resource change handling to work correctly with the descendant tree. I current have 3 panes: ancestor, descendant, member. Lutz said he would prefer to switch between the ancestor and descendant trees, so I ahve to fix that. |
Is there a way to allow the user to switch between a two and three column layout? |
@lwrage Yes, I don't see why we couldn't toggle between two and three columns, and then in the two column view have a toggle to switch between ancestors and descendants. |
Fixed the resource change listener to monitor for the descendants as well by triggering a refresh whenever a file in the project tree changes. |
Fixed the refresh to happen in a separate job launched in such a way that the view is marked as busy then later as changed. (Still need to fix the progress bar.) Need to get the view's "progress service":
Schedule using the service:
The Can mark as changed when done:
|
Added "Clear View" button to the view's toolbar so that large models can be removed from the view if they become annoying. |
Added Progress monitor to the AADLFinder methods so that I can better handle progress in the Classifier Info view. Still need to handle "cancel" of the job. |
Need to redo the "image" caching in the view because i'm probably leaking images. Come back to this. |
Need to add an option to suspend automatic refresh, and enable manual refresh to handle the case of big models. |
Need a status line in the view that shows which classifier is being displayed, and whether a refressh is needed. This is necessary because cancelling a refresh can cause the display to be cleared. |
Added menu option to the view to disable automatic refresh. When disabled, a refresh button on the toolbar will be enabled when a refresh is required. |
Switched back to a 2-paned view, with ancestor and descendant toggle buttons on the toolbar. It is too hard to have an option to switch between a 2- and 3-paned view. |
Discussed it with @lwrage and we decided the view does not need a context menu that allows refocusing the view on a the selected classifier. Adding this would lead down the rabbit hole of having to remember past classifiers on which the view was focused, and we don't want to do that. So last item remaining is to update the help text. |
Overlooked a lot in the resource listener needed to refresh.
|
Also see what happens when the project is closed. |
Just checking for the
|
So I made these changes, and found out something annoying/interesting. When a refresh is reacting to the removal of an Upon close inspection, what was happening was notification of the More testing shows that any interesting change to an So, I need to
|
Summary
The classifier view should also show component types and implementations that extend the classifier that is currently in focus.
Expected and Current Behavior
Currently the view only shows types and implementations that are extended by the classifier in focus, i.e., the supertype hierarchy. Subtypes should also be displayed.
Compare the Java type hierarchy view, which has type hierarchy, supertye hierarchy, and subtype hierarchy.
Environment
The text was updated successfully, but these errors were encountered: