예제 #1
0
        protected void CreateClassHier(
            int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            //clip.Object = chain;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);
            // Dots
            MovieClip dots = clip.CreateSubMovieClip(74, 0, w, h);

            //dots.Graphics.FillRectangle( Brushes.Wheat, 0, 0, w/4, h );
            for (int d = 0; d < 7; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dot = dots.CreateSubMovieClip(0, 0, 6, 6);
                if (d > 1)
                {
                    dot.Graphics.DrawEllipse(Pens.LightGreen, 0, 0, 5, 5);
                }
                else
                {
                    dot.Graphics.FillEllipse(Brushes.LightGreen, 0, 0, 5, 5);
                }
            }
            Space(2, 5, dots.Children, dots.Width);

            // Text
            MovieClip text = clip.CreateSubMovieClip(0, 0, w, h);

            //text.LeftString( "string name (31):   +(17)  .Split(\",\")(14)", Brushes.White);
            //text.LeftString( "string name (31):   +(17)  .Split(\",\")(14)", Brushes.White);
            text.LeftString("CalculateTaxes(  ,  ,  ,  ,  ,  ,  )", Brushes.White);
        }
예제 #2
0
        protected void DrawSessionGraph(MovieClip sessions, int w, int h)
        {
            MovieClip sessionBar = sessions.CreateSubMovieClip(0, h / 3, w, h - (h / 3));

            // Date
            MovieClip dateBar   = sessionBar.CreateSubMovieClip(0, sessionBar.Height / 2, w, sessionBar.Height / 2);
            MovieClip dateFront = dateBar.CreateSubMovieClip(0, 0, dateBar.Width / 2, dateBar.Height);

            dateFront.LeftString("10/10/05", Brushes.White);
            MovieClip dateEnd = dateBar.CreateSubMovieClip(dateBar.Width / 2, 0, dateBar.Width / 2, dateBar.Height);

            dateEnd.AlignedString("12/03/05", Brushes.White, StringAlignment.Far);

            //dateBar.Graphics.DrawRectangle(Pens.Sienna, 0, 0, dateBar.Width-1, dateBar.Height-1 );
            //sessionBar.Graphics.DrawRectangle( Pens.Sienna, 0, 0, sessionBar.Width -1 , sessionBar.Height - 1);

            Pen wideGray = new Pen(Brushes.Gray, 2);

            sessionBar.Graphics.DrawLine(wideGray, 0, sessionBar.Height / 2, sessionBar.Width, sessionBar.Height / 2);
            wideGray.Dispose();

            MovieClip sessionThumbs = sessionBar.CreateSubMovieClip(0, 0, sessionBar.Width, sessionBar.Height);

            for (int sIndex = 0; sIndex < 5; sIndex++)
            {
                MovieClip session = sessionThumbs.CreateSubMovieClip(0, 0, 10, 10);
                session.Graphics.FillRectangle(Brushes.Yellow, 0, 0, 9, 9);
            }
            Space(3, 2, sessionThumbs.Children, sessionThumbs.Width);
            MovieClip xx = sessionThumbs.Children[3];

            xx.X += 30;
        }
예제 #3
0
        protected void CreateMethodClip(MessageChainComponent chain,
                                        int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            clip.Object = chain;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            // Dots
            MovieClip dots = clip.CreateSubMovieClip(0, 0, w / 4, h);

            //dots.Graphics.FillRectangle( Brushes.Wheat, 0, 0, w/4, h );
            for (int d = 0; d < chain.Length; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dot = dots.CreateSubMovieClip(0, 0, 10, 10);
                dot.Graphics.FillEllipse(Brushes.LightGreen, 0, 0, 9, 9);
            }
            Space(3, 3, dots.Children, dots.Width);

            // Text
            MovieClip text = clip.CreateSubMovieClip(dots.Width, 0, w - dots.Width, h);

            text.LeftString("(" + chain.Count + ")  " + chain.MessageChain, Brushes.White);
        }
        protected void CreateMethodClip(TemporaryFieldComponent temp,
                                        int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            clip.Object = temp.ClassComponent;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            // Dots
            MovieClip dots = clip.CreateSubMovieClip(0, 0, w, h / 2);

            dots.Object = temp.ClassComponent;
            for (int d = 0; d < temp.Uses.Count; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dot = dots.CreateSubMovieClip(0, 0, 10, 10);
                dot.Graphics.FillEllipse(Brushes.Yellow, 0, 0, 9, 9);
            }
            Space(3, 3, dots.Children, dots.Width);

            // Dots 2
            MovieClip dots2 = clip.CreateSubMovieClip(0, h / 2, w, h / 2);

            dots2.Object = temp.ClassComponent;
            for (int d = 0; d < temp.Defs.Count; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dot = dots2.CreateSubMovieClip(0, 0, 10, 10);
                dot.Graphics.FillEllipse(Brushes.LightBlue, 0, 0, 9, 9);
                //Brushes.LemonChiffon
            }
            Space(3, 3, dots2.Children, dots2.Width);

            // Text
            clip.CenteredString(temp.Name);
        }
