示例#1
0
Processor* CompositeProperty::getProcessor() {
    PropertyOwner* owner = getOwner();
    if (owner) {
        return owner->getProcessor();
    } else {
        return nullptr;
    }
}
示例#2
0
void Property::propertyModified() {
    NetworkLock lock(this);
    onChangeCallback_.invokeAll();
    setPropertyModified(true);

    PropertyOwner* owner = getOwner();
    if (owner) {
        // Evaluate property links       
        if (Processor* processor = owner->getProcessor()) {
             processor->notifyObserversAboutPropertyChange(this);
        }

        // Invalidate Owner
        if (getInvalidationLevel() > InvalidationLevel::Valid) {
            owner->invalidate(getInvalidationLevel(), this);        
        }
    }

    updateWidgets();
}