public virtual void Insert(Point cursorPosition) { DetachEditor(true); Exclusive = Resolved = true; Current = Registry.Pooled <IVisualFactory> ().CreateItem("XXXXXXXX"); var scene = Scene; var root = scene.Focused; if (root == null) { var pt = Camera.ToSource(cursorPosition) - Layout.Distance; SceneExtensions.AddItem(scene, Current, Layout, pt); } else { SceneExtensions.PlaceVisual(scene, root, Current, Layout); } Display.Perform(); TextToData(Current, string.Empty); AttachEditor(); }
public void CreateNewNote(string title) { var currentDiplay = CurrentDisplay; if (currentDiplay == null) { return; } var scene = currentDiplay.Data; if (scene == null) { return; } var content = new Content <Stream> (new MemoryStream(), CompressionType.bZip2); content.Description = title; if (Registry.Factory.Contains <IMarkdownEdit>()) { content.ContentType = ContentTypes.Markdown; var writer = new StreamWriter(content.Data); writer.Write(title); writer.Flush(); content.Data.Position = 0; } else { content.ContentType = ContentTypes.RTF; var writer = new StreamWriter(content.Data); writer.Write("{\\rtf1\\ansi\\deff0"); writer.Write("{\\info{\\doccomm limada.note}}"); writer.Write($"{{\\fonttbl{{\\f0\\froman {Xwt.Drawing.Font.SystemSerifFont.Family}}}}}"); writer.Write("\\pard\\plain "); writer.Write(title); writer.Write("}"); writer.Flush(); content.Data.Position = 0; } var visual = scene.VisualOfContent(content); var root = scene.Focused; var layout = currentDiplay.Layout; if (root == null) { var pt = new Point(layout.Border.Width, scene.Shape.BoundsRect.Bottom); SceneExtensions.AddItem(scene, visual, layout, pt); } else { SceneExtensions.PlaceVisual(scene, root, visual, layout); } scene.Selected.Clear(); scene.Focused = visual; currentDiplay.Perform(); currentDiplay.OnSceneFocusChanged(); var md = ContentVidget as IMarkdownEdit; if (md != null) { md.InEdit = true; } }
public override void Dropped(DragEventArgs e) { var pt = Camera.ToSource(e.Position); var scene = this.Scene; var target = scene.Hovered ?? HitTestFocused(e.Position); IVisual item = null; if (Dragging && Dropping) { // the current Drop has started in this instance // so we make a link if (target != null && Source != target) { SceneExtensions.CreateEdge(scene, Source, target); } e.Success = true; return; } if (InprocDragDrop.Dragging) { var source = InprocDragDrop.Data as GraphCursor <IVisual, IVisualEdge>; if (source != null && source.Cursor != target) { item = Mesh.LookUp(source.Graph, scene.Graph, source.Cursor); if (item == null) { //TODO: error here //return; } } } if (item == null) { item = DragDropViz.VisualOfTransferData(scene.Graph, e.Data); if (item != null) { item.Location = pt; } } if (item != null) { SceneExtensions.AddItem(scene, item, Layout, pt); if (target != null && !scene.Graph.Edges(target).Any(edge => edge.Leaf == item || edge.Root == item)) { SceneExtensions.CreateEdge(scene, target, item); } } else { // no known type found to import string dt = "not found:\t"; } InprocDragDrop.Data = null; InprocDragDrop.Dragging = false; Dragging = false; }