I have a navigation plugin which I want to extend to allow support for context navigation. I've got everything I need except for the NavigationOptions instance. In my INavigateFromHereProvider
I get called with an IDataContext
so can create the NavigationOptions
from this using the NavigationOptions.FromDataContext
method. Great.
In my context action I don't get called with a IDataContext
, I get given a ICSharpContextActionDataProvider
during construction. I can get my IDeclaredElement
from this to base my navigation decision on, but I'm not sure how to create my NavigationOptions
instance. It feels like I should be using NavigationOptions.FromWindowContext
but I seems to need a PopupWindowContextSource
and I don't know where to get one of these from.
So where can I get a relevant PopupWindowContextSource
to create my NavigationOptions
from?
Ah, discovered the answer (well, an answer).
I can use this:
var popupWindowContextSource = solution.GetComponent<MainWindowPopupWindowContext>().Source;
I'm not sure if this is the most appropriate thing to use, but it seems to work.