public void UpdateHidden()
 {
     if ((IsMuted || !((Storage.Settings.collapseOverride == CollapseOverride.Unread && IsUnread) || (Storage.Settings.collapseOverride == CollapseOverride.Mention && NotificationCount > 0))) && !IsSelected)
     {
         if (IsHidden)
         {
             if (Type == 4)
             {
                 Chevron.Rotate(-90, 7, 7, 400, 0, EasingType.Circle).Start();
             }
             else
             {
                 //await this.Fade(0, 200, 0).StartAsync();
                 this.Visibility = Visibility.Collapsed;
             }
         }
         else
         {
             if (Type == 4)
             {
                 Chevron.Rotate(0, 7, 7, 400, 0, EasingType.Circle).Start();
             }
             else
             {
                 this.Visibility = Visibility.Visible;
                 this.Fade(1, 200, 0).Start();
             }
         }
     }
 }
 /// <summary>
 /// Update the Hidden Status of the control
 /// </summary>
 public void UpdateHidden()
 {
     if ((IsMuted || !((Storage.Settings.collapseOverride == CollapseOverride.Unread && IsUnread) || (Storage.Settings.collapseOverride == CollapseOverride.Mention && NotificationCount > 0))) && !IsSelected)
     {
         if (IsHidden)
         {
             if (Type == 4)
             {
                 // Rotate Chevron on side
                 Chevron.Rotate(-90, 7, 7, 400, 0, EasingType.Circle).Start();
             }
             else
             {
                 // Hide item
                 this.Visibility = Visibility.Collapsed;
             }
         }
         else
         {
             if (Type == 4)
             {
                 // Rotate Chevron upright
                 Chevron.Rotate(0, 7, 7, 400, 0, EasingType.Circle).Start();
             }
             else
             {
                 // Show item
                 this.Visibility = Visibility.Visible;
             }
         }
     }
 }
