public UIViewController GetViewControllerForPreview (IUIViewControllerPreviewing previewingContext, CoreGraphics.CGPoint location)
{
try {
if (docsView == null) return null;
var p = new Praeclarum.Graphics.PointF ((float)location.X, (float)location.Y);
var item = docsView.GetItemAtPoint (p);
if (item == null) return null;
var dref = item.Reference;
if (dref == null) return null;
var docIndex = Docs.FindIndex (x => x.File.Path == dref.File.Path);
if (docIndex < 0) return null;
var newEditor = DocumentAppDelegate.Shared.App.CreateDocumentEditor (docIndex, Docs);
if (newEditor == null) return null;
newEditor.IsPreviewing = true;
BindEditorAsync (newEditor).ContinueWith (t => {
if (t.IsFaulted) {
Log.Error(t.Exception);
}
});
return (UIViewController)newEditor;
} catch (Exception ex) {
Log.Error (ex);
return null;
}
}