Blame toonz/sources/toonzqt/fxdata.h
|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef FXDATA_H
|
|
Toshihiro Shimizu |
890ddd |
#define FXDATA_H
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzBase includes
|
|
Toshihiro Shimizu |
890ddd |
#include "tfx.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzLib includes
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/fxcommand.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/txshcolumn.h"
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/tcolumnfx.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// TnzQt includes
|
|
Toshihiro Shimizu |
890ddd |
#include "toonzqt/dvmimedata.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// Qt includes
|
|
Toshihiro Shimizu |
890ddd |
#include <QList>
|
|
Toshihiro Shimizu |
890ddd |
#include <QPair>
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
using namespace TFxCommand;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//**********************************************************************
|
|
Toshihiro Shimizu |
890ddd |
// FxsData declaration
|
|
Toshihiro Shimizu |
890ddd |
//**********************************************************************
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
class FxsData : public DvMimeData
|
|
Toshihiro Shimizu |
890ddd |
{
|
|
Toshihiro Shimizu |
890ddd |
QList<TFxP> m_fxs;
|
|
Toshihiro Shimizu |
890ddd |
QMap<TFx *, bool> m_visitedFxs;
|
|
Toshihiro Shimizu |
890ddd |
QMap<TFx *, int> m_zeraryFxColumnSize;
|
|
Toshihiro Shimizu |
890ddd |
QList<TXshColumnP> m_columns;
|
|
Toshihiro Shimizu |
890ddd |
bool m_connected;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Toshihiro Shimizu |
890ddd |
FxsData();
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
FxsData *clone() const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//! Set the FxsData. FxsData<-QList<TFxP>
|
|
Toshihiro Shimizu |
890ddd |
void setFxs(const QList<TFxP> &selectedFxs, const QList<Link> &selectedLinks, const QList<int> &columnIndexes, TXsheet *xsh);
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//! Get the FxsData. FxsData->QList<TFxP>
|
|
Toshihiro Shimizu |
890ddd |
void getFxs(QList<TFxP> &selectedFxs, QMap<TFx *, int> &zeraryFxColumnSize, QList<TXshColumnP> &columns) const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//! Return true if copied fxs makes a connected graph.
|
|
Toshihiro Shimizu |
890ddd |
bool isConnected() const { return m_connected; }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
private:
|
|
Toshihiro Shimizu |
890ddd |
void checkConnectivity();
|
|
Toshihiro Shimizu |
890ddd |
void visitFx(TFx *fx);
|
|
Toshihiro Shimizu |
890ddd |
bool areLinked(TFx *outFx, TFx *inFx);
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#endif // FXDATA_H
|