public void ExtractSticky([Values] TestingMode mode) { IStickyNoteModel sticky = GraphModel.CreateStickyNote(new Rect()) as StickyNoteModel; Undo.IncrementCurrentGroup(); TestPrereqActionPostreq(mode, () => { Refresh(); Assert.That(GraphModel.NodeModels.OfType <MacroRefNodeModel>().Count(), Is.Zero); Assert.That(GraphModel.StickyNoteModels.Count(), Is.EqualTo(1)); return(new RefactorExtractMacroAction(new List <IGraphElementModel> { sticky }, Vector2.zero, null)); }, () => { Refresh(); var macroRef = GraphModel.NodeModels.OfType <MacroRefNodeModel>().Single(); Assert.That(macroRef, Is.Not.Null); Assert.That(macroRef.GraphAssetModel.GraphModel.Stencil, Is.TypeOf <MacroStencil>()); Assert.That(((VSGraphModel)macroRef.GraphAssetModel.GraphModel).StickyNoteModels.Count(), Is.EqualTo(1)); Assert.That(((MacroStencil)macroRef.GraphAssetModel.GraphModel.Stencil).ParentType, Is.EqualTo(GraphModel.Stencil.GetType())); // Assert Sticky has been removed from GraphModel Assert.That(GraphModel.StickyNoteModels.Count(), Is.EqualTo(0)); }); void Refresh() { RefreshReference(ref sticky); } }
// ReSharper disable once UnusedParameter.Local public StickyNote(Store store, IStickyNoteModel model, Rect position, GraphView graphView) : base(position.position) { m_Store = store; stickyNoteModel = model; theme = ConvertTheme(model.Theme); UpdateThemeClasses(); fontSize = (StickyNoteFontSize)model.TextSize; title = model.Title; contents = model.Contents; base.SetPosition(position); RegisterCallback <StickyNoteChangeEvent>(OnChange); }
IEnumerator CreateElements(Vector2 firstNodePos, Vector2 secondNodePos, Vector2 placematPos, Vector2 stickyNotePos, bool smallerSize) { FirstNodeModel = CreateNode("Node1", firstNodePos); SecondNodeModel = CreateNode("Node2", secondNodePos); PlacematModel = CreatePlacemat(new Rect(placematPos, new Vector2(200, smallerSize ? 100 : 200)), "Placemat"); StickyNoteModel = CreateSticky("Sticky", "", new Rect(stickyNotePos, smallerSize ? new Vector2(100, 100) : new Vector2(200, 200))); MarkGraphViewStateDirty(); yield return(null); // Get the UI elements m_FirstNode = FirstNodeModel.GetUI <Node>(graphView); m_SecondNode = SecondNodeModel.GetUI <Node>(graphView); m_Placemat = PlacematModel.GetUI <Placemat>(graphView); m_StickyNote = StickyNoteModel.GetUI <StickyNote>(graphView); Assert.IsNotNull(m_FirstNode); Assert.IsNotNull(m_SecondNode); Assert.IsNotNull(m_Placemat); Assert.IsNotNull(m_StickyNote); }
public StickyNote(Store store, IStickyNoteModel model, Rect position, GraphView graphView) { m_Store = store; stickyNoteModel = model; m_GraphView = graphView; VisualTreeAsset template = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(UICreationHelper.templatePath + "StickyNote.uxml"); template.CloneTree(this); styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>(UICreationHelper.templatePath + "Selectable.uss")); styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>(UICreationHelper.templatePath + "StickyNote.uss")); capabilities = Capabilities.Movable | Capabilities.Deletable | Capabilities.Ascendable | Capabilities.Selectable | Capabilities.Renamable; m_Title = this.MandatoryQ <Label>(name: "title"); m_Title.text = title; m_Title.pickingMode = PickingMode.Ignore; m_TitleField = this.MandatoryQ <TextField>("title-field"); m_TitleField.style.visibility = Visibility.Hidden; m_TitleField.isDelayed = true; m_Contents = this.MandatoryQ <Label>("contents"); m_Contents.text = Contents; m_Contents.pickingMode = PickingMode.Ignore; m_ContentsField = this.MandatoryQ <TextField>(name: "contents-field"); m_ContentsField.style.visibility = Visibility.Hidden; m_ContentsField.multiline = true; m_ContentsField.isDelayed = true; this.AddManipulator(new ContextualMenuManipulator(OnContextualMenuEvent)); SetPosition(position); AddToClassList("sticky-note"); AddToClassList("selectable"); UpdateThemeClasses(); UpdateSizeClasses(); }
public void Test_ResizeStickyNoteCommand([Values] TestingMode mode) { GraphModel.CreateStickyNote(k_StickyNoteRect); TestPrereqCommandPostreq(mode, () => { IStickyNoteModel stickyNote = GetStickyNote(0); Assert.That(GetNodeCount(), Is.EqualTo(0)); Assert.That(GetEdgeCount(), Is.EqualTo(0)); Assert.That(GetStickyNoteCount(), Is.EqualTo(1)); Assert.That(stickyNote.PositionAndSize, Is.EqualTo(k_StickyNoteRect)); return(new ChangeElementLayoutCommand(stickyNote, k_StickyNote2Rect)); }, () => { Assert.That(GetNodeCount(), Is.EqualTo(0)); Assert.That(GetEdgeCount(), Is.EqualTo(0)); Assert.That(GetStickyNoteCount(), Is.EqualTo(1)); Assert.That(GetStickyNote(0).PositionAndSize, Is.EqualTo(k_StickyNote2Rect)); }); }
public static IModelUI CreateForStickyNote(this ElementBuilder elementBuilder, CommandDispatcher commandDispatcher, IStickyNoteModel model) { return(null); }
public static IModelUI CreateForStickyNote(this ElementBuilder elementBuilder, CommandDispatcher commandDispatcher, IStickyNoteModel model) { return(GraphViewFactoryExtensions.CreateStickyNote(elementBuilder, commandDispatcher, model)); }
public UpdateStickyNoteAction(IStickyNoteModel stickyNoteModel, string title, string contents) { StickyNoteModel = stickyNoteModel; Title = title; Contents = contents; }
public ResizeStickyNoteAction(IStickyNoteModel stickyNoteModel, Rect position) { StickyNoteModel = stickyNoteModel; Position = position; }
public static IReadOnlyCollection <IGraphElementModel> DeleteStickyNote(this IGraphModel self, IStickyNoteModel stickyNoteToDelete) { return(self.DeleteStickyNotes(new[] { stickyNoteToDelete })); }
public static IModelUI CreateStickyNote(this ElementBuilder elementBuilder, CommandDispatcher commandDispatcher, IStickyNoteModel model) { var ui = new StickyNote(); ui.SetupBuildAndUpdate(model, commandDispatcher, elementBuilder.View, elementBuilder.Context); return(ui); }
/// <summary> /// Initializes a new instance of the <see cref="UpdateStickyNoteCommand"/> class. /// </summary> /// <param name="stickyNoteModel">The sticky note model to update.</param> /// <param name="title">The new title, or null if the title should not be updated.</param> /// <param name="contents">The new content, or null if the content should not be updated.</param> public UpdateStickyNoteCommand(IStickyNoteModel stickyNoteModel, string title, string contents) : this() { StickyNoteModel = stickyNoteModel; Title = title; Contents = contents; }