예제 #1
0
        public void Push(Status stToAdd, BasicAPI bAPI)
        {
            TimelineStatus tsNewStatus = new TimelineStatus(stToAdd, bAPI);
            TimelineStatus tsOldTop = null;

            DisableLoadingAnimation();

            if (m_stsControls.Count > 0)
                tsOldTop = m_stsControls.Peek();

            this.Controls.Add(tsNewStatus);
            m_stsControls.Push(tsNewStatus);
            tsNewStatus.UpdateLayout();
            tsNewStatus.BackColor = this.BackColor;
            HookupStatusEvents(tsNewStatus);

            m_iTotalControlHeight += tsNewStatus.Height;
            OnResize(EventArgs.Empty);

            if (m_bScrolledToTop)
            {
                if (tsOldTop != null)
                    tsNewStatus.Top = tsOldTop.Top - tsNewStatus.Height;
                else
                    tsNewStatus.Top = -(tsNewStatus.Height);
            }
            else
            {
                tsNewStatus.Top = 0;
                this.Top -= tsNewStatus.Height;
            }

            tsNewStatus.Visible = true;
            UpdateLayout();
        }
예제 #2
0
        public void Push(Status stToAdd, BasicAPI bAPI)
        {
            TimelineStatus tsNewStatus = new TimelineStatus(stToAdd, bAPI);
            TimelineStatus tsOldTop    = null;

            DisableLoadingAnimation();

            if (m_stsControls.Count > 0)
            {
                tsOldTop = m_stsControls.Peek();
            }

            this.Controls.Add(tsNewStatus);
            m_stsControls.Push(tsNewStatus);
            tsNewStatus.UpdateLayout();
            tsNewStatus.BackColor = this.BackColor;
            HookupStatusEvents(tsNewStatus);

            m_iTotalControlHeight += tsNewStatus.Height;
            OnResize(EventArgs.Empty);

            if (m_bScrolledToTop)
            {
                if (tsOldTop != null)
                {
                    tsNewStatus.Top = tsOldTop.Top - tsNewStatus.Height;
                }
                else
                {
                    tsNewStatus.Top = -(tsNewStatus.Height);
                }
            }
            else
            {
                tsNewStatus.Top = 0;
                this.Top       -= tsNewStatus.Height;
            }

            tsNewStatus.Visible = true;
            UpdateLayout();
        }