示例#1
0
void
KnobGui::onKnobSlavedChanged(int /*dimension*/,
                             bool b)
{
    if (b) {
        Q_EMIT keyFrameRemoved();
    } else {
        Q_EMIT keyFrameSet();
    }
}
示例#2
0
void
KnobGui::onInternalKeyRemoved(double time,
                              ViewSpec /*view*/,
                              int /*dimension*/,
                              int /*reason*/)
{
    KnobPtr knob = getKnob();
    if ( !knob->getIsSecret() && (knob->isDeclaredByPlugin() || knob->isUserKnob())) {
        knob->getHolder()->getApp()->removeKeyFrameIndicator(time);
    }
    Q_EMIT keyFrameRemoved();
}
示例#3
0
void
KnobGui::removeKeyFrame(double time,
                        int dimension,
                        ViewSpec view)
{
    KnobPtr knob = getKnob();

    knob->onKeyFrameRemoved(time, view, dimension);
    Q_EMIT keyFrameRemoved();


    assert( knob->getHolder()->getApp() );
    if ( !knob->getIsSecret() ) {
        knob->getHolder()->getApp()->removeKeyFrameIndicator(time);
    }
    updateGUI(dimension);
}
示例#4
0
void
KnobGui::onMultipleKeyRemoved(const std::list<double>& keys,
                              ViewSpec /*view*/,
                              int /*dimension*/,
                              int reason)
{
    if ( (ValueChangedReasonEnum)reason != eValueChangedReasonUserEdited ) {
        KnobPtr knob = getKnob();
        if ( !knob->getIsSecret() && ( knob->isDeclaredByPlugin()  || knob->isUserKnob() ) ) {
            std::list<SequenceTime> intKeys;
            for (std::list<double>::const_iterator it = keys.begin(); it != keys.end(); ++it) {
                intKeys.push_back(*it);
            }
            knob->getHolder()->getApp()->removeMultipleKeyframeIndicator(intKeys, true);
        }
    }

    Q_EMIT keyFrameRemoved();
}
示例#5
0
void
KnobGui::removeKeyFrame(double time,
                        int dimension,
                        ViewSpec view)
{
    KnobPtr knob = getKnob();

    boost::shared_ptr<Curve> curve = knob->getCurve(view, dimension);
    bool copyCurveValueAtTimeToInternalValue = false;
    if (curve) {
        copyCurveValueAtTimeToInternalValue = curve->getKeyFramesCount() == 1;
    }
    knob->onKeyFrameRemoved(time, view, dimension, copyCurveValueAtTimeToInternalValue);
    Q_EMIT keyFrameRemoved();


    assert( knob->getHolder()->getApp() );
    if ( !knob->getIsSecret() ) {
        knob->getHolder()->getApp()->removeKeyFrameIndicator(time);
    }
    updateGUI(dimension);
}
示例#6
0
void
KnobGui::removeKeyframes(const std::vector<KeyFrame>& keys,
                         int dimension,
                         ViewSpec view)
{
    KnobPtr knob = getKnob();

    knob->beginChanges();
    for (std::size_t i = 0; i < keys.size(); ++i) {
        knob->onKeyFrameRemoved(keys[i].getTime(), view, dimension);
    }
    knob->endChanges();
    /*assert( knob->getHolder()->getApp() );
       if ( !knob->getIsSecret() ) {
        std::list<SequenceTime> times;
        for (std::size_t i = 0; i < keys.size(); ++i) {
            times.push_back(keys[i].getTime());
        }
        knob->getHolder()->getApp()->getTimeLine()->removeMultipleKeyframeIndicator(times, true);
       }*/

    Q_EMIT keyFrameRemoved();
    updateGUI(dimension);
}
示例#7
0
void
KnobGui::onInternalAnimationRemoved()
{
    Q_EMIT keyFrameRemoved();
}