public void TryPaste() { if (!string.IsNullOrEmpty(json)) { rMindBaseElement element = null;; var result = new List <rMindBaseElement>(); var list = JsonConvert.DeserializeObject <List <object> >(json); foreach (var item in list) { var s = item.ToString(); var baseObject = JsonConvert.DeserializeObject <rMindBaseElement>(s); var type = baseObject?.ElementType ?? rElementType.RET_NONE; switch (type) { case rElementType.RET_NONE: element = JsonConvert.DeserializeObject <rMindBaseElement>(s); element?.Translate(new Vector2(20, 20)); break; } if (element != null) { AddElement(element); } } } }
public void SetSelectedItem(rMindBaseElement item, bool multi = false) { if (item == null) { foreach (var it in m_selected_items) { it.SetSelected(false); } m_selected_items.Clear(); return; } if (!multi && !m_selected_items.Contains(item)) { foreach (var it in m_selected_items) { if (it == item) { continue; } it.SetSelected(false); } m_selected_items.Clear(); m_selected_items.Add(item); } if (!m_selected_items.Contains(item)) { item.SetSelected(true); m_selected_items.Add(item); } }
/// <summary> /// Add new element /// </summary> public virtual rMindBaseElement AddElement(rMindBaseElement item, bool silent = false) { m_items.Add(item); if (m_subscribed && !silent) { Draw(item); } return(item); }
public long GetIndexOfElement(rMindBaseElement element) { if (m_items.Contains(element)) { return(m_items.IndexOf(element)); } else { return(-1); } }
protected virtual void Draw(rMindBaseElement item) { if (m_subscribed && !m_canvas.Children.Contains(item.Template)) { m_canvas.Children.Add(item.Template); item.Template.UpdateLayout(); foreach (var node in item.Nodes) { node.Update(); } } }
public virtual Vector2 GetScreenCenter(rMindBaseElement item = null) { if (!m_subscribed) { return(new Vector2(0, 0)); } return(new Vector2( (m_scroll.HorizontalOffset + m_scroll.ActualWidth / 2 - (item == null ? 0 : item.Width / 2)) / m_scroll.ZoomFactor, (m_scroll.VerticalOffset + m_scroll.ActualHeight / 2 - (item == null ? 0 : item.Height / 2)) / m_scroll.ZoomFactor )); }
public void SetDragItem(rMindBaseElement item, PointerRoutedEventArgs e) { m_items_state.DragedItem = item; if (item == null) { return; } var p = e.GetCurrentPoint(m_canvas); m_items_state.StartPointerPosition = new Vector2(p.Position.X, p.Position.Y); m_items_state.StartPosition = item.Position; }
public void TranslateContainer(rMindBaseElement container, Vector2 translation) { if (SelectedItems.Contains(container)) { foreach (var selection in SelectedItems) { selection.Translate(translation); } return; } container.Translate(translation); }
public rMindBaseNode GetNodeByIndexPair(int itemIdx, int nodeIdx) { rMindBaseElement item = null; if (m_items.Count > itemIdx) { item = m_items[itemIdx]; if (item.Nodes.Count > nodeIdx) { return(item.Nodes[nodeIdx]); } } return(null); }
public virtual rMindBaseElement CreateElementByElementType(rElementType type, bool silent = false) { rMindBaseElement element = null; switch (type) { case rElementType.RET_NONE: element = new Content.rMindHeaderRowContainer(this); break; } AddElement(element, silent); return(element); }
/// <summary> /// Remove item from canvas /// </summary> public virtual void RemoveElement(rMindBaseElement item) { if (CheckIsOvered(item)) { m_overed_item = null; } if (m_items.Contains(item)) { if (m_selected_items.Contains(item)) { m_selected_items.Remove(item); } m_canvas.Children.Remove(item.Template); m_items.Remove(item); } }
public virtual rMindBaseElement CreateElementByElementType(rElementType type, object createParams, bool silent = false) { rMindBaseElement element = null; switch (type) { case rElementType.RET_NONE: element = new Content.rMindHeaderRowContainer(this); break; case rElementType.RET_DEVICE_OUTPUT: element = new Content.rMindDeviceOutput(this); break; } AddElement(element, silent); return(element); }
public void SetSelectedItem(rMindBaseElement item, bool multi = false) { if (item == null) { foreach (var selection in SelectedItems) { selection.SetSelected(false); } SelectedItems.Clear(); return; } if (multi) { if (!SelectedItems.Contains(item)) { item.SetSelected(true); SelectedItems.Add(item); } } else { if (!SelectedItems.Contains(item)) { foreach (var selection in SelectedItems) { selection.SetSelected(false); } SelectedItems.Clear(); item.SetSelected(true); SelectedItems.Add(item); } } /* * if (item == null) * { * foreach (var it in m_selected_items) * { * it.SetSelected(false); * } * m_selected_items.Clear(); * return; * } * if (!multi && !m_selected_items.Contains(item)) * { * foreach (var it in m_selected_items) * { * if (it == item) * continue; * it.SetSelected(false); * } * m_selected_items.Clear(); * m_selected_items.Add(item); * } * if (!m_selected_items.Contains(item)) * { * item.SetSelected(true); * m_selected_items.Add(item); * } */ }
public bool CheckIsDraged(rMindBaseElement item) { return(m_items_state.DragedItem == item); }
public bool CheckIsOvered(rMindBaseElement item) { return(m_overed_item == item); }
public void SetOveredItem(rMindBaseElement item) { m_overed_item = item; }