Esempio n. 1
0
        public void OnAdd(object sender, EventArgs e)
        {
            if (sail == null)
                return;

            List<Type> useThese = new List<Type>();

            useThese.Add(typeof(MouldCurve));
            useThese.Add(typeof(GuideComb));

            AddGroup dlg = new AddGroup(useThese);
            dlg.Name = "enter name";
            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                IRebuild cur = dlg.CreateIRebuild();
                if (cur.GetType().Name == "GuideComb")
                {
                    m_curveTracker = new CurveTracker(new GuideComb(dlg.Label, m_group.Sail, new IFitPoint[] { new FixedPoint(0, 0), new FixedPoint(1, 1) }, new Vect2[] { new Vect2(0, 1), new Vect2(1, 1) }));
                    m_curveTracker.Track(m_frame);
                }
                else
                {
                    m_curveTracker = new CurveTracker(new MouldCurve(dlg.Label, m_group.Sail, new IFitPoint[] { new FixedPoint(0, 0), new FixedPoint(1, 1) }));
                    m_curveTracker.Track(m_frame);
                }

            }
            //here we need to ask if we want a GuideComb or a normal curve
        }
Esempio n. 2
0
        public void Cancel()
        {
            View.DeSelectAllLayers();
            foreach (MouldCurve curve in m_group)
                View.DeSelect(curve);

            View.Refresh();

            Tree.KeyUp -= Tree_KeyUp; // handle ctrl-c ctrl-v
            Tree.TreeContextMenu.Opening -= ContextMenuStrip_Opening;
            Tree.TreeContextMenu.ItemClicked -= TreeContextMenu_ItemClicked;

            if (m_curveTracker != null)
            {
                m_curveTracker.Cancel();
                m_curveTracker = null;
            }
        }
Esempio n. 3
0
        //entry point for trackers
        public void m_tree_AfterSelect(object sender, EventArgs<IRebuild> e)
        {
            if ((sender == Tree || sender == View) && m_Tracker != null && m_Tracker.EditMode)
                return; //dont do anything if we are already edit-tracking

            Status = "";
            View.DeSelectAll();

            ITracker track = null;

            if (e.Value is MouldCurve)
            {
                if (e.Value is GuideComb)
                    track = new GuideCombTracker(e.Value as GuideComb);
                else
                    track = new CurveTracker(e.Value as MouldCurve);
            }
            else if (e.Value is IGroup)
            {
                switch (e.Value.GetType().Name)
                {
                    case "CurveGroup":
                        track = new CurveGroupTracker(e.Value as CurveGroup);
                        break;

                    case "VariableGroup":
                        track = new VariableGroupTracker(e.Value as VariableGroup);
                        break;

                    case "YarnGroup":
                        track = new YarnGroupTracker(e.Value as YarnGroup);
                        break;
                }

            }
            else if (e.Value is Equation)
            {
                IGroup parent = ActiveSail.FindGroup(e.Value);
                if (parent != null)
                    track = new VariableGroupTracker(parent as VariableGroup);

            }
            else// if (e.Value is Sail)
                track = new SailTracker(EditMode);

            if (track != null)
            {
            #if DEBUG
                logger.Instance.Log(String.Format("Creating new {0} from {1}", track.GetType().Name, e.Value == null ? "null" : e.Value.GetType().Name), LogPriority.Debug);
            #endif
                PostTracker(track);
            }
        }