/// <summary> /// Remove a sculpture /// </summary> /// <param name="s">sculpture</param> public void Remove(SculptureObject s) { Accessor a = new Accessor(Project.SculpturesName, s.Unique); this.Hierarchy.Find(Project.SculpturesName).Remove(a); this.SculptureObjects.Remove(s); }
/// <summary> /// Add an instance /// given a specific path to organize project's element /// </summary> /// <param name="s">instance</param> /// <param name="path">path</param> public void Add(SculptureObject s, string path) { this.SculptureObjects.Add(s); string u = this.Unique.ComputeNewString(); s.Unique = u; Accessor a = new Accessor(Project.SculpturesName, u); this.Hierarchy.Find(Project.SculpturesName).Find(path.Split('/')).AddLeaf(a); }
/// <summary> /// Import selected sculptures from an existing project /// </summary> /// <param name="src">project source</param> /// <param name="dest">project destination</param> private static void ImportSculptures(Project src, Project dest) { Tree <string, Accessor> t = new Tree <string, Accessor>(src.Hierarchy.Find(Project.SculpturesName)); BindingList <KeyValuePair <IEnumerable <string>, Accessor> > b = new BindingList <KeyValuePair <IEnumerable <string>, Accessor> >(); Node <string, Accessor> destNode = dest.Hierarchy.Find(Project.SculpturesName); t.EnumerateSelected(b); foreach (KeyValuePair <IEnumerable <string>, Accessor> kv in b) { SculptureObject srcSculpture = kv.Value.GetObject(src); dest.Add(srcSculpture, String.Join("/", kv.Key.Skip(1).ToArray())); } }
/// <summary> /// Copy constructor /// </summary> /// <param name="obj">object source to copy</param> private SculptureObject(SculptureObject obj) { this.Title = ExtensionMethods.CloneThis(obj.Title); foreach (CadreModel cm in obj.Cadres) { this.Cadres.Add(cm.Clone() as CadreModel); } foreach (GeneratedSculpture gs in obj.Generated) { this.Generated.Add(gs.Clone() as GeneratedSculpture); } foreach (DistanceCadreModel d in obj.Distances) { this.Distances.Add(d.Clone() as DistanceCadreModel); } }
private void treeView1_DoubleClick(object sender, EventArgs e) { TreeNode currentSelection = this.treeView1.GetNodeAt(this.treeView1.PointToClient(MousePosition)); if (currentSelection != null) { this.treeView1.SelectedNode = currentSelection; } if (this.treeView1.SelectedNode != null) { if (this.treeView1.SelectedNode.Tag != null) { // sauvegarde selected node this.prv_currentNodeContext = this.treeView1.SelectedNode; if (this.treeView1.SelectedNode.Tag is Library.MasterPage) { Library.MasterPage mp = this.treeView1.SelectedNode.Tag as Library.MasterPage; MasterPageView window = new MasterPageView(mp.Name); window.Text = String.Format(Translate("MasterPageTitle"), mp.Name); window.FormClosed += window_FormClosed; window.MdiParent = this; window.MasterPage = mp; window.WindowState = FormWindowState.Normal; window.StartPosition = FormStartPosition.Manual; window.Top = 0; window.Left = 0; window.Show(); } else if (this.treeView1.SelectedNode.Tag is Library.MasterObject) { Library.MasterObject mo = this.treeView1.SelectedNode.Tag as Library.MasterObject; MasterObjectView window = new MasterObjectView(mo.Title); window.Text = String.Format(Translate("MasterObjectTitle"), mo.Title); window.FormClosed += window_FormClosed; window.MdiParent = this; window.MasterObject = mo; window.WindowState = FormWindowState.Normal; window.StartPosition = FormStartPosition.Manual; window.Top = 0; window.Left = 0; window.Show(); } else if (this.treeView1.SelectedNode.Tag is Library.SculptureObject) { Library.SculptureObject so = this.treeView1.SelectedNode.Tag as Library.SculptureObject; SculptureView window = new SculptureView(); window.Text = String.Format(Translate("SculptureTitle"), so.Title); window.FormClosed += window_FormClosed; window.MdiParent = this; window.SculptureObject = so; if (window.SculptureObject.Cadres.Count == 0) { window.SculptureObject.Cadres.Add(new CadreModel()); } window.CurrentCadreModel.CurrentObject = window.SculptureObject.Cadres[0]; window.WindowState = FormWindowState.Normal; window.StartPosition = FormStartPosition.Manual; window.Top = 0; window.Left = 0; window.Show(); } else if (this.treeView1.SelectedNode.Tag is Library.HTMLTool) { Library.HTMLTool t = this.treeView1.SelectedNode.Tag as Library.HTMLTool; ToolView view = new ToolView(t.Title); view.Text = String.Format(Translate("ToolTitle"), t.Title); view.FormClosed += window_FormClosed; view.MdiParent = this; view.HTMLTool = t; view.WindowState = FormWindowState.Normal; view.StartPosition = FormStartPosition.Manual; view.Top = 0; view.Left = 0; view.Show(); } else if (this.treeView1.SelectedNode.Tag is Library.HTMLObject) { HTMLObject obj = this.treeView1.SelectedNode.Tag as Library.HTMLObject; if (!String.IsNullOrEmpty(obj.MasterObjectName)) { ObjectView view = new ObjectView(obj.Title); view.Text = String.Format(Translate("ObjectTitle"), obj.Title); view.FormClosed += window_FormClosed; view.MdiParent = this; view.HTMLObject = obj; view.WindowState = FormWindowState.Normal; view.StartPosition = FormStartPosition.Manual; view.Top = 0; view.Left = 0; view.Show(); } else { SimpleObjectView view = new SimpleObjectView(obj.Title); view.Text = String.Format(Translate("ObjectTitle"), obj.Title); view.FormClosed += window_FormClosed; view.MdiParent = this; view.HTMLObject = obj; view.WindowState = FormWindowState.Normal; view.StartPosition = FormStartPosition.Manual; view.Top = 0; view.Left = 0; view.Show(); } } else if (this.treeView1.SelectedNode.Tag is Library.Page) { Page p = this.treeView1.SelectedNode.Tag as Library.Page; PageView view = new PageView(p.Name); view.Text = String.Format(Translate("PageTitle"), p.Name); view.FormClosed += window_FormClosed; view.MdiParent = this; view.Page = p; view.WindowState = FormWindowState.Normal; view.StartPosition = FormStartPosition.Manual; view.Top = 0; view.Left = 0; view.Show(); } else if (this.treeView1.SelectedNode.Tag is Library.Configuration) { ConfigView cv = new ConfigView(); cv.FormClosed += window_FormClosed; cv.Datas = (this.treeView1.SelectedNode.Tag as Library.Configuration).Elements; cv.ShowDialog(); } else if (this.treeView1.SelectedNode.Tag is List <string> ) { if (this.treeView1.SelectedNode.Name == "JavaScriptUrls") { JavaScriptUrls ju = new JavaScriptUrls(); ju.FormClosed += window_FormClosed; ju.Datas = (this.treeView1.SelectedNode.Tag as List <string>); ju.ShowDialog(); } else if (this.treeView1.SelectedNode.Name == "CSSUrls") { CSSUrls cu = new CSSUrls(); cu.FormClosed += window_FormClosed; cu.Datas = (this.treeView1.SelectedNode.Tag as List <string>); cu.ShowDialog(); } } } } }