Beispiel #1
0
        void ToolStripMenuItem1Click(object sender, System.EventArgs e)
        {
            ClassCanvasItem item = ClassCanvas.CreateItemFromType(new DefaultClass(cu, "ClassDiagram.ClassCanvasItem"));

            item.X = 20;
            item.Y = 20;
            classcanvas.AddCanvasItem(item);
        }
Beispiel #2
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
                    );
            }
        }
Beispiel #3
0
        void InitBtnClick(object sender, System.EventArgs e)
        {
            float x = 20, y = 20;
            float max_h = 0;

            foreach (IClass ct in pc.Classes)
            {
                ClassCanvasItem classitem = ClassCanvas.CreateItemFromType(ct);
                classitem.X = x;
                classitem.Y = y;
                classcanvas.AddCanvasItem(classitem);
                x += classitem.Width + 20;
                if (classitem.Height > max_h)
                {
                    max_h = classitem.Height;
                }
                if (x > 1000)
                {
                    x     = 20;
                    y    += max_h + 20;
                    max_h = 0;
                }
            }
        }
Beispiel #4
0
		public static ClassCanvasItem CreateItemFromType (IClass ct)
		{
			if (ct == null) return null;
			ClassCanvasItem item = null;
			if (ct.ClassType == ClassType.Interface)
				item = new InterfaceCanvasItem(ct);
			else if (ct.ClassType == ClassType.Enum)
				item = new EnumCanvasItem(ct);
			else if (ct.ClassType == ClassType.Struct)
				item = new StructCanvasItem(ct);
			else if (ct.ClassType == ClassType.Delegate)
				item = new DelegateCanvasItem(ct);
			else
				item = new ClassCanvasItem(ct);
			item.Initialize();
			return item;
		}