예제 #1
0
 /// <summary>
 /// Generate page for actual website
 /// A page is the top-level of generation, so any argument is not needed
 /// </summary>
 /// <param name="refPage">page reference</param>
 /// <param name="masterRefPage">master page reference</param>
 /// <param name="objects">object list</param>
 /// <param name="parentConstraint">parent constraint</param>
 /// <returns>html output</returns>
 public OutputHTML GenerateProduction(Page refPage, MasterPage masterRefPage, List <MasterObject> objects, ParentConstraint parentConstraint)
 {
     throw new NotImplementedException();
 }
예제 #2
0
 /// <summary>
 /// Generate page for design
 /// A page is the top-level of generation, so any argument is not needed
 /// </summary>
 /// <param name="refPage">page reference</param>
 /// <param name="masterRefPage">master page reference</param>
 /// <param name="parentConstraint">parent constraint</param>
 /// <returns>html output</returns>
 public OutputHTML GenerateDesign(Page refPage, MasterPage masterRefPage, ParentConstraint parentConstraint)
 {
     throw new NotImplementedException();
 }
        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();
                        }
                    }
                }
            }
        }
예제 #4
0
        /// <summary>
        /// Create a destination object and store its into the project
        /// </summary>
        /// <param name="proj">project</param>
        /// <param name="width">width value</param>
        /// <param name="height">height value</param>
        /// <param name="h">horizontal count</param>
        /// <param name="v">vertical count</param>
        public void CreateDestination(Library.Project proj, uint width, uint height, uint h, uint v)
        {
            if (this.Destination == null)
            {
                if (this.Type == RefObject.MasterPage)
                {
                    MasterPage mp = new MasterPage();
                    mp.Name             = this.Name;
                    mp.ConstraintHeight = EnumConstraint.FIXED;
                    mp.Height           = height;
                    mp.ConstraintWidth  = EnumConstraint.FIXED;
                    mp.Width            = width;
                    mp.CountColumns     = h;
                    mp.CountLines       = v;
                    proj.MasterPages.Add(mp);
                    this.Destination = mp;
                    string[] splitted = mp.ElementTitle.Split('/');
                    string   path     = String.Join("/", splitted.Take(splitted.Count() - 1));
                    mp.Name = splitted.Last();
                    proj.Add(mp, path);
                }
                else if (this.Type == RefObject.Page)
                {
                    MasterPage mp = new Library.MasterPage();
                    Page       p  = new Library.Page();
                    if (Library.Project.AddPage(proj, p, this.Name))
                    {
                        mp.Name             = "MasterPage_" + System.IO.Path.GetFileNameWithoutExtension(p.Name);
                        mp.ConstraintHeight = EnumConstraint.FIXED;
                        mp.Height           = height;
                        mp.ConstraintWidth  = EnumConstraint.FIXED;
                        mp.Width            = width;
                        mp.CountColumns     = h;
                        mp.CountLines       = v;
                        proj.MasterPages.Add(mp);
                        p.MasterPageName   = mp.Name;
                        p.ConstraintHeight = EnumConstraint.FIXED;
                        p.Height           = height;
                        p.ConstraintWidth  = EnumConstraint.FIXED;
                        p.Width            = width;
                        this.SecondObject  = mp;
                        this.Destination   = p;
                    }
                    else
                    {
                        throw new ArgumentException(Localization.Strings.GetString("ExceptionPageNotCreated"));
                    }
                }
                else if (this.Type == RefObject.MasterObject)
                {
                    MasterObject mo = new MasterObject();
                    mo.Title            = this.Name;
                    mo.ConstraintHeight = EnumConstraint.FIXED;
                    mo.Height           = height;
                    mo.ConstraintWidth  = EnumConstraint.FIXED;
                    mo.Width            = width;
                    mo.CountColumns     = h;
                    mo.CountLines       = v;
                    this.Destination    = mo;
                    string[] splitted = mo.ElementTitle.Split('/');
                    string   path     = String.Join("/", splitted.Take(splitted.Count() - 1));
                    mo.Name = splitted.Last();
                    proj.Add(mo, path);
                }
                else if (this.Type == RefObject.Tool)
                {
                    MasterObject mo = new Library.MasterObject();
                    HTMLTool     t  = new HTMLTool();
                    if (Library.Project.AddTool(proj, t, this.Name))
                    {
                        mo.Name             = "MasterObject_" + t.Title;
                        mo.ConstraintHeight = EnumConstraint.FIXED;
                        mo.Height           = height;
                        mo.ConstraintWidth  = EnumConstraint.FIXED;
                        mo.Width            = width;
                        mo.CountColumns     = h;
                        mo.CountLines       = v;

                        t.ConstraintHeight = EnumConstraint.FIXED;
                        t.ConstraintWidth  = EnumConstraint.FIXED;
                        t.Width            = width;
                        t.Height           = height;
                        this.SecondObject  = mo;
                        this.Destination   = t;
                    }
                    else
                    {
                        throw new ArgumentException(Localization.Strings.GetString("ExceptionToolNotCreated"));
                    }
                }
            }
            else
            {
                if (this.Type == RefObject.MasterPage)
                {
                    MasterPage mp = this.Destination;
                    for (int index = mp.Objects.Count - 1; index >= 0; --index)
                    {
                        if (proj.Instances.Contains(mp.Objects[index]))
                        {
                            proj.Remove(mp.Objects[index]);
                        }
                    }
                    mp.ConstraintHeight = EnumConstraint.FIXED;
                    mp.Height           = height;
                    mp.ConstraintWidth  = EnumConstraint.FIXED;
                    mp.Width            = width;
                    mp.CountColumns     = h;
                    mp.CountLines       = v;
                }
                else if (this.Type == RefObject.Page)
                {
                    Page       p  = this.Destination;
                    MasterPage mp = this.SecondObject;
                    for (int index = mp.Objects.Count - 1; index >= 0; --index)
                    {
                        if (proj.Instances.Contains(mp.Objects[index]))
                        {
                            proj.Remove(mp.Objects[index]);
                        }
                    }
                    for (int index = p.Objects.Count - 1; index >= 0; --index)
                    {
                        if (proj.Instances.Contains(p.Objects[index]))
                        {
                            proj.Remove(p.Objects[index]);
                        }
                    }

                    mp.ConstraintHeight = EnumConstraint.FIXED;
                    mp.Height           = height;
                    mp.ConstraintWidth  = EnumConstraint.FIXED;
                    mp.Width            = width;
                    mp.CountColumns     = h;
                    mp.CountLines       = v;
                    p.ConstraintHeight  = EnumConstraint.FIXED;
                    p.Height            = height;
                    p.ConstraintWidth   = EnumConstraint.FIXED;
                    p.Width             = width;
                }
                else if (this.Type == RefObject.MasterObject)
                {
                    MasterObject mo = this.Destination;
                    for (int index = mo.Objects.Count - 1; index >= 0; --index)
                    {
                        if (proj.Instances.Contains(mo.Objects[index]))
                        {
                            proj.Remove(mo.Objects[index]);
                        }
                    }
                    mo.ConstraintHeight = EnumConstraint.FIXED;
                    mo.Height           = height;
                    mo.ConstraintWidth  = EnumConstraint.FIXED;
                    mo.Width            = width;
                    mo.CountColumns     = h;
                    mo.CountLines       = v;
                }
                else if (this.Type == RefObject.Tool)
                {
                    HTMLTool     t  = this.Destination;
                    MasterObject mo = this.SecondObject;
                    for (int index = mo.Objects.Count - 1; index >= 0; --index)
                    {
                        if (proj.Instances.Contains(mo.Objects[index]))
                        {
                            proj.Remove(mo.Objects[index]);
                        }
                    }
                    mo.ConstraintHeight = EnumConstraint.FIXED;
                    mo.Height           = height;
                    mo.ConstraintWidth  = EnumConstraint.FIXED;
                    mo.Width            = width;
                    mo.CountColumns     = h;
                    mo.CountLines       = v;

                    t.ConstraintHeight = EnumConstraint.FIXED;
                    t.ConstraintWidth  = EnumConstraint.FIXED;
                    t.Width            = width;
                    t.Height           = height;
                }
            }
        }
예제 #5
0
 /// <summary>
 /// Construct all zones and compute total size
 /// </summary>
 /// <param name="list">list of rectangle the user supplied</param>
 public void MakeZones(List <AreaSizedRectangle> list)
 {
     MasterPage.MakeZones(this.CountColumns, this.CountLines, list, this.HorizontalZones, this.Width, this.Height, this.ConstraintWidth, this.ConstraintHeight);
 }