Пример #1
0
        /// <summary>
        /// Obtains the previou workflow node and disposes the elemens on the screen
        /// </summary>
        /// <param name="current">An XmlNode rappresenting the current state</param>

        private void DoStepBack()
        {
            currentNode = workflowManager.PreviousNode(currentNode);

            StopLoader();

            if (currentNode != null)
            {
                PrepareTransition();
                Panel.Controls.Clear();

                #region Rendering

                List <Control> controls = new List <Control>();
                for (int i = 0; i < currentNode.Data.Length; i++)
                {
                    controls.Add(currentNode.Data[i].Render(this.Bounds));
                }

                //Controls disposition

                int offset = TopOffset;
                foreach (Control c in controls)
                {
                    c.LostFocus += new EventHandler(OnLostFocus);
                    c.Top        = offset;
                    offset      += c.Height + controlDistance;
                    this.Panel.Controls.Add(c);
                    this.Controls.Add(this.Panel);
                }

                #endregion

                StartBackwardTransition();
            }
        }
Пример #2
0
        private void DoStep()
        {
            currentNode = workflowManager.NextNode(currentNode);

            StopLoader();

            if (currentNode == null)
            {
                #region Filling Complete

                //result.Push(current.OuterXml);

                //Modify this part
                Panel.Controls.Clear();

                Label l = new Label();
                l.Width = 1000;
                StringBuilder message = new StringBuilder();
                message.Insert(0, workflowManager.Result.OuterXml);

                l.Text     = message.ToString();
                l.Height   = CFMeasureString.MeasureString(l, message.ToString(), l.ClientRectangle).Height;
                l.Location = new Point(30, 100);
                Panel.Controls.Add(l);
                Next.Text    = "Send";
                Back.Enabled = false;
                Back.Text    = "";
                Refresh();

                #endregion

                return;
            }

/*
 *          if (currentNode != null)
 *              if (!currentNode.Name.Equals(currentNode.Name))
 *                  currentNode.GetType();//result.Push(current.OuterXml + " ");
 *              else
 *              {
 *                  notification.Text = "Error";
 *                  notification.Visible = true;
 *                  return;
 *              }
 */
            PrepareTransition();
            Panel.Controls.Clear();

            #region Rendering

            List <Control> controls = new List <Control>();
            for (int i = 0; i < currentNode.Data.Length; i++)
            {
                controls.Add(currentNode.Data[i].Render(this.Bounds));
            }
            //Controls disposition

            int offset = TopOffset;
            foreach (Control c in controls)
            {
                c.LostFocus += new EventHandler(OnLostFocus);
                c.Top        = offset;
                offset      += c.Height + controlDistance;
                this.Panel.Controls.Add(c);
                this.Controls.Add(this.Panel);
            }

            #endregion

            if (currentNode != null)
            {
                StartForwardTransition();
            }
        }