Example #1
0
void AssetListModel::push_back( IAssetObjectItem * value )
{
	auto index = items_.size();

	signalPreItemsInserted( index, 1 );
	items_.emplace( items_.end(), std::move( value ) );
	signalPostItemsInserted( index, 1 );
}
Example #2
0
void AssetListModel::push_front( IAssetObjectItem * value )
{
	auto index = 0;

	signalPreItemsInserted( index, 1 );
	items_.emplace( items_.begin(), std::move( value ) );
	signalPostItemsInserted( index, 1 );
}
Example #3
0
AssetListModel::Iterator AssetListModel::insert( const AssetListModel::Iterator & position, IAssetObjectItem * value )
{
	auto index = std::distance( items_.cbegin(), position.iterator() );

	signalPreItemsInserted( index, 1 );
	auto it = items_.emplace( position.iterator(), std::move( value ) );
	signalPostItemsInserted( index, 1 );

	return it;
}
Example #4
0
void GenericTreeModel::addRootItem(GenericTreeItem* item)
{
	assert(item->getParent() == nullptr);
	assert(item->model_ == nullptr);
	item->model_ = this;

	size_t index = rootItems_.size();
	signalPreItemsInserted(nullptr, index, 1);
	rootItems_.push_back(item);
	signalPostItemsInserted(nullptr, index, 1);
}
Example #5
0
void AssetListModel::resize( size_t newSize )
{
	auto oldSize = size();
	if (newSize < oldSize)
	{
		signalPreItemsRemoved( newSize, oldSize - newSize );
		items_.resize( newSize );
		signalPostItemsRemoved( newSize, oldSize - newSize );
	}
	else if (newSize > oldSize)
	{
		signalPreItemsInserted( oldSize, newSize - oldSize );
		items_.resize( newSize );
		signalPostItemsInserted( oldSize, newSize - oldSize );
	}
}