当前位置: 首页>>代码示例>>C++>>正文


C++ MYGUI_ASSERT_RANGE函数代码示例

本文整理汇总了C++中MYGUI_ASSERT_RANGE函数的典型用法代码示例。如果您正苦于以下问题:C++ MYGUI_ASSERT_RANGE函数的具体用法?C++ MYGUI_ASSERT_RANGE怎么用?C++ MYGUI_ASSERT_RANGE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了MYGUI_ASSERT_RANGE函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: MYGUI_ASSERT

	void MultiListBox::swapItemsAt(size_t _index1, size_t _index2)
	{
		MYGUI_ASSERT(!mVectorColumnInfo.empty(), "MultiListBox::removeItemAt");
		MYGUI_ASSERT_RANGE(_index1, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::swapItemsAt");
		MYGUI_ASSERT_RANGE(_index2, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::swapItemsAt");

		// при сортированном, меняем только индексы
		BiIndexBase::swapItemsFaceAt(_index1, _index2);

		// при несортированном, нужно наоборот, поменять только данные
		// FIXME
	}
开发者ID:Digmaster,项目名称:mygui,代码行数:12,代码来源:MyGUI_MultiListBox.cpp

示例2: MYGUI_ASSERT_RANGE

	void ListBox::swapItemsAt(size_t _index1, size_t _index2)
	{
		MYGUI_ASSERT_RANGE(_index1, mItemsInfo.size(), "ListBox::swapItemsAt");
		MYGUI_ASSERT_RANGE(_index2, mItemsInfo.size(), "ListBox::swapItemsAt");

		if (_index1 == _index2) return;

		std::swap(mItemsInfo[_index1], mItemsInfo[_index2]);

		Base::redrawItemAt(_index1);
		Base::redrawItemAt(_index2);
	}
开发者ID:OndraK,项目名称:openmw,代码行数:12,代码来源:MyGUI_ListBox.cpp

示例3: MYGUI_ASSERT_RANGE

	void ImageBox::insertItemFrameDublicate(size_t _index, size_t _indexFrame, size_t _indexSourceFrame)
	{
		MYGUI_ASSERT_RANGE(_index, mItems.size(), "ImageBox::insertItemFrameDublicate");

		VectorImages::iterator iter = mItems.begin() + _index;
		MYGUI_ASSERT_RANGE_INSERT(_indexFrame, iter->images.size(), "ImageBox::insertItemFrameDublicate");
		if (_indexFrame == ITEM_NONE) _indexFrame = iter->images.size() - 1;

		MYGUI_ASSERT_RANGE(_indexSourceFrame, iter->images.size(), "ImageBox::insertItemFrameDublicate");

		iter->images.insert(iter->images.begin() + _indexFrame, iter->images[_indexSourceFrame]);
	}
开发者ID:chhawk,项目名称:MyGUI,代码行数:12,代码来源:MyGUI_ImageBox.cpp

示例4: MYGUI_ASSERT_RANGE

	size_t BiIndexBase::removeItemAt(size_t _index)
	{
		#if MYGUI_DEBUG_MODE == 1
			MYGUI_ASSERT_RANGE(_index, mIndexFace.size(), "BiIndexBase::removeItemAt");
			checkIndexes();
		#endif

		// для удаления айтема
		size_t index = mIndexFace[_index];

		mIndexFace.erase(mIndexFace.begin() + _index);
		mIndexBack.pop_back();

		size_t count = mIndexFace.size();
		for (size_t pos = 0; pos < count; ++pos)
		{
			if (mIndexFace[pos] > index)
				mIndexFace[pos]--;
			mIndexBack[mIndexFace[pos]] = pos;
		}

		#if MYGUI_DEBUG_MODE == 1
			checkIndexes();
		#endif

		return index;
	}
开发者ID:alexis-,项目名称:iwe,代码行数:27,代码来源:MyGUI_BiIndexBase.cpp

示例5: MYGUI_ASSERT_RANGE

	void ListCtrl::_setContainerItemInfo(size_t _index, bool _set, bool _accept)
	{
		if (_index == ITEM_NONE) return;
		MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "ListCtrl::_setContainerItemInfo");

		mIndexAccept = (_set && _accept ) ? _index : ITEM_NONE;
		mIndexRefuse = (_set && !_accept) ? _index : ITEM_NONE;

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

		/*size_t start = (size_t)mFirstVisibleIndex;
		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();

		}*/
	}
开发者ID:siangzhang,项目名称:starworld,代码行数:25,代码来源:MyGUI_ListCtrl.cpp

示例6: MYGUI_ASSERT

    void MultiListBox::removeItemAt(size_t _index)
    {
        MYGUI_ASSERT(!mVectorColumnInfo.empty(), "MultiListBox::removeItemAt");
        MYGUI_ASSERT_RANGE(_index, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::removeItemAt");

        size_t index = BiIndexBase::removeItemAt(_index);

        for (VectorColumnInfo::iterator iter = mVectorColumnInfo.begin(); iter != mVectorColumnInfo.end(); ++iter)
        {
            (*iter).list->removeItemAt(index);
        }

        // если надо, то меняем выделенный элемент
        size_t count = mVectorColumnInfo.begin()->list->getItemCount();
        if (count == 0)
            mItemSelected = ITEM_NONE;
        else if (mItemSelected != ITEM_NONE)
        {
            if (_index < mItemSelected)
                mItemSelected --;
            else if ((_index == mItemSelected) && (mItemSelected == count))
                mItemSelected --;
        }
        updateBackSelected(BiIndexBase::convertToBack(mItemSelected));
    }
开发者ID:redkaras,项目名称:Demi3D,代码行数:25,代码来源:MyGUI_MultiListBox.cpp

示例7: requestItemSize

	Widget* ItemBox::getItemWidget(size_t _index)
	{
		// еще нет такого виджета, нуно создать
		if (_index == mVectorItems.size())
		{
			requestItemSize();

			Widget* item = _getClientWidget()->createWidget<Widget>("Default", IntCoord(0, 0, mSizeItem.width, mSizeItem.height), Align::Default);

			// вызываем запрос на создание виджета
			requestCreateWidgetItem(this, item);

			item->eventMouseWheel += newDelegate(this, &ItemBox::notifyMouseWheel);
			item->eventRootMouseChangeFocus += newDelegate(this, &ItemBox::notifyRootMouseChangeFocus);
			item->eventMouseButtonPressed += newDelegate(this, &ItemBox::notifyMouseButtonPressed);
			item->eventMouseButtonReleased += newDelegate(this, &ItemBox::notifyMouseButtonReleased);
			item->eventMouseButtonDoubleClick += newDelegate(this, &ItemBox::notifyMouseButtonDoubleClick);
			item->eventMouseDrag += newDelegate(this, &ItemBox::notifyMouseDrag);
			item->_setContainer(this);
			item->eventKeyButtonPressed += newDelegate(this, &ItemBox::notifyKeyButtonPressed);
			item->eventKeyButtonReleased += newDelegate(this, &ItemBox::notifyKeyButtonReleased);

			item->_setInternalData((size_t)mVectorItems.size());

			mVectorItems.push_back(item);
		}

		// запрашивать только последовательно
		MYGUI_ASSERT_RANGE(_index, mVectorItems.size(), "ItemBox::getItemWidget");

		return mVectorItems[_index];
	}
开发者ID:DotWolff,项目名称:mygui,代码行数:32,代码来源:MyGUI_ItemBox.cpp

示例8: MYGUI_ASSERT_RANGE

    const UString& MultiListBox::getSubItemNameAt(size_t _column, size_t _index)
    {
        MYGUI_ASSERT_RANGE(_index, mVectorColumnInfo.begin()->list->getItemCount(), "MultiListBox::getSubItemNameAt");

        size_t index = BiIndexBase::convertToBack(_index);
        return getSubItemAt(_column)->getItemNameAt(index);
    }
开发者ID:redkaras,项目名称:Demi3D,代码行数:7,代码来源:MyGUI_MultiListBox.cpp

示例9: MYGUI_ASSERT_RANGE

	void ItemBox::removeItemAt(size_t _index)
	{
		MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "ItemBox::removeItemAt");

		_resetContainer(false);
		resetCurrentActiveItem();

		mItemsInfo.erase(mItemsInfo.begin() + _index);

		// расчитываем новый индекс выделения
		if (mIndexSelect != ITEM_NONE)
		{
			if (mItemsInfo.empty())
			{
				mIndexSelect = ITEM_NONE;
			}
			else if ((mIndexSelect > _index) || (mIndexSelect == mItemsInfo.size()))
			{
				mIndexSelect --;
			}
		}

		updateScrollSize();
		updateScrollPosition();

		findCurrentActiveItem();

		_updateAllVisible(true);
	}
开发者ID:DotWolff,项目名称:mygui,代码行数:29,代码来源:MyGUI_ItemBox.cpp

示例10: calcIndexByWidget

	void ItemBox::notifyRootMouseChangeFocus(Widget* _sender, bool _focus)
	{
		size_t index = calcIndexByWidget(_sender);
		if (_focus)
		{
			MYGUI_ASSERT_RANGE(index, mItemsInfo.size(), "ItemBox::notifyRootMouseChangeFocus");

			// сбрасываем старый
			if (mIndexActive != ITEM_NONE)
			{
				size_t old_index = mIndexActive;
				mIndexActive = ITEM_NONE;
				IBDrawItemInfo data(old_index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				requestDrawItem(this, mVectorItems[old_index - (mFirstVisibleIndex * mCountItemInLine)], data);
			}

			mIndexActive = index;
			IBDrawItemInfo data(index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
			requestDrawItem(this, mVectorItems[*_sender->_getInternalData<size_t>()], data);
		}
		else
		{
			// при сбросе виджет может быть уже скрыт, и соответсвенно отсутсвовать индекс
			// сбрасываем индекс, только если мы и есть актив
			if (index < mItemsInfo.size() && mIndexActive == index)
			{
				mIndexActive = ITEM_NONE;
				IBDrawItemInfo data(index, mIndexSelect, mIndexActive, mIndexAccept, mIndexRefuse, false, false);
				requestDrawItem(this, mVectorItems[*_sender->_getInternalData<size_t>()], data);
			}
		}
	}
开发者ID:DotWolff,项目名称:mygui,代码行数:32,代码来源:MyGUI_ItemBox.cpp

示例11: MYGUI_ASSERT_RANGE

	void BiIndexData::removeItemAt(size_t _index)
	{
		MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "BiIndexData::removeItemAt");

		size_t index = BiIndexBase::removeItemAt(_index);
		mItemsInfo.erase(mItemsInfo.begin() + index);
	}
开发者ID:venkatarajasekhar,项目名称:viper,代码行数:7,代码来源:BiIndexData.cpp

示例12: MYGUI_ASSERT_RANGE

	Widget* MenuControl::createItemChildByType(size_t _index, const std::string& _type)
	{
		MYGUI_ASSERT_RANGE(_index, mItemsInfo.size(), "MenuControl::createItemChildByType");
		removeItemChildAt(_index);
		Widget* child = mItemsInfo[_index].item->createWidgetT(WidgetStyle::Popup, _type, mSubMenuSkin, IntCoord(), Align::Default, mSubMenuLayer);
		MYGUI_ASSERT(child->isType<MenuControl>(), "child must have MenuControl base type");
		return child;
	}
开发者ID:Anomalous-Software,项目名称:mygui,代码行数:8,代码来源:MyGUI_MenuControl.cpp

示例13: _selectIndex

    void ListBox::notifyMousePressed(Widget* _sender, int _left, int _top, MouseButton _id)
    {
        if (MouseButton::Left != _id)
            return;

        if (_sender == mWidgetScroll)
            return;

        // если выделен клиент, то сбрасываем
        if (_sender == _getClientWidget())
        {
            if (mIndexSelect != ITEM_NONE)
            {
                _selectIndex(mIndexSelect, false);
                mIndexSelect = ITEM_NONE;
                eventListChangePosition(this, mIndexSelect);
            }
            eventListMouseItemActivate(this, mIndexSelect);

            // если не клиент, то просчитывам
        }
        // ячейка может быть скрыта
        else if (_sender->getVisible())
        {

#if MYGUI_DEBUG_MODE == 1
            _checkMapping("ListBox::notifyMousePressed");
            MYGUI_ASSERT_RANGE(*_sender->_getInternalData<size_t>(), mWidgetLines.size(), "ListBox::notifyMousePressed");
            MYGUI_ASSERT_RANGE(*_sender->_getInternalData<size_t>() + mTopIndex, mItemsInfo.size(), "ListBox::notifyMousePressed");
#endif

            size_t index = *_sender->_getInternalData<size_t>() + mTopIndex;

            if (mIndexSelect != index)
            {
                _selectIndex(mIndexSelect, false);
                _selectIndex(index, true);
                mIndexSelect = index;
                eventListChangePosition(this, mIndexSelect);
            }
            eventListMouseItemActivate(this, mIndexSelect);
        }

        _resetContainer(true);
    }
开发者ID:redkaras,项目名称:Demi3D,代码行数:45,代码来源:MyGUI_ListBox.cpp

示例14: MYGUI_ASSERT_RANGE

	void ImageBox::deleteItemFrame(size_t _index, size_t _indexFrame)
	{
		MYGUI_ASSERT_RANGE(_index, mItems.size(), "ImageBox::deleteItemFrame");

		VectorImages::iterator iter = mItems.begin() + _index;
		MYGUI_ASSERT_RANGE_INSERT(_indexFrame, iter->images.size(), "ImageBox::deleteItemFrame");
		if (_indexFrame == ITEM_NONE) _indexFrame = iter->images.size() - 1;

		iter->images.erase(iter->images.begin() + _indexFrame);
	}
开发者ID:blunted2night,项目名称:MyGUI,代码行数:10,代码来源:MyGUI_ImageBox.cpp

示例15: MYGUI_ASSERT_RANGE

    void ListBox::notifyMouseSetFocus(Widget* _sender, Widget* _old)
    {

#if MYGUI_DEBUG_MODE == 1
        MYGUI_ASSERT_RANGE(*_sender->_getInternalData<size_t>(), mWidgetLines.size(), "ListBox::notifyMouseSetFocus");
#endif

        mLineActive = *_sender->_getInternalData<size_t>();
        eventListMouseItemFocus(this, mLineActive);
    }
开发者ID:redkaras,项目名称:Demi3D,代码行数:10,代码来源:MyGUI_ListBox.cpp


注:本文中的MYGUI_ASSERT_RANGE函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。