Ejemplo n.º 1
0
void EC_DynamicComponent::RemoveAllAttributes(AttributeChange::Type change)
{
    for(unsigned i = attributes.size() - 1; i < attributes.size(); --i)
    {
        // Trigger scenemanager signal
        Scene* scene = ParentScene();
        if (scene)
            scene->EmitAttributeRemoved(this, attributes[i], change);

        QString name(attributes[i]->Name());

        // Trigger internal signal(s)
        emit AttributeAboutToBeRemoved(attributes[i]);
        SAFE_DELETE(attributes[i]);
        attributes.erase(attributes.begin() + i);
    }
}
Ejemplo n.º 2
0
void EC_DynamicComponent::RemoveAllAttributes(AttributeChange::Type change)
{
    for(unsigned i = attributes_.size() - 1; i < attributes_.size(); --i)
    {
        // Trigger scenemanager signal
        Scene::SceneManager* scene = GetParentScene();
        if (scene)
            scene->EmitAttributeRemoved(this, attributes_[i], change);
        
        QString name = QString::fromStdString(attributes_[i]->GetNameString());
        
        // Trigger internal signal(s)
        emit AttributeAboutToBeRemoved(attributes_[i]);
        SAFE_DELETE(attributes_[i]);
        attributes_.erase(attributes_.begin() + i);
        emit AttributeRemoved(name);
    }
}
Ejemplo n.º 3
0
void EC_DynamicComponent::RemoveAttribute(const QString &name, AttributeChange::Type change)
{
    for(AttributeVector::iterator iter = attributes.begin(); iter != attributes.end(); iter++)
    {
        if((*iter)->Name() == name)
        {
            // Trigger scenemanager signal
            Scene* scene = ParentScene();
            if (scene)
                scene->EmitAttributeRemoved(this, *iter, change);
            
            // Trigger internal signal(s)
            emit AttributeAboutToBeRemoved(*iter);
            SAFE_DELETE(*iter);
            attributes.erase(iter);
            break;
        }
    }
}