Ejemplo n.º 1
0
 private void InitScrollButtons()
 {
     _leftScrollButton          = new TabBarScrollButton();
     _leftScrollButton._isRight = false;
     _leftScrollButton.Enabled  = false;
     _leftScrollButton.Width    = SCROLLBUTTON_SIZE;
     _leftScrollButton.Height   = SCROLLBUTTON_SIZE;
     _leftScrollButton.BringToFront();
     _leftScrollButton.Click += new EventHandler(OnLeftScrollButtonClicked);
     this.Controls.Add(_leftScrollButton);
     _rightScrollButton          = new TabBarScrollButton();
     _rightScrollButton._isRight = true;
     _rightScrollButton.Enabled  = false;
     _rightScrollButton.Width    = SCROLLBUTTON_SIZE;
     _rightScrollButton.Height   = SCROLLBUTTON_SIZE;
     _rightScrollButton.BringToFront();
     _rightScrollButton.Click += new EventHandler(OnRightScrollButtonClicked);
     this.Controls.Add(_rightScrollButton);
 }
Ejemplo n.º 2
0
        private void ArrangeButtonsForScrollStyle(bool animation, int animation_offset)
        {
            if (_leftScrollButton == null)
            {
                InitScrollButtons();
            }

            for (int i = 0; i < _scrollButtonOffset; i++)
            {
                GEnv.Connections.TagAt(i).Button.Visible = false;
            }
            int x     = 2;
            int y     = 3;
            int limit = x + GetTabAreaWidth();

            x += animation_offset;
            int offset = _scrollButtonOffset;
            int index  = offset;

            while (offset < GEnv.Connections.Count)
            {
                ConnectionTag ct = GEnv.Connections.TagAt(offset);
                if (!ct.IsTerminated)
                {
                    TabBarButton button = (TabBarButton)ct.Button;
                    button.Left  = x;
                    button.Width = GetNecessaryButtonWidth(ct);
                    SetButtonText(button, index, ct);
                    if (x > limit && offset > _scrollButtonOffset)
                    {
                        break;                                                             //少なくとも一つはボタンを表示する
                    }
                    button.Top     = y;
                    button.Visible = true;
                    button.Height  = UNITHEIGHT - 4;
                    x += button.Width + BUTTON_MARGIN;
                    index++;
                }
                offset++;
            }

            for (int i = offset; i < GEnv.Connections.Count; i++)
            {
                GEnv.Connections.TagAt(i).Button.Visible = false;
            }

            _leftScrollButton.Left = this.Width - SCROLLBUTTON_SIZE * 2;
            _leftScrollButton.Top  = y + 2;
            _leftScrollButton.BringToFront();
            _leftScrollButton.Enabled = !animation && _scrollButtonOffset > 0;
            _rightScrollButton.Left   = this.Width - SCROLLBUTTON_SIZE;
            _rightScrollButton.Top    = y + 2;
            _rightScrollButton.BringToFront();
            _rightScrollButton.Enabled = !animation && offset < GEnv.Connections.Count;

            //幅をふやしていったときなど、スペースに余裕があるなら表示を拡大
            if (!animation && _scrollButtonOffset > 0 && GEnv.Connections.TagAt(_scrollButtonOffset - 1).Button.Width + BUTTON_MARGIN < limit - x)
            {
                _scrollButtonOffset--;
                ArrangeButtonsForScrollStyle(false, 0);
            }
            this.Height = y + UNITHEIGHT;
        }
Ejemplo n.º 3
0
 private void InitScrollButtons()
 {
     _leftScrollButton = new TabBarScrollButton();
     _leftScrollButton._isRight = false;
     _leftScrollButton.Enabled = false;
     _leftScrollButton.Width = SCROLLBUTTON_SIZE;
     _leftScrollButton.Height = SCROLLBUTTON_SIZE;
     _leftScrollButton.BringToFront();
     _leftScrollButton.Click += new EventHandler(OnLeftScrollButtonClicked);
     this.Controls.Add(_leftScrollButton);
     _rightScrollButton = new TabBarScrollButton();
     _rightScrollButton._isRight = true;
     _rightScrollButton.Enabled = false;
     _rightScrollButton.Width = SCROLLBUTTON_SIZE;
     _rightScrollButton.Height = SCROLLBUTTON_SIZE;
     _rightScrollButton.BringToFront();
     _rightScrollButton.Click += new EventHandler(OnRightScrollButtonClicked);
     this.Controls.Add(_rightScrollButton);
 }