/// <summary>
        /// Performs a random tarnsition between the two pictures.
        /// </summary>
        public void transitionPictures()
        {
            // We randomly choose where the current image is going to 
            // slide off to (and where we are going to slide the inactive
            // image in from)...
            int iDestinationLeft = (m_Random.Next(2) == 0) ? Width : -Width;
            int iDestinationTop = (m_Random.Next(3) - 1) * Height;

            // We move the inactive image to this location...
            SuspendLayout();
            m_InactivePicture.Top = iDestinationTop;
            m_InactivePicture.Left = iDestinationLeft;
            m_InactivePicture.BringToFront();
            ResumeLayout();

            // We perform the transition which moves the active image off the
            // screen, and the inactive one onto the screen...
            Transition t = new Transition(new TransitionType_EaseInEaseOut(1000));
            t.add(m_InactivePicture, "Left", 0);
            t.add(m_InactivePicture, "Top", 0);
            t.add(m_ActivePicture, "Left", iDestinationLeft);
            t.add(m_ActivePicture, "Top", iDestinationTop);
            t.run();

            // We swap over which image is active and inactive for next time
            // the function is called...
            PictureBox tmp = m_ActivePicture;
            m_ActivePicture = m_InactivePicture;
            m_InactivePicture = tmp;
        }
Exemple #2
0
 public void Move(PlayingCard card, Point position)
 {
     var t = new Transition(new TransitionType_EaseInEaseOut(500));
     t.add(card, "Left", position.X);
     t.add(card, "Top", position.Y);
     t.run();
 }
 private void FadePicBoxes(float xOpacity, float plusOpacity)
 {
     var fade = new Transition(new TransitionType_Linear(400));
     fade.add(pictureBoxX, "Opacity", xOpacity);
     fade.add(pictureBoxPlus, "Opacity", plusOpacity);
     fade.run();
 }
        /// <summary>
        /// Called when the "Swap" button is pressed.
        /// </summary>
        private void cmdSwap_Click(object sender, EventArgs e)
        {
            // We swap over the group-boxes that show the "Bounce" and 
            // "Throw and Catch" transitions. The active one is animated 
            // left off the screen and the inactive one is animated right
            // onto the screen...

            // We work out which box is currently on screen and
            // which is off screen...
            Control ctrlOnScreen, ctrlOffScreen;
            if (gbBounce.Left == GROUP_BOX_LEFT)
            {
                ctrlOnScreen = gbBounce;
                ctrlOffScreen = gbThrowAndCatch;
            }
            else
            {
                ctrlOnScreen = gbThrowAndCatch;
                ctrlOffScreen = gbBounce;
            }
            ctrlOnScreen.SendToBack();
            ctrlOffScreen.BringToFront();

            // We create a transition to animate the two boxes simultaneously. One is
            // animated onto the screen, the other off the screen.

            // The ease-in-ease-out transition acclerates the rate of change for the 
            // first half of the animation, and decelerates during the second half.

            Transition t = new Transition(new TransitionType_EaseInEaseOut(1000));
            t.add(ctrlOnScreen, "Left", -1 * ctrlOnScreen.Width);
            t.add(ctrlOffScreen, "Left", GROUP_BOX_LEFT);
            t.run();
        }
 private void LabelMain_MouseLeave(object sender, EventArgs e)
 {
     Transition T = new Transition(new TransitionType_EaseInEaseOut(400));
     T.add(this, "ForeColor", Color.Silver);
     T.add(LabelMain, "ForeColor", Color.Silver);
     T.run();
 }
Exemple #6
0
 private void AssistantGoUp()
 {
     //debug.Visible = true;
     Transition t = new Transition(new TransitionType_Deceleration(500));
     t.add(this, "Top", ScreenHeight/3);
        t.add(MicPanel, "Top", ScreenHeight/3*2-Mic.Height-10);
        //t.add(MessagePanelz, "Height", this.Height - 200);
     hidden = false;
     t.run();
     t.TransitionCompletedEvent += new EventHandler<Transition.Args>(t_TransitionCompletedEvent);
 }
