tahoma2d/toonz/sources/include/toonz/txshzeraryfxcolumn.h

98 lines
2.6 KiB
C
Raw Normal View History

2016-05-17 03:04:11 +12:00
#pragma once
2016-03-19 06:57:51 +13:00
#ifndef TXSH_ZERARYFX_COLUMN_INCLUDED
#define TXSH_ZERARYFX_COLUMN_INCLUDED
#include "toonz/txshcolumn.h"
#undef DVAPI
#undef DVVAR
#ifdef TOONZLIB_EXPORTS
#define DVAPI DV_EXPORT_API
#define DVVAR DV_EXPORT_VAR
#else
#define DVAPI DV_IMPORT_API
#define DVVAR DV_IMPORT_VAR
#endif
//=============================================================================
2016-06-15 18:43:10 +12:00
// forward declarations
2016-03-19 06:57:51 +13:00
class TFx;
class TZeraryColumnFx;
class TXshZeraryFxLevel;
class TXshCell;
//=============================================================================
2016-06-15 18:43:10 +12:00
//! The TXshZeraryFxColumn class provides a zerary fx column in xsheet and
//! allows its management.
2016-03-19 06:57:51 +13:00
/*!Inherits \b TXshCellColumn.
2016-06-15 18:43:10 +12:00
\n The class defines zerary fx column, more than \b TXshCellColumn has a pointer
to
2016-03-19 06:57:51 +13:00
\b TZeraryColumnFx getZeraryColumnFx() and a pointer to \b TXshZeraryFxLevel.
*/
//=============================================================================
class DVAPI TXshZeraryFxColumn final : public TXshCellColumn {
2016-06-15 18:43:10 +12:00
PERSIST_DECLARATION(TXshZeraryFxColumn)
TZeraryColumnFx *m_zeraryColumnFx;
TXshZeraryFxLevel *m_zeraryFxLevel;
2016-03-19 06:57:51 +13:00
public:
2016-06-15 18:43:10 +12:00
/*!
Constructs a TXshZeraryFxColumn with default value.
*/
TXshZeraryFxColumn(int frameCount = 100);
/*!
Constructs a TXshZeraryFxColumn object that is a copy of the TXshZeraryFxColumn
object \a src.
\sa clone()
*/
TXshZeraryFxColumn(const TXshZeraryFxColumn &src);
/*!
Destroys the TXshZeraryFxColumn object.
*/
~TXshZeraryFxColumn();
2016-03-19 06:57:51 +13:00
2016-06-19 20:06:29 +12:00
TXshColumn::ColumnType getColumnType() const override;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
/*! Return true if level which cell \b cell belongs is equal to \b
* m_zeraryFxLevel. */
2016-06-19 20:06:29 +12:00
bool canSetCell(const TXshCell &cell) const override;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
/*! Clone column and return a pointer to the new \b TXshColumn cloned. */
2016-06-19 20:06:29 +12:00
TXshColumn *clone() const override;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
/*!
Return \b TZeraryColumnFx.
*/
TZeraryColumnFx *getZeraryColumnFx() const { return m_zeraryColumnFx; }
2016-03-19 06:57:51 +13:00
2016-06-19 20:06:29 +12:00
TXshZeraryFxColumn *getZeraryFxColumn() override { return this; }
2016-03-19 06:57:51 +13:00
2016-06-19 20:06:29 +12:00
bool setCell(int row, const TXshCell &cell) override;
2016-06-15 18:43:10 +12:00
/*! Return false if cannot set cells.*/
2016-06-19 20:06:29 +12:00
bool setCells(int row, int rowCount, const TXshCell cells[]) override;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
/*! Return a pointer to \b TFx \b m_zeraryColumnFx. */
2016-06-19 20:06:29 +12:00
TFx *getFx() const override;
2016-03-19 06:57:51 +13:00
2016-06-19 20:06:29 +12:00
void loadData(TIStream &is) override;
void saveData(TOStream &os) override;
2016-03-19 06:57:51 +13:00
2016-06-15 18:43:10 +12:00
/*! Implement method isn't necessary because TXshZeraryFxColumn doesn't have
* icon. */
void updateIcon() {}
2016-03-19 06:57:51 +13:00
private:
2016-06-15 18:43:10 +12:00
// not implemented
TXshZeraryFxColumn &operator=(const TXshZeraryFxColumn &);
2016-03-19 06:57:51 +13:00
};
2016-04-15 17:11:23 +12:00
#ifdef _WIN32
2016-03-19 06:57:51 +13:00
template class DVAPI TSmartPointerT<TXshZeraryFxColumn>;
#endif
typedef TSmartPointerT<TXshZeraryFxColumn> TXshZeraryFxColumnP;
#endif