예제 #5
0
        protected void TaskView(int x, int y, int w, int h)
        {
            MovieClip taskView = m_panelClip.CreateSubMovieClip(x, y, w, h);
            MovieClip taskSumm = taskView.CreateSubMovieClip(0, 0, w, h / 2);
            MovieClip session  = taskView.CreateSubMovieClip(0, h / 2, w, h / 2);

            TaskSummary(taskSumm, w, h / 2);
            SessionSummary(session, w, h / 2, 5);

            m_panelClip.MouseClick += new MouseEventHandler(session_MouseClick);
        }
예제 #6
0
        protected void RefusedBequest(int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            //clip.Object = chain;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);
            // Dots

            Pen p = new Pen(Brushes.LightBlue, 3);
            Pen b = new Pen(Brushes.LightCoral, 3);
            int l = 10;

            for (int d = 0; d < 18; d++)
            {
                MovieClip dot = clip.CreateSubMovieClip(0, 0, l, 6);

                if (d % 4 == 0)
                {
                    dot.Graphics.DrawLine(p, 0, 0, l - 1, 0);
                }
                else
                {
                    dot.Graphics.DrawLine(b, 0, 0, l - 1, 0);
                }
            }

            Space(10, 18, 10, 2, clip.Children, w);
            clip.LeftString("StorageDB", Brushes.White);
        }
예제 #7
0
        protected void CreateMethodClip(MethodComponent method, int maxLength,
                                        int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            clip.Object = method;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            double length      = method.Lines.Count;
            double smell_width = w * (length / maxLength);

            // Smell rectangle
            clip.Graphics.FillRectangle(m_smellBrush, 0, 0, (int)smell_width, h);

            // Iteration/Conditional/Comment markings
            int lineCount = 0;

            foreach (LineModel model in method.Lines)
            {
                Pen pen = GetPen(model);
                // Hack
                if (pen != null)
                {
                    double ratio  = lineCount / length;
                    int    mark_x = (int)(ratio * smell_width);
                    clip.Graphics.DrawLine(pen, mark_x, 0, mark_x, h);
                }
                lineCount++;
            }
            clip.CenteredString(method.Name + "() " + method.Lines.Count);
        }
예제 #8
0
        protected void SessionSummary(MovieClip clip, int w, int h, int sessions)
        {
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            MovieClip session      = clip.CreateSubMovieClip(0, 0, w, h / 2);
            MovieClip sessionWords = clip.CreateSubMovieClip(0, h / 2, w, h / 2);

            session.Graphics.FillRectangle(m_backBrush, 0, 0, w - 1, h - 1);

            AlignedString(sessionWords, "AUTOTAGS:", Brushes.LightGray, StringAlignment.Near, 7);
            AlignedString(sessionWords, "                        Check(7), Lock(6), Acquire(4)", Brushes.White, StringAlignment.Near, 10);
            sessionWords.AlignedString("author  10/16/05", Brushes.White, StringAlignment.Far);

            Pen wideGray = new Pen(Brushes.Gray, 2);

            session.Graphics.DrawLine(wideGray, 0, session.Height, session.Width, session.Height);
            wideGray.Dispose();

            for (int s = 1; s < session.Width; s++)
            {
                if (s > session.Width / 2 && m_random.Next(2) == 0 ||
                    s < session.Width / 4 && m_random.Next(2) == 0)
                {
                    continue;
                }
                if (s % 2 + m_random.Next(2) == 0)
                {
                    session.Graphics.DrawLine(Pens.Blue, s, (session.Height - 2), s, (session.Height - 2) - m_random.Next((clip.Height - 2) / 3));
                }
                else if (s % 3 + m_random.Next(1) == 0)
                {
                    session.Graphics.DrawLine(Pens.LightGreen, s, (session.Height - 2), s, (session.Height - 2) - m_random.Next((clip.Height - 2) / 3));
                }
                else if (s % 5 == 0 || s > session.Width / 2)
                {
                    session.Graphics.DrawLine(Pens.Gray, s, (session.Height - 2), s, (session.Height - 2) - m_random.Next((session.Height - 2) / 3));
                }
                else
                {
                }
            }
            //Space( 0, 0, clip.Children, clip.Width );
        }