Exemple #7
0
 private void AnimateShowFormTrigger()
 {
     this.Show();
     Transition t = new Transition(new TransitionType_Deceleration(100));
     int tempY = this.Location.Y;
     this.CenterToScreen();
     int centerY = this.Location.Y;
     this.Top = tempY;
     t.add(this, "Top", centerY);
     t.add(this, "Opacity", 1.0);
     t.run();
 }
        public void SlideOut()
        {
            this.Location = new Point(FindForm().Width, 66);
            this.Visible = true;
            this.BackColor = Color.Silver;
            this.BringToFront();

            var t = new Transition(new TransitionType_EaseInEaseOut(400));
            t.TransitionCompletedEvent += ShowTransitionCompletedEvent;
            t.add(this, "Left", 15);
            t.add(this, "BackColor", Color.White);
            t.run();
        }
Exemple #9
0
 public void Ask(string question)
 {
     if (question == "quit")
     {
         HideAssistant();
         Application.Exit();
     }
     if (asked == 3)
     {
         Transition t = new Transition(new TransitionType_Deceleration(500));
         t.add(MessagePanelz, "Top", MessagePanelz.Location.Y - 290);
         t.run();
         asked = 0;
     }
     DisplayQuestion(question);
     try
     {
         string uriString = "http://infini-dev.com/WISA/WISA.php"; //post request to server and get response
         WebClient myWebClient = new WebClient();
         NameValueCollection PostParams = new NameValueCollection();
         PostParams.Add("request", question);
         byte[] responseArray =
         myWebClient.UploadValues(uriString, "POST", PostParams);
         string response = Encoding.ASCII.GetString(responseArray);
         DisplayResponse(response);
     }
     catch
     {
         DisplayResponse("I'm sorry, I could not connect to the server");
     }
     asked++;
 }
Exemple #10
0
        public void swipe(bool show = true)
        {
            this.Visible = true;
            Transition _transasition = new Transitions.Transition(new TransitionType_EaseInEaseOut(500));
            _transasition.add(this, "Left", show ? 0 : this.Width);
            _transasition.run();

            while (this.Left != (show ? 0 : this.Width))
            {
                Application.DoEvents();
            }

            if (!show)
            {
                closed(new EventArgs());
                _owner.Resize -= owner_Resize;
                _owner.Controls.Remove(this);
                this.Dispose();
            }
            else
            {
                _loaded = true;
                ResizeForm();
                shown(new EventArgs());
            }
        }
Exemple #11
0
        //This will determine the size of you panel
        //77 - is to remove the header and footer
        //50 - is for top position. You can change it depending on your design
        public void swipe(bool show = true)
        {
            this.Visible = true;
            Transition _transasition = new Transitions.Transition(new TransitionType_EaseInEaseOut(500));

            _transasition.add(this, "Left", show ? 0 : this.Width);
            _transasition.run();

            while (this.Left != (show ? 0 : this.Width))
            {
                Application.DoEvents();
            }

            if (!show)
            {
                closed(new EventArgs());
                _owner.Resize -= owner_Resize;
                _owner.Controls.Remove(this);
                this.Dispose();
            }
            else
            {
                _loaded = true;
                ResizeForm();
                shown(new EventArgs());
            }
        }
