| |
| |
|
|
| #include "toonz/stage2.h" |
| #include "toonz/tpalettehandle.h" |
| #include "toonz/tscenehandle.h" |
| #include "toonz/txshlevelhandle.h" |
| #include "toonz/txshlevel.h" |
| |
| #include "toonz/palettecontroller.h" |
| |
| PaletteController::PaletteController() |
| : QObject(), m_currentLevelPalette(0), m_currentCleanupPalette(0), m_originalCurrentPalette(0), m_currentPalette(0), m_colorAutoApplyEnabled(true), m_colorSample() |
| { |
| m_currentLevelPalette = new TPaletteHandle; |
| m_currentCleanupPalette = new TPaletteHandle; |
| m_currentPalette = new TPaletteHandle; |
| |
| QObject::connect(m_currentCleanupPalette, SIGNAL(paletteSwitched()), this, SLOT(editCleanupPalette())); |
| QObject::connect(m_currentCleanupPalette, SIGNAL(colorStyleSwitched()), this, SLOT(editCleanupPalette())); |
| |
| QObject::connect(m_currentLevelPalette, SIGNAL(paletteSwitched()), this, SLOT(editLevelPalette())); |
| QObject::connect(m_currentLevelPalette, SIGNAL(colorStyleSwitched()), this, SLOT(editLevelPalette())); |
| |
| |
| QObject::connect(m_currentLevelPalette, SIGNAL(paletteLockChanged()), this, SLOT(editLevelPalette())); |
| } |
| |
| |
| |
| PaletteController::~PaletteController() |
| { |
| delete m_currentLevelPalette; |
| delete m_currentCleanupPalette; |
| delete m_currentPalette; |
| } |
| |
| |
| |
| void PaletteController::setCurrentPalette(TPaletteHandle *paletteHandle) |
| { |
| |
| |
| |
| |
| |
| |
| |
| |
| if (m_originalCurrentPalette) { |
| m_originalCurrentPalette->disconnectBroadcasts(m_currentPalette); |
| m_currentPalette->disconnectBroadcasts(m_originalCurrentPalette); |
| } |
| |
| m_originalCurrentPalette = paletteHandle; |
| |
| if (!paletteHandle) |
| return; |
| |
| m_currentPalette->setPalette(paletteHandle->getPalette(), paletteHandle->getStyleIndex()); |
| |
| m_originalCurrentPalette->connectBroadcasts(m_currentPalette); |
| m_currentPalette->connectBroadcasts(m_originalCurrentPalette); |
| } |
| |
| |
| |
| void PaletteController::editLevelPalette() |
| { |
| setCurrentPalette(m_currentLevelPalette); |
| } |
| |
| |
| |
| void PaletteController::editCleanupPalette() |
| { |
| setCurrentPalette(m_currentCleanupPalette); |
| } |
| |
| |
| |
| void PaletteController::enableColorAutoApply(bool enabled) |
| { |
| if (m_colorAutoApplyEnabled != enabled) { |
| m_colorAutoApplyEnabled = enabled; |
| emit colorAutoApplyEnabled(m_colorAutoApplyEnabled); |
| } |
| } |
| |
| |
| |
| void PaletteController::setColorSample(const TPixel32 &color) |
| { |
| if (m_colorSample != color) { |
| m_colorSample = color; |
| emit colorSampleChanged(m_colorSample); |
| } |
| } |
| |