예제 #9
0
        protected void CreateInInt(int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            //clip.Object = chain;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);
            // Dots
            MovieClip dots   = clip.CreateSubMovieClip(w / 2, 0, w, h / 2);
            MovieClip uptext = clip.CreateSubMovieClip(0, 0, w / 2, h / 2);

            for (int d = 0; d < 5; d++)
            {
                MovieClip dot = dots.CreateSubMovieClip(0, 0, 6, 6);
                dot.Graphics.FillEllipse(Brushes.LightBlue, 0, 0, 5, 5);
            }

            MovieClip others   = clip.CreateSubMovieClip(w / 2, h / 2, w, h / 2);
            MovieClip downtext = clip.CreateSubMovieClip(0, h / 2, w / 2, h / 2);

            for (int d = 0; d < 7; d++)
            {
                MovieClip dot = others.CreateSubMovieClip(0, 0, 6, 6);
                dot.Graphics.FillEllipse(Brushes.LightGreen, 0, 0, 5, 5);
            }

            LineTo(clip, 1, 0, w, h, Pens.White);
            LineTo(clip, 0, 2, w, h, Pens.Yellow);
            LineTo(clip, 1, 3, w, h, Pens.White);
            LineTo(clip, 2, 3, w, h, Pens.White);
            LineTo(clip, 0, 6, w, h, Pens.Yellow);
            LineTo(clip, 2, 2, w, h, Pens.White);
            LineTo(clip, 3, 5, w, h, Pens.White);
            LineTo(clip, 4, 1, w, h, Pens.Yellow);
            LineTo(clip, 3, 4, w, h, Pens.White);
            LineTo(clip, 4, 2, w, h, Pens.White);

            Space(3, 3, dots.Children, dots.Width);
            Space(3, 3, others.Children, others.Width);
            uptext.LeftString("TreeView", Brushes.White);
            downtext.LeftString("TreeNode", Brushes.White);
        }