Exemple #12
0
        /// <summary>
        /// Creates and immediately runs a transition on the property passed in.
        /// </summary>
        public static void run(object target, string strPropertyName, object destinationValue, ITransitionType transitionMethod)
        {
            Transition t = new Transition(transitionMethod);

            t.add(target, strPropertyName, destinationValue);
            t.run();
        }
        private void SetErrorMessageOpacity()
        {
            if (_presenter.HasError)
            {
                // Todo - is this the prob? maybe single log trasition
                var t = new Transition(new TransitionType_Acceleration(1000));
                t.add(PBOX_WarningIcon, "Opacity", 1.0F);
                t.add(LBL_Error, "Opacity", 1.0F);
                t.run();

                //Transition.runChain(_ErrorTransition);
            }
            else
            {
                _NoErrorTransition.run();
            }
        }
        public void Activate()
        {
            _presenter = new ConfigCameraStabModel(MainV2.comPort);
            presenterBindingSource.DataSource = _presenter;

            var delay = new Transition(new TransitionType_Linear(2000));
            var fadeIn = new Transition(new TransitionType_Linear(800));
            fadeIn.add(PBOX_WarningIcon, "Opacity", 1.0F);
            fadeIn.add(LBL_Error, "Opacity", 1.0F);
           
            _ErrorTransition = new[] { delay, fadeIn };

            _NoErrorTransition = new Transition(new TransitionType_Linear(10));
            _NoErrorTransition.add(PBOX_WarningIcon, "Opacity", 0.0F);
            _NoErrorTransition.add(LBL_Error, "Opacity", 0.0F);
             
            //setup button actions
            foreach (var btn in Controls.Cast<Control>().OfType<Button>())
                btn.Click += HandleButtonClick;


            _presenter.PropertyChanged += (s, e) =>
                    {
                        if (e.PropertyName == "HasError")
                        {
                            SetErrorMessageOpacity();
                        }
                    };
            
            _presenter.PropertyChanged += CheckCommandStates;
            LNK_wiki.MouseEnter += (s, e) => FadeLinkTo((LinkLabel)s, Color.CornflowerBlue);
            LNK_wiki.MouseLeave += (s, e) => FadeLinkTo((LinkLabel)s, Color.WhiteSmoke);

            SetErrorMessageOpacity();

            // Fix for mono bug where binding sources do not respect INPC notifications on POCOs
            if (MainV2.MONO)
            {
                _presenter.PropertyChanged += (s, e) => presenterBindingSource.ResetBindings(false);
            }

            _presenter.Load();
        }
        public ConfigMount()
        {
            InitializeComponent();
            PBOX_WarningIcon.Opacity = 0.0F;
            LBL_Error.Opacity = 0.0F;

            var delay = new Transition(new TransitionType_Linear(2000));
            var fadeIn = new Transition(new TransitionType_Linear(800));
            fadeIn.add(PBOX_WarningIcon, "Opacity", 1.0F);
            fadeIn.add(LBL_Error, "Opacity", 1.0F);

            _ErrorTransition = new[] { delay, fadeIn };

            _NoErrorTransition = new Transition(new TransitionType_Linear(10));
            _NoErrorTransition.add(PBOX_WarningIcon, "Opacity", 0.0F);
            _NoErrorTransition.add(LBL_Error, "Opacity", 0.0F);

            //setup button actions
            foreach (var btn in Controls.Cast<Control>().OfType<Button>())
                btn.Click += HandleButtonClick;

            LNK_wiki.MouseEnter += (s, e) => FadeLinkTo((LinkLabel)s, Color.CornflowerBlue);
            LNK_wiki.MouseLeave += (s, e) => FadeLinkTo((LinkLabel)s, Color.WhiteSmoke);

            SetErrorMessageOpacity();

            if (MainV2.cs.firmware == MainV2.Firmwares.ArduPlane)
            {
                mavlinkComboBoxTilt.Items.AddRange(Enum.GetNames(typeof(Channelap)));
                mavlinkComboBoxRoll.Items.AddRange(Enum.GetNames(typeof(Channelap)));
                mavlinkComboBoxPan.Items.AddRange(Enum.GetNames(typeof(Channelap)));
            }
            else
            {
                mavlinkComboBoxTilt.Items.AddRange(Enum.GetNames(typeof(Channelac)));
                mavlinkComboBoxRoll.Items.AddRange(Enum.GetNames(typeof(Channelac)));
                mavlinkComboBoxPan.Items.AddRange(Enum.GetNames(typeof(Channelac)));
            }
        }
 private void buttonBack_Click(object sender, EventArgs e)
 {
     var t = new Transition(new TransitionType_EaseInEaseOut(400));
     t.TransitionCompletedEvent += HideTransitionCompletedEvent;
     t.add(this, "Left", FindForm().Width);
     t.add(this, "BackColor", Color.Silver);
     t.run();
 }
