Esempio n. 1
0
	void ItemBox::setIndexSelected(size_t _index)
	{
		MYGUI_ASSERT_RANGE_AND_NONE(_index, mItemsInfo.size(), "ItemBox::setIndexSelected");
		if (_index == mIndexSelect) return;

		size_t start = (size_t)(mFirstVisibleIndex * mCountItemInLine);

		// сбрасываем старое выделение
		if (mIndexSelect != ITEM_NONE)
		{
			size_t index = mIndexSelect;
			mIndexSelect = ITEM_NONE;

			if ((index >= start) && (index < (start + mVectorItems.size())))
			{
				IBDrawItemInfo data(index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				requestDrawItem(this, mVectorItems[index - start], data);
			}
		}

		mIndexSelect = _index;
		if (mIndexSelect != ITEM_NONE)
		{
			if ((_index >= start) && (_index < (start + mVectorItems.size())))
			{
				IBDrawItemInfo data(_index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				requestDrawItem(this, mVectorItems[_index - start], data);
			}
		}

	}
Esempio n. 2
0
	// на входе индексы реальные, на выходе, то что видит пользователь
	size_t BiIndexBase::convertToFace(size_t _index) const
	{
		#if MYGUI_DEBUG_MODE == 1
			MYGUI_ASSERT_RANGE_AND_NONE(_index, mIndexFace.size(), "BiIndexBase::convertToFace");
		#endif
		return _index == ITEM_NONE ? ITEM_NONE : mIndexBack[_index];
	}
Esempio n. 3
0
	DataPtr Data::getChildByIndex(size_t _index)
	{
		MYGUI_ASSERT_RANGE_AND_NONE(_index, mChilds.size(), "Data::getChildSelected");

		if (_index == MyGUI::ITEM_NONE)
			return NULL;
		return mChilds[_index];
	}
Esempio n. 4
0
 void ListBox::setIndexSelected(size_t _index)
 {
     MYGUI_ASSERT_RANGE_AND_NONE(_index, mItemsInfo.size(), "ListBox::setIndexSelected");
     if (mIndexSelect != _index)
     {
         _selectIndex(mIndexSelect, false);
         _selectIndex(_index, true);
         mIndexSelect = _index;
     }
 }
Esempio n. 5
0
    void MultiListBox::setIndexSelected(size_t _index)
    {
        if (_index == mItemSelected)
            return;

        MYGUI_ASSERT(!mVectorColumnInfo.empty(), "MultiListBox::setIndexSelected");
        MYGUI_ASSERT_RANGE_AND_NONE(_index, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::setIndexSelected");

        mItemSelected = _index;
        updateBackSelected(BiIndexBase::convertToBack(mItemSelected));
    }
Esempio n. 6
0
	void ComboBox::setIndexSelected(size_t _index)
	{
		MYGUI_ASSERT_RANGE_AND_NONE(_index, mList->getItemCount(), "ComboBox::setIndexSelected");
		mItemIndex = _index;
		mList->setIndexSelected(_index);
		if (_index == ITEM_NONE)
		{
			Base::setCaption("");
			return;
		}
		Base::setCaption(mList->getItemNameAt(_index));
		Base::updateView(); // hook for update
	}
Esempio n. 7
0
	void ListCtrl::setIndexSelected(size_t _index)
	{
		MYGUI_ASSERT_RANGE_AND_NONE(_index, mItemsInfo.size(), "ListCtrl::setIndexSelected");
		if (_index == mIndexSelect) return;

		//size_t start = (size_t)mFirstVisibleIndex;

		// сбрасываем старое выделение
		if (mIndexSelect != ITEM_NONE)
		{

			size_t index = mIndexSelect;
			mIndexSelect = ITEM_NONE;

			//FIXME потом только один попробовать обновить
			_updateAllVisible(index, true, false);

			/*if ((index >= start) && (index < (start + mVectorItems.size())))
			{
				IBDrawItemInfo data(index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				IntCoord coord(IntPoint(), mItemsInfo[index].size);
				requestDrawItem(this, mVectorItems[index - start], data, coord);
				mItemsInfo[index].size = coord.size();
			}*/
		}

		mIndexSelect = _index;
		if (mIndexSelect != ITEM_NONE)
		{

			//FIXME потом только один попробовать обновить
			_updateAllVisible(_index, true, false);

			/*if ((_index >= start) && (_index < (start + mVectorItems.size())))
			{
				IBDrawItemInfo data(_index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				IntCoord coord(IntPoint(), mItemsInfo[_index].size);
				requestDrawItem(this, mVectorItems[_index - start], data, coord);
				mItemsInfo[_index].size = coord.size();
			}*/
		}

	}