예제 #10
0
        protected void TaskSummary(MovieClip clip, int w, int h)
        {
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);
            clip.Graphics.DrawRectangle(Pens.SlateGray, 0, 0, w - 1, h - 1);

            // ID Zone
            MovieClip idLabel = clip.CreateSubMovieClip(0, 0, w / 12, h);

            AlignedString(idLabel, "T1", Brushes.White, StringAlignment.Center);
            MovieClip editNav = clip.CreateSubMovieClip(w / 12, 0, w / 12, h);
            MovieClip edit    = editNav.CreateSubMovieClip(0, 0, w / 24, h);
            MovieClip nav     = editNav.CreateSubMovieClip(w / 24, 0, w / 24, h);

            //edit.Graphics.DrawRectangle( Pens.Sienna, 0, 0, edit.Width-1, edit.Height-1 );
            //nav.Graphics.DrawRectangle( Pens.Sienna, 0, 0, nav.Width-1, nav.Height-1 );

            int eb_h = (int)(h * .45);
            int eb_w = (int)(h * .45);

            GradientPainter.Fill3DSphere(edit, Color.Green, Color.White, edit.Width / 2 - eb_w / 2, edit.Height / 2 - eb_h / 2, eb_w, eb_h);
            edit.CenteredString("33", Brushes.White);
            edit.Graphics.DrawEllipse(Pens.DarkGreen, edit.Width / 2 - eb_w / 2, edit.Height / 2 - eb_h / 2, eb_w, eb_h);

            GradientPainter.Fill3DSphere(nav, Color.Blue, Color.White, nav.Width / 2 - eb_w / 2, nav.Height / 2 - eb_h / 2, eb_w, eb_h);
            nav.CenteredString("15", Brushes.White);
            nav.Graphics.DrawEllipse(Pens.DarkGreen, nav.Width / 2 - eb_w / 2, nav.Height / 2 - eb_h / 2, eb_w, eb_h);

            // TAG CLOUD
            MovieClip tagCloud = clip.CreateSubMovieClip(w / 6, 0, w / 2, h);

            //tagCloud.LeftString( "lock(3) DB(2)", Brushes.White );
            AlignedString(tagCloud, "AUTOTAGS:", Brushes.LightGray, StringAlignment.Near, 7);
            AlignedString(tagCloud, "Lock(3), Oracle(2)", Brushes.White, StringAlignment.Center);

            MovieClip sessions = clip.CreateSubMovieClip(2 * w / 3, 0, w / 3, h);

            AlignedString(sessions, "SESSIONS:", Brushes.LightGray, StringAlignment.Near, 7);
            DrawSessionGraph(sessions, sessions.Width, sessions.Height);
        }
        protected void CreateClassHier(MovieClip parent, string pre, string[] baseCls,
                                       int x, int y, int w, int h)
        {
            MovieClip clip = parent.CreateSubMovieClip(x, y, w, h);

            //clip.Object = chain;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            // Parent Class
            MovieClip par = clip.CreateSubMovieClip(0, 0, w, h / 2);

            MovieClip dot = par.CreateSubMovieClip(w / 2, h / 4, 10, 10);

            dot.Graphics.FillEllipse(Brushes.White, 0, 0, 9, 9);
            par.LeftString(pre, Brushes.White);

            // Children
            MovieClip dots = clip.CreateSubMovieClip(0, h / 2, w, h / 2);
            //dots.Graphics.FillRectangle( Brushes.Wheat, 0, 0, w/4, h );

            int centerHack = 29;

            Brush[] brushes = new Brush[] { Brushes.LightGreen, Brushes.LightBlue, Brushes.LightPink };
            for (int d = 0; d < baseCls.Length; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dd = dots.CreateSubMovieClip(0, 0, 10, 10);
                dd.Graphics.FillEllipse(brushes[d], 0, 0, 9, 9);

                clip.Graphics.DrawLine(Pens.White, w / 2 + 4, h / 4 + 3, (centerHack - 2) + ((1 + d) * 10), h / 2 + 5);
            }
            Space(centerHack, 3, 3, 3, dots.Children, dots.Width);


            // Text
            //MovieClip text = clip.CreateSubMovieClip( dots.Width, 0, w - dots.Width, h );
            //text.LeftString( "(" + chain.Count +")  " + chain.MessageChain, Brushes.White);
        }
        protected void DoGraphics(ArrayList chains)
        {
            m_panelClip.Graphics.FillRectangle(Brushes.Black, m_panelClip.Rect);

            int w = 350;
            int h = 50;

            m_backBrush = new SolidBrush(Color.FromArgb(60, 60, 60));


            string[] prefix  = new string[] { "LongMethod", "TemporaryField", "MessageChains" };
            string[] baseCls = new string[] { "Detector", "Visualization", "Component", "Comparer" };

            int i = 0;

            MovieClip clip = m_panelClip.CreateSubMovieClip(0, 0, w, h);

            foreach (string bass in baseCls)
            {
                CreateClassHier(clip, bass, prefix, 0, 0, w / 4, h);
                i++;
            }
            MovieClip legend = clip.CreateSubMovieClip((3 * w) / 4, 0, w / 4, h);

            Brush[] brushes = new Brush[] { Brushes.LightGreen, Brushes.LightBlue, Brushes.LightPink };
            for (int d = 0; d < prefix.Length; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip index = legend.CreateSubMovieClip(0, 0, w / 4, h / 3);
                MovieClip dot   = index.CreateSubMovieClip(0, 0, 10, 10);
                dot.Graphics.FillEllipse(brushes[d], 0, 0, 9, 9);
                MovieClip text = index.CreateSubMovieClip(10, 0, w / 4 - 10, h / 3);
                text.LeftString(prefix[d], Brushes.White);
            }
            Space(4, 1, legend.Children, w / 4);
            Space(10, 10, clip.Children, this.Width);
        }
예제 #13
0
        protected void CreateMethodClip(SwitchStatementComponent swtch,
                                        int x, int y, int w, int h)
        {
            MovieClip clip = m_panelClip.CreateSubMovieClip(x, y, w, h);

            clip.Object = swtch.MethodComponent;
            // Back rectangle
            clip.Graphics.FillRectangle(m_backBrush, 0, 0, w, h);

            // Dots
            MovieClip dots = clip.CreateSubMovieClip((3 * w) / 4, 0, w / 4, h);

            dots.Object = swtch.MethodComponent;
            for (int d = 0; d < swtch.CaseCount; d++)
            {               // extra spacing in between disconnected chains?
                MovieClip dot = dots.CreateSubMovieClip(0, 0, 4, 4);
                dot.Graphics.FillEllipse(Brushes.Yellow, 0, 0, 3, 3);
            }
            Space(2, 2, dots.Children, dots.Width);

            // Text
            clip.LeftString(swtch.Name + " (" + swtch.Count + ")", Brushes.White);
        }