Exemple #17
0
 private void ShowAssistant()
 {
     MicPanel.Location = new System.Drawing.Point(((ScreenWidth / 3) - MicPanel.Width) / 2, Mic.Location.Y + 10);
     Transition t = new Transition(new TransitionType_Deceleration(500));
     t.add(this, "Top", ScreenHeight - 150);
     hidden = false;
     t.run();
 }
        private void CreateRetourManagement()
        {
            if (_retourManagement != null) {
                return;
            }

            if (_reservationManagement != null || _empruntManagement != null) {
                if (_reservationManagement != null){
                    Controls.Remove(_reservationManagement);
                    Controls.Remove(_empruntManagement);
                }
                if (_reservationManagement != null) {
                    _reservationManagement.Dispose();
                    _reservationManagement = null;
                }
                if (_empruntManagement != null) {
                    _empruntManagement.Dispose();
                    _empruntManagement = null;
                }
            }

            _retourManagement = new RetourManagement(this) {Location = new Point(panel1.Width + 20, 56)};

            var t1 = new Transition(new TransitionType_EaseInEaseOut(1000));
            t1.add(this, "Width", _dashboardWidth + _retourManagement.Width + 10);
            t1.add(lblBibliothequeTitle, "Left", _lblBibliothequeTitleLocationX + _retourManagement.Width + 10);
            t1.add(cmbBibliotheque, "Left", _cmbBibliothequeLocationX + _retourManagement.Width + 10);

            Controls.Add(_retourManagement);

            t1.run();
        }
 /// <summary>
 /// Creates and immediately runs a transition on the property passed in.
 /// </summary>
 public static void run(object target, string strPropertyName, object destinationValue, ITransitionType transitionMethod)
 {
     Transition t = new Transition(transitionMethod);
     t.add(target, strPropertyName, destinationValue);
     t.run();
 }
        void AnimateMenuPanel()
        {
            //Util.Animate(menuPanel, Util.Effect.Slide, 100, 0); this.Refresh();

            menuPanel.BringToFront();
            // Left border and bottom left cornerborder would get overlapped otherwise
            LeftBorderPanel.BringToFront();
            BottomLeftCornerPanel.BringToFront();

            #region Animation
            if (this.WindowState == FormWindowState.Normal)
            {
                if (menuPanel.Left == -menuPanel.Width - 1)
                {
                    Transition t = new Transition(new TransitionType_Deceleration(300)); t.add(menuPanel, "Left", 1); t.run();
                }
                else
                {
                    Transition t = new Transition(new TransitionType_Deceleration(300)); t.add(menuPanel, "Left", -menuPanel.Width - 1); t.run();
                }
            }
            else
            {
                if (menuPanel.Left == -menuPanel.Width)
                {
                    Transition t = new Transition(new TransitionType_Deceleration(300)); t.add(menuPanel, "Left", 0); t.run();
                }
                else
                {
                    Transition t = new Transition(new TransitionType_Deceleration(300)); t.add(menuPanel, "Left", -menuPanel.Width); t.run();
                }
            }
            #endregion
        }
 void AnimateController()
 {
     if (currentCameraLabel.Top == 0)
     {
         Transition t = new Transition(new TransitionType_Acceleration(350)); t.add(cameralistDropDownButton, "Top", -cameralistDropDownButton.Width); t.add(currentCameraLabel, "Top", -currentCameraLabel.Width); t.run();
     }
     else
     {
         Transition t = new Transition(new TransitionType_Deceleration(500)); t.add(cameralistDropDownButton, "Top", 0); t.add(currentCameraLabel, "Top", 0); t.run();
     }
 }
        void ToggleNoInternetPanel()
        {
            // avoid border overlapping
            TopBorderPanel.BringToFront();
            TopLeftCornerPanel.BringToFront();
            TopRightCornerPanel.BringToFront();

            if (this.WindowState == FormWindowState.Normal)
            {
                if (this.Size != Screen.PrimaryScreen.Bounds.Size)
                {
                    if (nointernet_panel.Top == 0)
                    {
                        nointernet_panel.Show();
                        Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", 31); t.run();
                    }
                    else
                    {
                        Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", 0); t.run();
                    }
                }
                else
                if (nointernet_panel.Top == -nointernet_panel.Height)
                {
                    nointernet_panel.Show(); TopBorderPanel.Hide(); TopLeftCornerPanel.Hide(); TopRightCornerPanel.Hide();
                    Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", 0); t.run();
                }
                else
                {
                    Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", -nointernet_panel.Height); t.run();
                }
            }
            else
            {
                if (nointernet_panel.Top == 0)
                {
                    nointernet_panel.Show();
                    Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", 30); t.run();
                }
                else
                {
                    Transition t = new Transition(new TransitionType_Deceleration(450)); t.add(nointernet_panel, "Top", 0); t.run();
                }
            }

            menuPanel.BringToFront(); titlebar.BringToFront();
            //if (nointernet_panel.Visible == true) SetTitlebarColor(nointernet_panel.BackColor, Color.White);
            //else SetTitlebarColor(GetTitlebarColoring(), Color.White);
        }
        /// <summary>
        /// Called when the "Drop and Bounce" button is pressed.
        /// </summary>
        private void cmdDropAndBounce_Click(object sender, EventArgs e)
        {
            // We animate the button to drop and bounce twice with bounces
            // of diminishing heights. While it does this, it is moving to 
            // the right, as if thrown to the right. When this animation has
            // finished, the button moves back to its original position.

            // The diminishing-bounce is not one of the built-in transition types,
            // so we create it here as a user-defined transition type. You define 
            // these as a collection of TransitionElements. These define how far the
            // animated properties will have moved at various times, and how the 
            // transition between different elements is to be done.

            // So in the example below:
            //  0% - 40%    The button acclerates to 100% distance (i.e. the bottom of the screen)
            // 40% - 65%    The button bounces back (decelerating) to 70% distance.
            // etc...

            IList<TransitionElement> elements = new List<TransitionElement>();
            elements.Add(new TransitionElement(40, 100, InterpolationMethod.Accleration));
            elements.Add(new TransitionElement(65, 70, InterpolationMethod.Deceleration));
            elements.Add(new TransitionElement(80, 100, InterpolationMethod.Accleration));
            elements.Add(new TransitionElement(90, 92, InterpolationMethod.Deceleration));
            elements.Add(new TransitionElement(100, 100, InterpolationMethod.Accleration));

            int iDestination = gbDropAndBounce.Height - cmdDropAndBounce.Height - 10;
            Transition.run(cmdDropAndBounce, "Top", iDestination, new TransitionType_UserDefined(elements, 2000));

            // The transition above just animates the vertical bounce of the button, but not
            // the left-to-right movement. This can't use the same transition, as otherwise the
            // left-to-right movement would bounce back and forth.

            // We run the left-to-right animation as a second, simultaneous transition. 
            // In fact, we run a transition chain, with the animation of the button back
            // to its starting position as the second item in the chain. The second 
            // transition starts as soon as the first is complete...

            Transition t1 = new Transition(new TransitionType_Linear(2000));
            t1.add(cmdDropAndBounce, "Left", cmdDropAndBounce.Left + 400);

            Transition t2 = new Transition(new TransitionType_EaseInEaseOut(2000));
            t2.add(cmdDropAndBounce, "Top", 19);
            t2.add(cmdDropAndBounce, "Left", 6);

            Transition.runChain(t1, t2);
        }
