Blame toonz/sources/toonz/filmstripselection.h
|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef TFILMSTRIPSELECTION_H
|
|
Toshihiro Shimizu |
890ddd |
#define TFILMSTRIPSELECTION_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/selection.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "tfilepath.h"
|
|
Toshihiro Shimizu |
890ddd |
#include <set></set>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class TXshSimpleLevel;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// TFilmStripSelection
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
d1f6c4 |
class TFilmstripSelection final : public TSelection {
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
typedef std::pair<tframeid, tframeid=""> InbetweenRange;</tframeid,>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Shinya Kitaoka |
120a6e |
std::set<tframeid> m_selectedFrames;</tframeid>
|
|
Shinya Kitaoka |
120a6e |
InbetweenRange m_inbetweenRange;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void updateInbetweenRange();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
TFilmstripSelection();
|
|
Shinya Kitaoka |
120a6e |
~TFilmstripSelection();
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
473e70 |
void enableCommands() override;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
473e70 |
bool isEmpty() const override;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
473e70 |
void selectNone() override;
|
|
Shinya Kitaoka |
120a6e |
void select(const TFrameId &fid, bool selected = true);
|
|
Shinya Kitaoka |
120a6e |
bool isSelected(const TFrameId &fid) const;
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
const std::set<tframeid> &getSelectedFids() const { return m_selectedFrames; }</tframeid>
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
InbetweenRange getInbetweenRange() const { return m_inbetweenRange; }
|
|
Shinya Kitaoka |
120a6e |
bool isInInbetweenRange(const TFrameId &fid) const {
|
|
Shinya Kitaoka |
120a6e |
return m_inbetweenRange.first < fid && fid < m_inbetweenRange.second;
|
|
Shinya Kitaoka |
120a6e |
}
|
|
Shinya Kitaoka |
120a6e |
|
|
Shinya Kitaoka |
120a6e |
void selectAll();
|
|
Shinya Kitaoka |
120a6e |
void invertSelection();
|
|
Shinya Kitaoka |
120a6e |
void copyFrames();
|
|
Shinya Kitaoka |
120a6e |
void cutFrames();
|
|
Shinya Kitaoka |
120a6e |
void pasteFrames();
|
|
Shinya Kitaoka |
120a6e |
void mergeFrames();
|
|
Shinya Kitaoka |
120a6e |
void pasteInto();
|
|
Shinya Kitaoka |
120a6e |
void deleteFrames();
|
|
Shinya Kitaoka |
120a6e |
void insertEmptyFrames();
|
|
Shinya Kitaoka |
120a6e |
void addFrames();
|
|
Shinya Kitaoka |
120a6e |
void reverseFrames();
|
|
Shinya Kitaoka |
120a6e |
void swingFrames();
|
|
Shinya Kitaoka |
120a6e |
void stepFrames(int step);
|
|
Shinya Kitaoka |
120a6e |
void eachFrames(int step);
|
|
Shinya Kitaoka |
120a6e |
void duplicateFrames();
|
|
Shinya Kitaoka |
120a6e |
void exposeFrames();
|
|
Shinya Kitaoka |
120a6e |
void renumberFrames();
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
#endif // TFILMSTRIPSELECTION_H
|