예제 #14
0
		protected void SessionSummary( MovieClip clip, int w, int h, int sessions )
		{
			clip.Graphics.FillRectangle( m_backBrush, 0, 0, w, h);

			MovieClip session = clip.CreateSubMovieClip( 0, 0, w, h/2 );
			MovieClip sessionWords = clip.CreateSubMovieClip(0,h/2,w,h/2);
			session.Graphics.FillRectangle( m_backBrush, 0, 0, w-1, h-1);

			AlignedString( sessionWords, "AUTOTAGS:", Brushes.LightGray, StringAlignment.Near, 7 );
			AlignedString( sessionWords, "                        Check(7), Lock(6), Acquire(4)", Brushes.White, StringAlignment.Near, 10 );
			sessionWords.AlignedString("author  10/16/05", Brushes.White, StringAlignment.Far );

			Pen wideGray = new Pen( Brushes.Gray, 2 );
			session.Graphics.DrawLine( wideGray, 0, session.Height, session.Width, session.Height );
			wideGray.Dispose();

			for( int s=1; s < session.Width; s++ )
			{
				if( s > session.Width/2 && m_random.Next(2) == 0 || 
					s < session.Width/4 && m_random.Next(2) == 0 )
					continue;
				if( s % 2 + m_random.Next(2) == 0 )
					session.Graphics.DrawLine( Pens.Blue, s, (session.Height-2), s, (session.Height-2)-m_random.Next((clip.Height-2)/3) );
				else if( s % 3+m_random.Next(1) == 0 )
				{
					session.Graphics.DrawLine( Pens.LightGreen, s, (session.Height-2), s, (session.Height-2)-m_random.Next((clip.Height-2)/3) );
				}
				else if( s % 5 == 0 || s > session.Width/2)
				{
					session.Graphics.DrawLine( Pens.Gray, s, (session.Height-2), s, (session.Height-2)-m_random.Next((session.Height-2)/3) );
				}
				else
				{
				}
			}
			//Space( 0, 0, clip.Children, clip.Width );
		}
예제 #15
0
		protected void DrawSessionGraph( MovieClip sessions, int w, int h )
		{
			MovieClip sessionBar = sessions.CreateSubMovieClip( 0, h/3, w, h-(h/3) );

			// Date
			MovieClip dateBar    = sessionBar.CreateSubMovieClip( 0, sessionBar.Height/2, w, sessionBar.Height/2 );
			MovieClip dateFront  = dateBar.CreateSubMovieClip( 0, 0, dateBar.Width/2, dateBar.Height );
			dateFront.LeftString( "10/10/05", Brushes.White );
			MovieClip dateEnd    = dateBar.CreateSubMovieClip( dateBar.Width/2, 0, dateBar.Width/2, dateBar.Height );
			dateEnd.AlignedString( "12/03/05", Brushes.White, StringAlignment.Far );

			//dateBar.Graphics.DrawRectangle(Pens.Sienna, 0, 0, dateBar.Width-1, dateBar.Height-1 );
			//sessionBar.Graphics.DrawRectangle( Pens.Sienna, 0, 0, sessionBar.Width -1 , sessionBar.Height - 1);

			Pen wideGray = new Pen( Brushes.Gray, 2 );
			sessionBar.Graphics.DrawLine( wideGray, 0, sessionBar.Height/2, sessionBar.Width, sessionBar.Height/2 );
			wideGray.Dispose();
	
			MovieClip sessionThumbs = sessionBar.CreateSubMovieClip( 0, 0, sessionBar.Width, sessionBar.Height );
			for( int sIndex =0; sIndex < 5; sIndex++ )
			{
				MovieClip session = sessionThumbs.CreateSubMovieClip( 0, 0, 10, 10 );
				session.Graphics.FillRectangle( Brushes.Yellow , 0, 0, 9, 9 );
			}
			Space( 3, 2, sessionThumbs.Children, sessionThumbs.Width );
			MovieClip xx = sessionThumbs.Children[3];
			xx.X +=30;
		}
		protected void CreateClassHier( MovieClip parent, string pre, string[] baseCls,
			int x, int y, int w, int h )
		{
			MovieClip clip = parent.CreateSubMovieClip( x, y, w, h );
			//clip.Object = chain;
			// Back rectangle
			clip.Graphics.FillRectangle( m_backBrush, 0, 0, w, h);

			// Parent Class
			MovieClip par = clip.CreateSubMovieClip( 0, 0, w, h/2 );

			MovieClip dot = par.CreateSubMovieClip( w/2, h/4, 10, 10 );
			dot.Graphics.FillEllipse( Brushes.White, 0, 0, 9, 9 );
			par.LeftString( pre, Brushes.White );

			// Children
			MovieClip dots = clip.CreateSubMovieClip( 0, h/2, w, h/2 );
			//dots.Graphics.FillRectangle( Brushes.Wheat, 0, 0, w/4, h );

			int centerHack = 29;
			Brush[] brushes = new Brush[]{Brushes.LightGreen,Brushes.LightBlue, Brushes.LightPink};
			for( int d = 0; d < baseCls.Length; d++ )
			{   // extra spacing in between disconnected chains?
				MovieClip dd = dots.CreateSubMovieClip( 0, 0, 10, 10 );
				dd.Graphics.FillEllipse( brushes[d], 0, 0, 9, 9 );

				clip.Graphics.DrawLine( Pens.White, w/2+4, h/4+3, (centerHack-2) + ((1+d)*10), h/2 + 5 );
			}
			Space( centerHack, 3, 3, 3, dots.Children, dots.Width );

			
			// Text
			//MovieClip text = clip.CreateSubMovieClip( dots.Width, 0, w - dots.Width, h );
			//text.LeftString( "(" + chain.Count +")  " + chain.MessageChain, Brushes.White);
		}