Exemple #24
0
        public void ShowMenu(string menuName)
        {
            if (menuName.Equals(CurrentlyFocused.Name))
                return;

            MetroMenuItem target = GetMenuItem(menuName);

            if (target == null)
                throw new InvalidOperationException("Menu by the name of " + menuName + " could not be found..");

            this.Invoke(delegate()
            {
                //-- Don't want this control resize as it's losing focus..
                CurrentlyFocused.Control.Anchor = AnchorStyles.Left | AnchorStyles.Top;

                //-- Should I also make it invisible? Will this improve performance? Since technically the control doesn't have
                //-- to be drawn..
                //CurrentlyFocused.Control.Visible = false;

                //-- Make sure the control that will be focused is the same size as the parent.
                target.Control.Size = this.Size;

                //-- Definitely want this control to resize with the parent now - it's in focus!
                target.Control.Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom;

                if (target.MenuTransition == MetroMenuTransition.Instant)
                {
                    target.Control.Left = 0;
                    target.Control.BringToFront();
                }
                else if (target.MenuTransition == MetroMenuTransition.EaseIn)
                {
                    int direction = 1;

                    if (MenuItems.IndexOf(target) < MenuItems.IndexOf(CurrentlyFocused))
                        direction = -1;

                    target.Control.Left = this.Width * direction;
                    target.Control.BringToFront();

                    Transition t = new Transition(new TransitionType_EaseInEaseOut(500));
                    t.add(target.Control, "Left", 0);
                    t.add(CurrentlyFocused.Control, "Left", -this.Width * direction);
                    t.run();
                }
            });

            CurrentlyFocused = target;
        }
        private void ResizeDynamicWindow(Control objControl)
        {
            var t1 = new Transition(new TransitionType_EaseInEaseOut(1000));
            t1.add(this, "Width", _dashboardWidth + objControl.Width + 10);
            t1.add(lblBibliotheque, "Left", _lblBibliothequeLocationX + objControl.Width + 10);
            t1.add(lblBibliothequeTitle, "Left", _lblBibliothequeTitleLocationX + objControl.Width + 10);
            t1.add(lblDtLastVisite, "Left", _lblDtLastLocationX + objControl.Width + 10);
            t1.add(lblDtLastVisiteTitle, "Left", _lblDtLastVisiteTitleLocationX + objControl.Width + 10);

            t1.run();
        }
