Ejemplo n.º 1
0
        public override void Run()
        {
            IProject p        = ProjectService.CurrentProject;
            string   filename = Path.Combine(p.Directory, p.Name + ".cd");

            if (p == null)
            {
                return;
            }

            /*if (p.IsFileInProject(filename))
             * {
             *      ProjectItem pi = p.Items.Find(
             *              delegate(ProjectItem pItem)
             *              { return pItem.FileName == filename; }
             *      );
             * }
             * else*/
            {
                //MessageBox.Show("Creating a new class diagram file named "+"\"+p.Directory+filename);
                ClassCanvas classcanvas = new ClassCanvas();

                IProjectContent pc = ParserService.GetProjectContent(p);
                //float x = 20, y = 20;
                //float max_h = 0;

                foreach (IClass ct in pc.Classes)
                {
                    ClassCanvasItem classitem = ClassCanvas.CreateItemFromType(ct);
                    classcanvas.AddCanvasItem(classitem);
                }

                classcanvas.AutoArrange();
                XmlDocument xmlDocument = classcanvas.WriteToXml();
                FileUtility.ObservedSave(
                    newFileName => SaveAndOpenNewClassDiagram(p, newFileName, xmlDocument),
                    filename, FileErrorPolicy.ProvideAlternative
                    );
            }
        }
Ejemplo n.º 2
0
 void LayoutBtnClick(object sender, System.EventArgs e)
 {
     classcanvas.AutoArrange();
 }