Example #3
0
        public void AddLevel2Control(Point p)
        {
            switch (ControlTag)
            {
            case 21:
            {
                Rectangle rect = new Rectangle();

                rect.Fill   = Brushes.LightGray;
                rect.Stroke = Brushes.Black;

                rect.Width  = 128;
                rect.Height = 128;

                rect.Focusable = true;

                rect.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(rect, -1);
                Canvas.SetLeft(rect, p.X - rect.DesiredSize.Width / 2);
                Canvas.SetTop(rect, p.Y - rect.DesiredSize.Height / 2);

                AddEvents(rect);
                DesignCanvas.Children.Add(rect);
            }
            break;

            case 22:
            {
                Ellipse ellipse = new Ellipse();

                ellipse.Fill   = Brushes.LightGray;
                ellipse.Stroke = Brushes.Black;

                ellipse.Width  = 128;
                ellipse.Height = 128;

                ellipse.Focusable = true;


                ellipse.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(ellipse, -1);
                Canvas.SetLeft(ellipse, p.X - ellipse.DesiredSize.Width / 2);
                Canvas.SetTop(ellipse, p.Y - ellipse.DesiredSize.Height / 2);

                AddEvents(ellipse);
                DesignCanvas.Children.Add(ellipse);
            }
            break;

            case 23:
            {
                Line line = new Line();

                line.Stroke          = Brushes.Black;
                line.StrokeThickness = 3;
                line.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                line.X1 = Math.Round(p.X, 1) - 100;
                line.Y1 = Math.Round(p.Y, 1);
                line.X2 = Math.Round(p.X, 1) + 100;
                line.Y2 = Math.Round(p.Y, 1) + 0;
                Panel.SetZIndex(line, 0);

                AddEvents(line);
                DesignCanvas.Children.Add(line);
            }
            break;


            case 24:
            {
                Hexagon con = new Hexagon();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 144;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 25:
            {
                Controls.Triangle con = new Controls.Triangle();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;


            case 216:
            {
                RightAngledTriangle con = new RightAngledTriangle();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 217:
            {
                RightAngledTriangleSE con = new RightAngledTriangleSE();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 218:
            {
                Chevron con = new Chevron();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 219:
            {
                Drop con = new Drop();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 112;
                con.Height = 192;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 26:
            {
                Star con = new Star();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 27:
            {
                Diamond con = new Diamond();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 28:
            {
                Heart con = new Heart();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 160;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 29:
            {
                Cloud con = new Cloud();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 210:
            {
                Arrow con = new Arrow();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 211:
            {
                SmileFace con = new SmileFace();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 212:
            {
                Speech con = new Speech();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 213:
            {
                Ribbon con = new Ribbon();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 192;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 214:
            {
                CheckMark con = new CheckMark();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 192;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 215:
            {
                Cross con = new Cross();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;

            case 220:
            {
                Cogwheel con = new Cogwheel();

                con.Fill   = Brushes.LightGray;
                con.Stroke = Brushes.Black;

                con.Width  = 128;
                con.Height = 128;

                con.Focusable = true;

                con.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

                Panel.SetZIndex(con, -1);
                Canvas.SetLeft(con, p.X - con.DesiredSize.Width / 2);
                Canvas.SetTop(con, p.Y - con.DesiredSize.Height / 2);

                AddEvents(con);
                DesignCanvas.Children.Add(con);
            }
            break;
            }
        }
        protected override INode CreateFigure(MemoShape model)
        {
            var ret = default(INode);

            switch (model.Kind)
            {
            case MemoShapeKind.RoundRect: {
                ret = new RoundedRect();
                break;
            }

            case MemoShapeKind.Triangle: {
                ret = new Triangle();
                break;
            }

            case MemoShapeKind.Ellipse: {
                ret = new Ellipse();
                break;
            }

            case MemoShapeKind.Diamond: {
                ret = new Diamond();
                break;
            }

            case MemoShapeKind.Parallelogram: {
                ret = new Parallelogram();
                break;
            }

            case MemoShapeKind.Cylinder: {
                ret = new Cylinder();
                break;
            }

            case MemoShapeKind.Paper: {
                ret = new Paper();
                break;
            }

            case MemoShapeKind.LeftArrow: {
                ret = new ArrowFigure(Directions.Left);
                break;
            }

            case MemoShapeKind.RightArrow: {
                ret = new ArrowFigure(Directions.Right);
                break;
            }

            case MemoShapeKind.UpArrow: {
                ret = new ArrowFigure(Directions.Up);
                break;
            }

            case MemoShapeKind.DownArrow: {
                ret = new ArrowFigure(Directions.Down);
                break;
            }

            case MemoShapeKind.LeftRightArrow: {
                ret = new TwoHeadArrowFigure(false);
                break;
            }

            case MemoShapeKind.UpDownArrow: {
                ret = new TwoHeadArrowFigure(true);
                break;
            }

            case MemoShapeKind.Pentagon: {
                ret = new Pentagon();
                break;
            }

            case MemoShapeKind.Chevron: {
                ret = new Chevron();
                break;
            }

            case MemoShapeKind.Equal: {
                ret = new EqualFigure(false);
                break;
            }

            case MemoShapeKind.NotEqual: {
                ret = new EqualFigure(true);
                break;
            }

            case MemoShapeKind.Plus: {
                ret = new PlusFigure();
                break;
            }

            case MemoShapeKind.Minus: {
                ret = new MinusFigure();
                break;
            }

            case MemoShapeKind.Times: {
                ret = new TimesFigure();
                break;
            }

            case MemoShapeKind.Devide: {
                ret = new DevideFigure();
                break;
            }

            case MemoShapeKind.Rect:
            default: {
                ret = new Rect();
                break;
            }
            }

            ret.BorderWidth = 1;
            ret.Background  = new GradientBrushDescription(
                Color.FromArgb(230, 240, 255),
                Color.FromArgb(200, 220, 240),
                90f
                );

            ret.Foreground = Color.FromArgb(75, 125, 190);
            ret.MinSize    = new Size(16, 16);
            //ret.AutoSizeKinds = AutoSizeKinds.GrowBoth;

            return(ret);
        }