SynBioDex / SBOLDesigner

SBOL Designer Project
Apache License 2.0
30 stars 7 forks source link

Add Ability to Reuse Existing CombinatorialDerivations in a New Hierarchy #359

Closed nroehner closed 4 years ago

nroehner commented 5 years ago

Currently, the only way to add a CombinatorialDerivation as a variantDerivation of another CombinatorialDerivation's VariableComponent is to create this parent CombinatorialDerivation before its CombinatorialDerivation. This precludes a user from including an existing CombinatorialDerivation in new hierarchy without recreating it first.

To enable users to reuse existing CombinatorialDerivations, it would be helpful to have something like the following: when the "Add Variant" button is clicked in the VariantEditor, the RegistryInputDialog that is subsequently opened should allow the user to filter by CombinatorialDerivation instead of part type if they wish. If they select a CombinatorialDerivation, then it should be added as a variantDerivation to the VariableComponent being edited.

nroehner commented 5 years ago

A simpler-to-implement but arguably hackier and less intuitive enhancement (from a user's perspective) would be to add a button to the VariantEditor that when clicked triggers a call of the addAsNestedDerivation method, which I think would attempt to add the CombinatorialDerivation currently being edited to the CombinatorialDerivations associated with any parent template ComponentDefinitions found in the working document.

cjmyers commented 5 years ago

Extend registry input dialogue when adding variants to show CDs, Collections, and ComboDerv. Select a Collection, then this is added as a variantCollection. Select ComboDeriv, then it is added as a variantDerivation. Select a CD, it is added as a variant (current behavior).

Enumeration will need to also be extended to support variantCollections and variantDerivations more fully.

cjmyers commented 5 years ago

Should be able to see variantCollections and variantDerivations in the VariantEditor. Should be able to also remove these.

Need to be able to select a collection by clicking OK when called from the VariantEditor. If you select a Collection, then its URI should be added to variantCollections rather than variants.

Set object type to allow all things, then RegistryInputDialog will show CombinatorialDerivations from SBH registries. If you select a deriv, then URI should be added to variantDerivations.

Extend the RegistryInputDialog for Working Document to show all types, not just CDs.

Limit both of the last two, to only show Coll, CDs, and Deriv.

cjmyers commented 4 years ago

Fixed by PR #370