public override void Update(PKBoxItem parent, PKBoxItem[] children) { var items = children.ToList(); items.ForEach(x => { x.X = parent.Padding; x.Width = parent.Width - parent.Padding * 2; }); int total = items .FindAll(x => x.Flex == 0) .Sum(x => x.Height); float rem = parent.Height - total - parent.Padding * 2; int flex = items.Sum(x => x.Flex); if (flex > 0) { items .FindAll(x => x.Flex > 0) .ForEach(x => { x.Height = (int)Math.Round((x.Flex * rem) / flex); }); } int soFar = parent.Padding; items.ForEach(x => { x.Y = soFar; soFar += x.Height; }); }
public void SelectItem(PKBoxItem item, bool multiSelect) { if (!multiSelect) { this.selectedItems.ForEach(x => x.IsSelected = false); this.selectedItems.Clear(); } if (item != null) { if (!this.selectedItems.Exists(x => x.ID == item.ID)) { this.selectedItems.Add(item); } item.IsSelected = true; } this.SelectedItem = item; if (this.SelectedChange != null && !multiSelect) { this.SelectedChange(item); if (item != null) { item.Activate(item); } } this.resizer.SetItem(item); this.infoBox.SetItem(this.selectedItems.FirstOrDefault()); this.Invalidate(); }
public override void Activate(PKBoxItem item) { if (item == Body) { TabBar.Activate(TabBar); } base.Activate(item); }
public override void Activate(PKBoxItem item) { this.items.ForEach(x => { x.IsSelected = false; }); ActiveItemIndex = (this.Parent as PKTabPanel).Body.ActiveItemIndex; }
private Type GetParentLayout(PKBoxItem item) { if (item.Parent != null && item.Parent.Layout != null) { return(item.Parent.Layout.GetType()); } return(null); }
private TreeNode CreateNode(PKBoxItem item) { return(new TreeNode { Text = string.Format("{0} ({1})", item.Name, item.TypeName), Tag = item }); }
private static List <PKFlatItem> ConvertToFlatItems(PKBoxItem item) { PKFlatElementCreateVisitor visitor = new PKFlatElementCreateVisitor(); item.Accept(visitor); visitor.FlatItems.Find(x => x.ID == item.ID).ParentID = null; return(visitor.FlatItems); }
private TreeNode AddNode(PKBoxItem item, int imageIndex) { var node = CreateNode(item); node.ImageIndex = imageIndex; node.SelectedImageIndex = imageIndex; nodes.Add(node); return(node); }
private void btnOpen_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { string strJSON = File.ReadAllText(openFileDialog1.FileName); PKBoxItem item = PKStorage.Deserialize(strJSON); pkExtDesigner.SetAppPage(item as PKControl); } }
private void VisitBase(PKBoxItem item) { item.ID = flatItem.ID; item.Name = flatItem.Name; item.Flex = flatItem.Flex; item.Height = flatItem.Height; item.Width = flatItem.Width; item.Padding = flatItem.Padding; item.Layout = (PKLayout)Activator.CreateInstance(Type.GetType(flatItem.LayoutName)); }
public override void Update(PKBoxItem parent, PKBoxItem[] children) { PKBoxItem x = children.ToList().FirstOrDefault(); if (x != null) { x.X = parent.Padding; x.Y = parent.Padding; x.Width = parent.Width - parent.Padding * 2; x.Height = parent.Height - parent.Padding * 2; } }
public override void Update(PKBoxItem parent, PKBoxItem[] children) { var items = children.ToList(); items.ForEach(x => { x.X = parent.Padding; x.Y = parent.Padding; x.Width = parent.Width - parent.Padding * 2; x.Height = parent.Height - parent.Padding * 2; }); }
public override void Activate(PKBoxItem item) { for (int i = 0; i < this.items.Count; i++) { if (items[i] == item) { ActiveItemIndex = i; break; } } base.Activate(item); }
public void SetItem(PKBoxItem item) { currentItem = item; canResize = false; hide = true; if (item != null) { hide = false; UpdateBox(); } }
public override void Update(PKBoxItem parent, PKBoxItem[] children) { int y = parent.Padding; children.ToList().ForEach(x => { x.X = parent.Padding; x.Y = y; x.Width = parent.Width - 2 * parent.Padding; //x.Height = 25; y += x.Height; }); }
private void UpdateFromBase(PKBoxItem item) { for (int i = 0; i < contextMenuStrip.Items.Count; i++) { var box = contextMenuStrip.Items[i].Tag as PKBoxItem; if (box != null) { PKItemCanAddVisitor visitor = new PKItemCanAddVisitor(box); item.Accept(visitor); contextMenuStrip.Items[i].Visible = visitor.CanAdd; } } }
private void UpdateFromBase(PKBoxItem item, PKFlatItem flatItem) { flatItem.ClassName = item.GetType().FullName; flatItem.ID = item.ID; flatItem.Name = item.Name; flatItem.ParentID = item.Parent != null ? item.Parent.ID : null; flatItem.Flex = item.Flex; flatItem.Height = item.Height; flatItem.Width = item.Width; flatItem.Padding = item.Padding; flatItem.LayoutName = item.Layout.GetType().FullName; }
private void PasteSelected() { try { string tempObject = Clipboard.GetText(); if (tempObject != null) { PKBoxItem obj = PKStorage.Deserialize(tempObject, true); pkExtDesigner.AddItem(obj); } } catch { } }
private bool SelectNode(TreeNodeCollection treeNodeCollection, PKBoxItem obj) { foreach (TreeNode node in treeNodeCollection) { if (node.Tag == obj) { node.Text = string.Format("{0} ({1})", obj.Name, obj.TypeName); treeView1.SelectedNode = node; return(true); } if (SelectNode(node.Nodes, obj)) { return(true); } } return(false); }
public void AddItem(PKBoxItem item) { if (this.SelectedItem != null) { var visitor = new PKItemAddVisitor(item); this.SelectedItem.Accept(visitor); if (visitor.Added) { this.appPage.DoLayout(); if (this.ItemAdded != null) { this.ItemAdded(item); } } } }
private static PKBoxItem ConvertToBoxItem(List <PKFlatItem> items, bool newId) { if (newId) { items.ForEach(x => { string oldId = x.ID; x.ID = PKSequenceGenerator.GetNextId(); x.Name = "cmp" + PKSequenceGenerator.GetNextGUIId(); items.FindAll(y => y.ParentID == oldId).ForEach(y => y.ParentID = x.ID); }); } items.ForEach(x => { PKBoxItem item = null; if (x.IsComponent) { string strCmp = File.ReadAllText(Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "Components"), x.ComponentFileName)); item = Deserialize(strCmp, true); } else { item = (PKBoxItem)Activator.CreateInstance(Type.GetType(x.ClassName)); } if (item != null) { PKElementCreateVisitor visitor = new PKElementCreateVisitor(x); item.Accept(visitor); x.BoxItem = item; } }); items.ForEach(x => { x.ParentItem = items.Find(y => y.ID == x.ParentID); if (x.ParentItem != null) { PKElementParentVistor visitor = new PKElementParentVistor(items, x.BoxItem); x.ParentItem.BoxItem.Accept(visitor); } }); return(items.Find(x => x.ParentID == null).BoxItem); }
public override void Update(PKBoxItem parent, PKBoxItem[] children) { var items = children.ToList(); items.ForEach(x => { x.Y = parent.Padding; x.Height = parent.Height - parent.Padding * 2; }); int total = items .FindAll(x => x.Flex == 0) .Sum(x => x.Width); float rem = parent.Width - total - parent.Padding * 2; int flex = items.Sum(x => x.Flex); double delta = 0, r = 0; if (flex > 0) { items .FindAll(x => x.Flex > 0) .ForEach(x => { delta += Math.Round(r) - r; r = (x.Flex * rem) / flex; x.Width = (int)Math.Round(r); }); } if (items.Count > 0) { items.LastOrDefault().Width -= (int)Math.Round(delta); } int soFar = parent.Padding; items.ForEach(x => { x.X = soFar; soFar += x.Width; }); }
private void pkExtDesigner1_SelectedChange(PKBoxItem obj) { SelectNode(treeView1.Nodes, obj); propertyGrid1.SelectedObject = obj; }
public override void Remove(PKBoxItem item) { this.cells.Remove(item as PKColumn); }
public static string Serialize(PKBoxItem item) { JavaScriptSerializer serializer = new JavaScriptSerializer(); return(serializer.Serialize(ConvertToFlatItems(item))); }
public PKItemAddVisitor(PKBoxItem newItem) { this.newItem = newItem; this.Added = false; }
/// <summary> /// /// </summary> /// <param name="item"></param> public override void Remove(PKBoxItem item) { this.Parent.Remove(this); }
private void UpdateSize(PKBoxItem item) { item.Width = width >= 0?width:item.Width; item.Height = height >= 0?height:item.Height; item.Flex = flex >= 0?flex:item.Flex; }
public void SetItem(PKBoxItem item) { this.currentItem = item; }
private void pkExtDesigner1_ItemAdded(PKBoxItem obj) { UpdateTree(); pkExtDesigner.SelectItem(obj, false); this.DesignChange(); }