Ejemplo n.º 1
0
        public override bool VertexVerbApplicable(Functions.Codes code, Target target)
        {
            switch (code)
            {
            case Functions.Codes.AddVertex: return(true);

            case Functions.Codes.RemoveVertex: return(m_DefinedVertices > 2);
            }
            return(base.VertexVerbApplicable(code, target));
        }
Ejemplo n.º 2
0
        public override bool AllowVerbWhenComplete(Functions.Codes code)
        {
            switch (code)
            {
            case Functions.Codes.Increment:
            case Functions.Codes.Decrement:
                return(true);

            default:
                return(false);
            }
        }
Ejemplo n.º 3
0
        public override VerbResult OtherVerb(EditableView.ClickPosition position, Functions.Codes code)
        {
            switch (code)
            {
            case Functions.Codes.Increment:
            case Functions.Codes.Decrement:
                int delta = code == Functions.Codes.Increment ? 1 : -1;
                return(ChangeSides(delta));

            default:
                return(VerbResult.Rejected);
            }
        }
Ejemplo n.º 4
0
 public override VerbResult OtherVerb(EditableView.ClickPosition position, Functions.Codes code)
 {
     switch (code)
     {
     case Functions.Codes.AddVertex:
     case Functions.Codes.RemoveVertex:
         // Base functionality is OK, except that we also need to update the control points
         var result = base.OtherVerb(position, code);
         if (code == Functions.Codes.RemoveVertex)
         {
             m_ControlPoints.RemoveRange(m_ControlPoints.Count - 2, 2);
         }
         else
         {
             m_ControlPoints.Add(PointF.Empty);
             m_ControlPoints.Add(PointF.Empty);
         }
         this.SetControlPoints(0);
         return(result);
     }
     return(base.OtherVerb(position, code));
 }