Exemple #26
0
 private void HideAssistant()
 {
     Transition t = new Transition(new TransitionType_Deceleration(500));
     t.add(this, "Top", ScreenHeight-1);
     hidden = true;
     t.run();
     MessagePanelz.Visible = false;
     DebuggerPanel.Visible = false;
     MessagePanelz.Height = 5;
 }
Exemple #27
0
 public void AnimateHideForm(EventHandler<Transition.Args> handler = null)
 {
     Transition t = new Transition(new TransitionType_EaseInEaseOut(100));
     t.add(this, "Top", this.Location.Y + 48);
     t.add(this, "Opacity", 0.0);
     if (handler != null) t.TransitionCompletedEvent += handler;
     t.run();
 }
Exemple #28
0
 public virtual void AnimateShowForm(EventHandler<Transition.Args> handler = null)
 {
     this.Show();
     Transition t = new Transition(new TransitionType_EaseInEaseOut(100));
     int tempY = this.Location.Y;
     this.CenterToScreen();
     int centerY = this.Location.Y;
     this.Top = tempY;
     t.add(this, "Top", centerY);
     t.add(this, "Opacity", 1.0);
     if (handler != null) t.TransitionCompletedEvent += handler;
     t.run();
 }
 private void FadePicBoxes(Control picbox, float Opacity)
 {
     var fade = new Transition(new TransitionType_Linear(400));
     fade.add(picbox, "Opacity", Opacity);
     fade.run();
 }
        /// <summary>
        /// Called when the "Text Transition" button is pressed.
        /// </summary>
        private void cmdTextTransition_Click(object sender, EventArgs e)
        {
            // We transition four properties simulataneously here:
            // - The two labels' text is changed.
            // - The two labels' colors are changed.

            // We work out the new text and colors to transition to...
            string strText1, strText2;
            Color color1, color2;
            if (lblTextTransition1.Text == STRING_SHORT)
            {
                strText1 = STRING_LONG;
                color1 = Color.Red;
                strText2 = STRING_SHORT;
                color2 = Color.Blue;
            }
            else
            {
                strText1 = STRING_SHORT;
                color1 = Color.Blue;
                strText2 = STRING_LONG;
                color2 = Color.Red;
            }

            // We create a transition to animate all four properties at the same time...
            Transition t = new Transition(new TransitionType_Linear(1000));
            t.add(lblTextTransition1, "Text", strText1);
            t.add(lblTextTransition1, "ForeColor", color1);
            t.add(lblTextTransition2, "Text", strText2);
            t.add(lblTextTransition2, "ForeColor", color2);
            t.run();
        }
Exemple #31
0
 private static void FadeLinkTo(LinkLabel l, Color c)
 {
     var changeColorTransition = new Transition(new TransitionType_Linear(300));
     changeColorTransition.add(l, "LinkColor", c);
     changeColorTransition.run();
 }
Exemple #32
0
        private void deleteButton_Click(object sender, EventArgs e)
        {
            ((OrdersView)owningView).Finalized -= new EventHandler<OrdersView.FinalizedEventArgs>(OrderRow_Finalized);
            SessionManager.Instance.MetaData.OrderTypes.ReleaseListeners(this);

            //Transition.run(this, "BackColor", Color.Red, new TransitionType_Flash(1, 100));
            t = new Transition(new TransitionType_Flash(1, 50));
            t.add(this, "BackColor", Color.Gray);
            t.TransitionCompletedEvent += new EventHandler<Transition.Args>(t_TransitionCompletedEvent);

            t.run();
        }