예제 #17
0
		protected void TaskSummary( MovieClip clip, int w, int h )
		{
			clip.Graphics.FillRectangle( m_backBrush, 0, 0, w, h);
			clip.Graphics.DrawRectangle( Pens.SlateGray, 0, 0, w-1, h-1 );
			
			// ID Zone
			MovieClip idLabel  = clip.CreateSubMovieClip( 0  , 0, w/12, h );
			AlignedString( idLabel, "T1", Brushes.White, StringAlignment.Center );
			MovieClip editNav  = clip.CreateSubMovieClip( w/12, 0, w/12, h );
			MovieClip edit = editNav.CreateSubMovieClip( 0, 0, w/24, h );
			MovieClip nav = editNav.CreateSubMovieClip( w/24, 0, w/24, h );

			//edit.Graphics.DrawRectangle( Pens.Sienna, 0, 0, edit.Width-1, edit.Height-1 );
			//nav.Graphics.DrawRectangle( Pens.Sienna, 0, 0, nav.Width-1, nav.Height-1 );
			
			int eb_h = (int)(h*.45);
			int eb_w = (int)(h*.45);
			GradientPainter.Fill3DSphere( edit, Color.Green, Color.White, edit.Width/2-eb_w/2, edit.Height/2-eb_h/2, eb_w, eb_h );
			edit.CenteredString( "33", Brushes.White );
			edit.Graphics.DrawEllipse( Pens.DarkGreen, edit.Width/2-eb_w/2, edit.Height/2-eb_h/2, eb_w, eb_h );

			GradientPainter.Fill3DSphere( nav, Color.Blue, Color.White, nav.Width/2-eb_w/2, nav.Height/2-eb_h/2, eb_w, eb_h );
			nav.CenteredString( "15", Brushes.White );
			nav.Graphics.DrawEllipse( Pens.DarkGreen, nav.Width/2-eb_w/2, nav.Height/2-eb_h/2, eb_w, eb_h );

			// TAG CLOUD
			MovieClip tagCloud = clip.CreateSubMovieClip( w/6, 0, w/2, h );
			//tagCloud.LeftString( "lock(3) DB(2)", Brushes.White );
			AlignedString( tagCloud, "AUTOTAGS:", Brushes.LightGray, StringAlignment.Near, 7 );
			AlignedString( tagCloud, "Lock(3), Oracle(2)", Brushes.White, StringAlignment.Center );
			
			MovieClip sessions = clip.CreateSubMovieClip( 2*w/3, 0, w/3, h );
			AlignedString( sessions, "SESSIONS:", Brushes.LightGray, StringAlignment.Near, 7 );
			DrawSessionGraph( sessions, sessions.Width, sessions.Height );
		}