コード例 #1
0
			//! Move all elements so last becomes visible
			void beginToItemLast() { if (getItemCount()) beginToItemAt(getItemCount() - 1); }
コード例 #2
0
			//! Move all elements so selected becomes visible
			void beginToItemSelected() { if (getIndexSelected() != ITEM_NONE) beginToItemAt(getIndexSelected()); }
コード例 #3
0
			//! Move all elements so specified becomes visible
			void beginToItem(ItemType _item) { beginToItemAt(getItemIndex(_item)); }
コード例 #4
0
			//! Move all elements so first becomes visible
			void beginToItemFirst() { if (getItemCount()) beginToItemAt(0); }
コード例 #5
0
	void ComboBox::beginToItemFirst()
	{
		if (getItemCount())
			beginToItemAt(0);
	}
コード例 #6
0
	void ComboBox::beginToItemLast()
	{
		if (getItemCount())
			beginToItemAt(getItemCount() - 1);
	}
コード例 #7
0
	void TabControl::beginToItemLast()
	{
		if (getItemCount())
			beginToItemAt(getItemCount() - 1);
	}
コード例 #8
0
	void TabControl::beginToItemSelected()
	{
		if (getIndexSelected() != ITEM_NONE)
			beginToItemAt(getIndexSelected());
	}
コード例 #9
0
	void TabControl::beginToItemFirst()
	{
		if (getItemCount())
			beginToItemAt(0);
	}
コード例 #10
0
	void TabControl::beginToItem(TabItem* _item)
	{
		beginToItemAt(getItemIndex(_item));
	}
コード例 #11
0
ファイル: MyGUI_ListBox.cpp プロジェクト: redkaras/Demi3D
 void ListBox::beginToItemLast()
 {
     if (getItemCount())
         beginToItemAt(getItemCount() - 1);
 }
コード例 #12
0
ファイル: MyGUI_ListBox.cpp プロジェクト: redkaras/Demi3D
    void ListBox::onKeyButtonPressed(KeyCode _key, Char _char)
    {
        if (getItemCount() == 0)
        {
            Base::onKeyButtonPressed(_key, _char);
            return;
        }

        // очень секретный метод, запатентованный механизм движения курсора
        size_t sel = mIndexSelect;

        if (_key == KeyCode::ArrowUp)
        {
            if (sel != 0)
            {
                if (sel == ITEM_NONE)
                    sel = 0;
                else
                    sel --;
            }
        }
        else if (_key == KeyCode::ArrowDown)
        {
            if (sel == ITEM_NONE)
                sel = 0;
            else
                sel ++;

            if (sel >= getItemCount())
            {
                // старое значение
                sel = mIndexSelect;
            }
        }
        else if (_key == KeyCode::Home)
        {
            if (sel != 0)
                sel = 0;
        }
        else if (_key == KeyCode::End)
        {
            if (sel != (getItemCount() - 1))
            {
                sel = getItemCount() - 1;
            }
        }
        else if (_key == KeyCode::PageUp)
        {
            if (sel != 0)
            {
                if (sel == ITEM_NONE)
                {
                    sel = 0;
                }
                else
                {
                    size_t page = _getClientWidget()->getHeight() / mHeightLine;
                    if (sel <= page)
                        sel = 0;
                    else
                        sel -= page;
                }
            }
        }
        else if (_key == KeyCode::PageDown)
        {
            if (sel != (getItemCount() - 1))
            {
                if (sel == ITEM_NONE)
                {
                    sel = 0;
                }
                else
                {
                    sel += _getClientWidget()->getHeight() / mHeightLine;
                    if (sel >= getItemCount())
                        sel = getItemCount() - 1;
                }
            }
        }
        else if ((_key == KeyCode::Return) || (_key == KeyCode::NumpadEnter))
        {
            if (sel != ITEM_NONE)
            {
                //FIXME нас могут удалить
                eventListSelectAccept(this, sel);

                Base::onKeyButtonPressed(_key, _char);
                // выходим, так как изменили колличество строк
                return;
            }
        }

        if (sel != mIndexSelect)
        {
            _resetContainer(true);

            if (!isItemVisibleAt(sel))
            {
                beginToItemAt(sel);
                if (mWidgetScroll != nullptr)
                    _sendEventChangeScroll(mWidgetScroll->getScrollPosition());
            }
            setIndexSelected(sel);

            // изменилась позиция
            // FIXME нас могут удалить
            eventListChangePosition(this, mIndexSelect);
        }

        Base::onKeyButtonPressed(_key, _char);
    }
コード例 #13
0
ファイル: MyGUI_ListBox.cpp プロジェクト: redkaras/Demi3D
 void ListBox::beginToItemFirst()
 {
     if (getItemCount())
         beginToItemAt(0);
 }