public void TransientShowPreviewBubble(uint bubbleId, bool visible) { InfoBubble InfoBubble; PreviewBubble bubble = null; bubbleCollection.TryGetValue(bubbleId, out InfoBubble); if (InfoBubble != null) { bubble = (PreviewBubble)InfoBubble; } if (bubble == null) { return; } VisualNode node = GetVisualNode(bubble.OwnerId); if (visible) { bubble.Collapse(false); if (node.NodeStates.HasFlag(States.PreviewHidden)) { CurrentSynchronizer.BeginQueryNodeValue(node.NodeId); } } else { bubble.Collapse(node.NodeStates.HasFlag(States.PreviewHidden)); } }
private bool HandleTogglePreview(GraphCommand command) { uint bubbleId = (uint)command.GetArgument(0); if (bubbleId == uint.MaxValue) { return(ToggleAllPreviews()); } PreviewBubble previewBubble = bubbleCollection[bubbleId] as PreviewBubble; if (previewBubble == null) { return(false); } VisualNode node = GetVisualNode(previewBubble.OwnerId); if (node == null) { return(false); } List <IVisualNode> nodeList = new List <IVisualNode>(); nodeList.Add(node); undoRedoRecorder.BeginGroup(); undoRedoRecorder.RecordNodeModificationForUndo(nodeList); undoRedoRecorder.EndGroup(); if (node.NodeStates.HasFlag(States.PreviewHidden)) { node.ClearState(States.PreviewHidden); CurrentSynchronizer.BeginQueryNodeValue(node.NodeId); } else { node.SetNodeState(States.PreviewHidden); } previewBubble.Collapse(node.NodeStates.HasFlag(States.PreviewHidden)); return(true); }