|
Krita Source Code Documentation
|
#include <KisAnimTimelineFramesModel.h>
Inheritance diagram for KisAnimTimelineFramesModel:Classes | |
| struct | NodeManipulationInterface |
| struct | Private |
Public Types | |
| enum | ItemDataRole { ActiveLayerRole = KisTimeBasedItemModel::UserRole , TimelinePropertiesRole , OtherLayersRole , PinnedToTimelineRole , FrameColorLabelIndexRole } |
| enum | MimeCopyPolicy { UndefinedPolicy = 0 , MoveFramesPolicy , CopyFramesPolicy , CloneFramesPolicy } |
| typedef TimelineNodeListKeeper::OtherLayer | OtherLayer |
| typedef TimelineNodeListKeeper::OtherLayersList | OtherLayersList |
| typedef KisBaseNode::Property | Property |
| typedef KisBaseNode::PropertyList | PropertyList |
Public Types inherited from KisTimeBasedItemModel | |
| enum | ItemDataRole { ActiveFrameRole = Qt::UserRole + 101 , ScrubToRole , CloneOfActiveFrame , CloneCount , FrameExistsRole , SpecialKeyframeExists , FrameCachedRole , FrameEditableRole , FramesPerSecondRole , FrameHasContent , WithinClipRange , UserRole } |
Public Slots | |
| void | slotCurrentNodeChanged (KisNodeSP node) |
Signals | |
| void | requestCurrentNodeChanged (KisNodeSP node) |
| void | requestTransferSelectionBetweenRows (int rowFrom, int rowTo) |
| void | sigEnsureRowVisible (int row) |
| void | sigFullClipRangeChanged () |
| void | sigInfiniteTimelineUpdateNeeded () |
Public Member Functions | |
| int | activeLayerRow () const |
| QString | audioChannelFileName () const |
| qreal | audioVolume () const |
| bool | canDropFrameData (const QMimeData *data, const QModelIndex &index) |
| void | clearEntireCache () |
| bool | copyFrame (const QModelIndex &dstIndex) |
| bool | createFrame (const QModelIndexList &dstIndex) |
| QVariant | data (const QModelIndex &index, int role) const override |
| bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
| bool | dropMimeDataExtended (const QMimeData *data, Qt::DropAction action, const QModelIndex &parent, bool *dataMoved=0) |
| Qt::ItemFlags | flags (const QModelIndex &index) const override |
| bool | hasConnectionToCanvas () const |
| QVariant | headerData (int section, Qt::Orientation orientation, int role) const override |
| bool | insertFrames (int dstColumn, const QList< int > &dstRows, int count, int timing=1) |
| bool | insertHoldFrames (const QModelIndexList &selectedIndexes, int insertCount) |
| bool | insertOtherLayer (int index, int dstRow) |
| bool | insertRows (int row, int count, const QModelIndex &parent) override |
| bool | isAudioMuted () const |
| KisAnimTimelineFramesModel (QObject *parent) | |
| void | makeClonesUnique (const QModelIndexList &indices) |
| QMimeData * | mimeData (const QModelIndexList &indexes) const override |
| QMimeData * | mimeDataExtended (const QModelIndexList &indexes, const QModelIndex &baseIndex, MimeCopyPolicy copyPolicy) const |
| QStringList | mimeTypes () const override |
| KisNodeSP | nodeAt (QModelIndex index) const override |
| bool | removeRows (int row, int count, const QModelIndex &parent) override |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| void | setActiveLayerSelectedTimes (const QSet< int > ×) |
| void | setAudioChannelFileName (const QFileInfo &fileName) |
| void | setAudioMuted (bool value) |
| void | setAudioVolume (qreal value) |
| bool | setData (const QModelIndex &index, const QVariant &value, int role) override |
| void | setDocumentClipRangeEnd (int column) |
| void | setDocumentClipRangeStart (int column) |
| void | setDummiesFacade (KisDummiesFacadeBase *dummiesFacade, KisImageSP image, KisNodeDisplayModeAdapter *displayModeAdapter) |
| bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) override |
| void | setLastClickedIndex (const QModelIndex &index) |
| void | setNodeManipulationInterface (NodeManipulationInterface *iface) |
| Qt::DropActions | supportedDragActions () const override |
| Qt::DropActions | supportedDropActions () const override |
| ~KisAnimTimelineFramesModel () override | |
Public Member Functions inherited from TimelineNodeListKeeper::ModelWithExternalNotifications | |
| void | callBeginInsertRows (const QModelIndex &parent, int first, int last) |
| void | callBeginRemoveRows (const QModelIndex &parent, int first, int last) |
| void | callBeginResetModel () |
| void | callEndInsertRows () |
| void | callEndRemoveRows () |
| void | callEndResetModel () |
| void | callIndexChanged (const QModelIndex &index0, const QModelIndex &index1) |
| ModelWithExternalNotifications (QObject *parent) | |
Public Member Functions inherited from KisTimeBasedItemModel | |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| int | currentTime () const |
| QVariant | data (const QModelIndex &index, int role) const override |
| KisDocument * | document () const |
| QVariant | headerData (int section, Qt::Orientation orientation, int role) const override |
| bool | isFrameCached (const int frame) |
| bool | isPlaybackActive () const |
| bool | isPlaybackPaused () const |
| bool | isScrubbing () |
| KisTimeBasedItemModel (QObject *parent) | |
| bool | mirrorFrames (QModelIndexList indexes) |
| bool | removeFrames (const QModelIndexList &indexes) |
| bool | removeFramesAndOffset (QModelIndexList indicesToRemove) |
| void | scrubHorizontalHeaderUpdate (int activeHeader) |
| void | setAnimationPlayer (KisCanvasAnimationState *player) |
| bool | setData (const QModelIndex &index, const QVariant &value, int role) override |
| void | setDocument (class KisDocument *document) |
| void | setFrameCache (KisAnimationFrameCacheSP cache) |
| bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) override |
| void | setImage (KisImageWSP image) |
| void | setLastVisibleFrame (int time) |
| void | setPlaybackRange (const KisTimeSpan &range) |
| void | setScrubState (bool active) |
| void | stopPlayback () const |
| ~KisTimeBasedItemModel () override | |
Protected Member Functions | |
| KisKeyframeChannel * | channelByID (QModelIndex index, const QString &id) const override |
| QMap< QString, KisKeyframeChannel * > | channelsAt (QModelIndex index) const override |
Protected Member Functions inherited from KisTimeBasedItemModel | |
| int | cloneCount (const QModelIndex &index) const |
| bool | cloneOfActiveFrame (const QModelIndex &index) const |
| KUndo2Command * | createOffsetFramesCommand (QModelIndexList srcIndexes, const QPoint &offset, bool copyFrames, bool moveEmptyFrames, KUndo2Command *parentCommand=0) |
| KisImageWSP | image () const |
Private Slots | |
| void | processUpdateQueue () |
| void | slotDummyChanged (KisNodeDummy *dummy) |
| void | slotImageContentChanged () |
Private Attributes | |
| const QScopedPointer< Private > | m_d |
Additional Inherited Members | |
Protected Slots inherited from KisTimeBasedItemModel | |
| void | slotCurrentTimeChanged (int time) |
Definition at line 45 of file KisAnimTimelineFramesModel.h.
Definition at line 127 of file KisAnimTimelineFramesModel.h.
Definition at line 128 of file KisAnimTimelineFramesModel.h.
Definition at line 124 of file KisAnimTimelineFramesModel.h.
Definition at line 125 of file KisAnimTimelineFramesModel.h.
| Enumerator | |
|---|---|
| ActiveLayerRole | |
| TimelinePropertiesRole | |
| OtherLayersRole | |
| PinnedToTimelineRole | |
| FrameColorLabelIndexRole | |
Definition at line 114 of file KisAnimTimelineFramesModel.h.
| Enumerator | |
|---|---|
| UndefinedPolicy | |
| MoveFramesPolicy | |
| CopyFramesPolicy | |
| CloneFramesPolicy | |
Definition at line 50 of file KisAnimTimelineFramesModel.h.
| KisAnimTimelineFramesModel::KisAnimTimelineFramesModel | ( | QObject * | parent | ) |
Definition at line 220 of file KisAnimTimelineFramesModel.cpp.
References connect(), m_d, and processUpdateQueue().
|
override |
Definition at line 227 of file KisAnimTimelineFramesModel.cpp.
| int KisAnimTimelineFramesModel::activeLayerRow | ( | ) | const |
Definition at line 862 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| QString KisAnimTimelineFramesModel::audioChannelFileName | ( | ) | const |
Definition at line 1090 of file KisAnimTimelineFramesModel.cpp.
References KisTimeBasedItemModel::document(), and KisDocument::getAudioTracks().
| qreal KisAnimTimelineFramesModel::audioVolume | ( | ) | const |
Definition at line 1124 of file KisAnimTimelineFramesModel.cpp.
References KisTimeBasedItemModel::document(), and KisDocument::getAudioLevel().
| bool KisAnimTimelineFramesModel::canDropFrameData | ( | const QMimeData * | data, |
| const QModelIndex & | index ) |
Now we support D&D around any layer, so just return 'true' all the time.
Definition at line 647 of file KisAnimTimelineFramesModel.cpp.
References m_d.
|
overrideprotectedvirtual |
Implements KisTimeBasedItemModel.
Definition at line 262 of file KisAnimTimelineFramesModel.cpp.
References KisBaseNode::getKeyframeChannel(), and nodeAt().
|
overrideprotectedvirtual |
Implements KisTimeBasedItemModel.
Definition at line 251 of file KisAnimTimelineFramesModel.cpp.
References KisBaseNode::keyframeChannels, and nodeAt().
| void KisAnimTimelineFramesModel::clearEntireCache | ( | ) |
Definition at line 1149 of file KisAnimTimelineFramesModel.cpp.
References KisTimeSpan::infinite(), and m_d.
| bool KisAnimTimelineFramesModel::copyFrame | ( | const QModelIndex & | dstIndex | ) |
Definition at line 899 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| bool KisAnimTimelineFramesModel::createFrame | ( | const QModelIndexList & | dstIndex | ) |
Definition at line 867 of file KisAnimTimelineFramesModel.cpp.
References KisStrokeJobData::BARRIER, KisAnimUtils::createKeyframeCommand(), KisStrokeJobData::EXCLUSIVE, KoID::id(), kundo2_i18np(), m_d, KisNodeDummy::node(), KisKeyframeChannel::Raster, KisProcessingApplicator::runSingleCommandStroke(), and KisAnimUtils::supportsContentFrames().
|
override |
Definition at line 393 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, KisBaseNode::createThumbnailForFrame(), FrameColorLabelIndexRole, KisTimeBasedItemModel::FrameEditableRole, KisTimeBasedItemModel::FrameExistsRole, KisTimeBasedItemModel::FrameHasContent, KisTimeBasedItemModel::image(), KisAbstractResourceModel::LargeThumbnail, m_d, KisNodeDummy::node(), and KisTimeBasedItemModel::SpecialKeyframeExists.
|
override |
Definition at line 660 of file KisAnimTimelineFramesModel.cpp.
References data(), and dropMimeDataExtended().
| bool KisAnimTimelineFramesModel::dropMimeDataExtended | ( | const QMimeData * | data, |
| Qt::DropAction | action, | ||
| const QModelIndex & | parent, | ||
| bool * | dataMoved = 0 ) |
Definition at line 668 of file KisAnimTimelineFramesModel.cpp.
References KisStrokeJobData::BARRIER, CloneFramesPolicy, CopyFramesPolicy, KisAnimUtils::createCloneKeyframesCommand(), KisAnimUtils::createMoveKeyframesCommand(), KisPart::currentMainwindow(), data(), KisPart::documents, KisStrokeJobData::EXCLUSIVE, KisNodeUuidInfo::findNode(), KisKeyframeChannel::id(), KisDocument::image, KisPart::instance(), KisBaseNode::keyframeChannels, KIS_SAFE_ASSERT_RECOVER, m_d, nodeAt(), KisNodeFacade::root, KisProcessingApplicator::runSingleCommandStroke(), KisViewManager::showFloatingMessage(), UndefinedPolicy, KisBaseNode::uuid(), value(), and KisMainWindow::viewManager.
|
override |
Basically we should forbid overrides only if we D&D a single frame and allow it when we D&D multiple frames. But we cannot distinguish it here... So allow all the time.
Definition at line 802 of file KisAnimTimelineFramesModel.cpp.
References data(), flags(), KisTimeBasedItemModel::FrameEditableRole, and m_d.
| bool KisAnimTimelineFramesModel::hasConnectionToCanvas | ( | ) | const |
Definition at line 231 of file KisAnimTimelineFramesModel.cpp.
References m_d.
|
override |
Definition at line 472 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, KisNodeModel::belongsToIsolatedGroup(), KisPaintingTweaks::blendColors(), KisNodeViewColorScheme::colorFromLabelIndex(), headerData(), KisBaseNode::isPinnedToTimeline(), m_d, KisNodeDummy::node(), OtherLayersRole, PinnedToTimelineRole, KisNode::projectionLeaf, TimelinePropertiesRole, and value().
| bool KisAnimTimelineFramesModel::insertFrames | ( | int | dstColumn, |
| const QList< int > & | dstRows, | ||
| int | count, | ||
| int | timing = 1 ) |
Definition at line 920 of file KisAnimTimelineFramesModel.cpp.
References KisStrokeJobData::BARRIER, KisTimeBasedItemModel::columnCount(), KisAnimUtils::createKeyframeCommand(), KisTimeBasedItemModel::createOffsetFramesCommand(), KisStrokeJobData::EXCLUSIVE, KoID::id(), kundo2_i18np(), m_d, KisNodeDummy::node(), KisKeyframeChannel::Raster, KisProcessingApplicator::runSingleCommandStroke(), KisTimeBasedItemModel::setLastVisibleFrame(), and KisAnimUtils::supportsContentFrames().
| bool KisAnimTimelineFramesModel::insertHoldFrames | ( | const QModelIndexList & | selectedIndexes, |
| int | insertCount ) |
Definition at line 969 of file KisAnimTimelineFramesModel.cpp.
References KisKeyframeChannel::activeKeyframeAt(), KisKeyframeChannel::activeKeyframeTime(), KisStrokeJobData::BARRIER, TimelineSelectionEntry::channel, KisTimeBasedItemModel::columnCount(), KisTimeBasedItemModel::createOffsetFramesCommand(), KisStrokeJobData::EXCLUSIVE, KisBaseNode::getKeyframeChannel(), KisKeyframeChannel::keyframeAt(), KIS_SAFE_ASSERT_RECOVER, KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, kundo2_i18np(), m_d, KisKeyframeChannel::nextKeyframeTime(), KisKeyframeChannel::node(), nodeAt(), KisKeyframeChannel::previousKeyframeTime(), KisKeyframeChannel::Raster, KisProcessingApplicator::runSingleCommandStroke(), KisTimeBasedItemModel::setLastVisibleFrame(), and TimelineSelectionEntry::time.
| bool KisAnimTimelineFramesModel::insertOtherLayer | ( | int | index, |
| int | dstRow ) |
Definition at line 846 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, m_d, and setData().
|
override |
Definition at line 823 of file KisAnimTimelineFramesModel.cpp.
References KIS_ASSERT_RECOVER, m_d, and rowCount().
| bool KisAnimTimelineFramesModel::isAudioMuted | ( | ) | const |
Definition at line 1113 of file KisAnimTimelineFramesModel.cpp.
References KisPart::instance(), and KisPart::playbackEngine.
| void KisAnimTimelineFramesModel::makeClonesUnique | ( | const QModelIndexList & | indices | ) |
Definition at line 906 of file KisAnimTimelineFramesModel.cpp.
References channelByID(), KisKeyframeChannel::id(), m_d, KisAnimUtils::makeClonesUnique(), KisKeyframeChannel::node(), and KisKeyframeChannel::Raster.
|
override |
Definition at line 598 of file KisAnimTimelineFramesModel.cpp.
References m_d, mimeDataExtended(), and UndefinedPolicy.
| QMimeData * KisAnimTimelineFramesModel::mimeDataExtended | ( | const QModelIndexList & | indexes, |
| const QModelIndex & | baseIndex, | ||
| KisAnimTimelineFramesModel::MimeCopyPolicy | copyPolicy ) const |
Definition at line 603 of file KisAnimTimelineFramesModel.cpp.
References data(), KIS_SAFE_ASSERT_RECOVER, m_d, nodeAt(), and KisBaseNode::uuid().
|
override |
Definition at line 586 of file KisAnimTimelineFramesModel.cpp.
|
overridevirtual |
The dummy might not exist because the user could (quickly) change active layer and the list of the nodes in m_d->converter will change.
Implements KisTimeBasedItemModel.
Definition at line 241 of file KisAnimTimelineFramesModel.cpp.
References m_d, and KisNodeDummy::node().
|
privateslot |
Definition at line 328 of file KisAnimTimelineFramesModel.cpp.
References KisTimeBasedItemModel::columnCount(), and m_d.
|
override |
Definition at line 835 of file KisAnimTimelineFramesModel.cpp.
References KIS_ASSERT_RECOVER, m_d, and rowCount().
|
signal |
|
override |
Definition at line 385 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| void KisAnimTimelineFramesModel::setActiveLayerSelectedTimes | ( | const QSet< int > & | times | ) |
Definition at line 1154 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| void KisAnimTimelineFramesModel::setAudioChannelFileName | ( | const QFileInfo & | fileName | ) |
Definition at line 1101 of file KisAnimTimelineFramesModel.cpp.
References KisTimeBasedItemModel::document(), KIS_SAFE_ASSERT_RECOVER_RETURN, and KisDocument::setAudioTracks().
| void KisAnimTimelineFramesModel::setAudioMuted | ( | bool | value | ) |
Definition at line 1118 of file KisAnimTimelineFramesModel.cpp.
References KisPart::instance(), KIS_SAFE_ASSERT_RECOVER_RETURN, m_d, KisPart::playbackEngine, and value().
| void KisAnimTimelineFramesModel::setAudioVolume | ( | qreal | value | ) |
Definition at line 1133 of file KisAnimTimelineFramesModel.cpp.
References KisTimeBasedItemModel::document(), KIS_SAFE_ASSERT_RECOVER_RETURN, KisDocument::setAudioVolume(), and value().
|
override |
Definition at line 438 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, KisTimeBasedItemModel::columnCount(), FrameColorLabelIndexRole, KIS_ASSERT_RECOVER, m_d, KisNodeDummy::node(), requestCurrentNodeChanged(), sigEnsureRowVisible(), and value().
| void KisAnimTimelineFramesModel::setDocumentClipRangeEnd | ( | int | column | ) |
Definition at line 1144 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| void KisAnimTimelineFramesModel::setDocumentClipRangeStart | ( | int | column | ) |
Definition at line 1139 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| void KisAnimTimelineFramesModel::setDummiesFacade | ( | KisDummiesFacadeBase * | dummiesFacade, |
| KisImageSP | image, | ||
| KisNodeDisplayModeAdapter * | displayModeAdapter ) |
Definition at line 273 of file KisAnimTimelineFramesModel.cpp.
References KisImage::animationInterface(), connect(), KisImageAnimationInterface::image(), KisDummiesFacadeBase::image(), KisTimeBasedItemModel::image(), m_d, KisTimeBasedItemModel::setImage(), sigInfiniteTimelineUpdateNeeded(), KisTimeBasedItemModel::slotCurrentTimeChanged(), slotDummyChanged(), and slotImageContentChanged().
|
override |
Definition at line 547 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, m_d, KisNodeDummy::node(), PinnedToTimelineRole, setData(), KisBaseNode::setPinnedToTimeline(), TimelinePropertiesRole, and value().
| void KisAnimTimelineFramesModel::setLastClickedIndex | ( | const QModelIndex & | index | ) |
Definition at line 593 of file KisAnimTimelineFramesModel.cpp.
References m_d.
| void KisAnimTimelineFramesModel::setNodeManipulationInterface | ( | NodeManipulationInterface * | iface | ) |
NOTE: the model has an ownership over the interface, that is it'll be deleted automatically later
Definition at line 236 of file KisAnimTimelineFramesModel.cpp.
References m_d.
|
signal |
|
signal |
|
signal |
Definition at line 343 of file KisAnimTimelineFramesModel.cpp.
References ActiveLayerRole, headerData(), m_d, PinnedToTimelineRole, requestTransferSelectionBetweenRows(), setData(), and sigEnsureRowVisible().
|
privateslot |
|
privateslot |
Definition at line 318 of file KisAnimTimelineFramesModel.cpp.
References m_d, and slotDummyChanged().
|
override |
Definition at line 576 of file KisAnimTimelineFramesModel.cpp.
|
override |
Definition at line 581 of file KisAnimTimelineFramesModel.cpp.
|
private |
Definition at line 165 of file KisAnimTimelineFramesModel.h.