PaletteViewerPanel::PaletteViewerPanel(QWidget *parent) : TPanel(parent) { m_paletteHandle = new TPaletteHandle(); connect(m_paletteHandle, SIGNAL(colorStyleSwitched()), SLOT(onColorStyleSwitched())); connect(m_paletteHandle, SIGNAL(paletteSwitched()), SLOT(onPaletteSwitched())); TApp *app = TApp::instance(); m_paletteViewer = new PaletteViewer(this, PaletteViewerGUI::LEVEL_PALETTE); m_paletteViewer->setPaletteHandle( app->getPaletteController()->getCurrentLevelPalette()); m_paletteViewer->setFrameHandle(app->getCurrentFrame()); m_paletteViewer->setXsheetHandle(app->getCurrentXsheet()); // for clearing cache when paste style command called from the StyleSelection m_paletteViewer->setLevelHandle(app->getCurrentLevel()); TSceneHandle *sceneHandle = app->getCurrentScene(); connect(sceneHandle, SIGNAL(sceneSwitched()), SLOT(onSceneSwitched())); CurrentStyleChangeCommand *currentStyleChangeCommand = new CurrentStyleChangeCommand(); m_paletteViewer->setChangeStyleCommand(currentStyleChangeCommand); setWidget(m_paletteViewer); initializeTitleBar(); }
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(colorStyleSwitched()), this, SLOT(setColorCheckIndex())); QObject::connect(m_currentLevelPalette, SIGNAL(paletteLockChanged()), this, SLOT(editLevelPalette())); }
StudioPaletteViewerPanel::StudioPaletteViewerPanel(QWidget *parent) : TPanel(parent) { m_studioPaletteHandle = new TPaletteHandle(); connect(m_studioPaletteHandle, SIGNAL(colorStyleSwitched()), SLOT(onColorStyleSwitched())); connect(m_studioPaletteHandle, SIGNAL(paletteSwitched()), SLOT(onPaletteSwitched())); connect(m_studioPaletteHandle, SIGNAL(paletteLockChanged()), SLOT(onPaletteSwitched())); TApp *app = TApp::instance(); m_studioPaletteViewer = new StudioPaletteViewer( this, m_studioPaletteHandle, app->getPaletteController()->getCurrentLevelPalette(), app->getCurrentFrame(), app->getCurrentXsheet(), app->getCurrentLevel()); setWidget(m_studioPaletteViewer); }
TApp::TApp() : m_currentScene(0) , m_currentXsheet(0) , m_currentFrame(0) , m_currentColumn(0) , m_currentLevel(0) , m_currentTool(0) , m_currentObject(0) , m_currentSelection(0) , m_currentOnionSkinMask(0) , m_currentFx(0) , m_mainWindow(0) , m_autosaveTimer(0) , m_autosaveSuspended(false) , m_isStarting(false) , m_isPenCloseToTablet(false) { m_currentScene = new TSceneHandle(); m_currentXsheet = new TXsheetHandle(); m_currentFrame = new TFrameHandle(); m_currentColumn = new TColumnHandle(); m_currentLevel = new TXshLevelHandle(); m_currentTool = new ToolHandle(); m_currentObject = new TObjectHandle(); m_currentOnionSkinMask = new TOnionSkinMaskHandle(); m_currentFx = new TFxHandle(); m_currentSelection = TSelectionHandle::getCurrent(); m_paletteController = new PaletteController(); bool ret = true; ret = ret && QObject::connect(m_currentXsheet, SIGNAL(xsheetChanged()), this, SLOT(onXsheetChanged())); ret = ret && QObject::connect(m_currentXsheet, SIGNAL(xsheetSoundChanged()), this, SLOT(onXsheetSoundChanged())); ret = ret && QObject::connect(m_currentScene, SIGNAL(sceneSwitched()), this, SLOT(onSceneSwitched())); ret = ret && QObject::connect(m_currentScene, SIGNAL(sceneChanged()), this, SLOT(onSceneChanged())); ret = ret && QObject::connect(m_currentXsheet, SIGNAL(xsheetSwitched()), this, SLOT(onXsheetSwitched())); ret = ret && QObject::connect(m_currentFrame, SIGNAL(frameSwitched()), this, SLOT(onFrameSwitched())); ret = ret && QObject::connect(m_currentFrame, SIGNAL(frameSwitched()), this, SLOT(onImageChanged())); ret = ret && QObject::connect(m_currentFx, SIGNAL(fxSwitched()), this, SLOT(onFxSwitched())); ret = ret && QObject::connect(m_currentColumn, SIGNAL(columnIndexSwitched()), this, SLOT(onColumnIndexSwitched())); ret = ret && QObject::connect(m_currentColumn, SIGNAL(columnIndexSwitched()), this, SLOT(onImageChanged())); ret = ret && QObject::connect(m_currentLevel, SIGNAL(xshLevelSwitched(TXshLevel *)), this, SLOT(onImageChanged())); ret = ret && QObject::connect(m_currentLevel, SIGNAL(xshLevelSwitched(TXshLevel *)), this, SLOT(onXshLevelSwitched(TXshLevel *))); ret = ret && QObject::connect(m_currentLevel, SIGNAL(xshLevelChanged()), this, SLOT(onXshLevelChanged())); ret = ret && QObject::connect(m_currentObject, SIGNAL(objectSwitched()), this, SLOT(onObjectSwitched())); ret = ret && QObject::connect(m_currentObject, SIGNAL(splineChanged()), this, SLOT(onSplineChanged())); ret = ret && QObject::connect(m_paletteController->getCurrentLevelPalette(), SIGNAL(paletteChanged()), this, SLOT(onPaletteChanged())); ret = ret && QObject::connect(m_paletteController->getCurrentLevelPalette(), SIGNAL(colorStyleSwitched()), this, SLOT(onLevelColorStyleSwitched())); ret = ret && QObject::connect(m_paletteController->getCurrentLevelPalette(), SIGNAL(colorStyleChangedOnMouseRelease()), this, SLOT(onLevelColorStyleChanged())); ret = ret && QObject::connect(m_paletteController->getCurrentCleanupPalette(), SIGNAL(paletteChanged()), m_currentScene, SIGNAL(sceneChanged())); TMeasureManager::instance()->addCameraMeasures(getCurrentCameraSize); m_autosaveTimer = new QTimer(this); ret = ret && connect(m_autosaveTimer, SIGNAL(timeout()), this, SLOT(autosave())); Preferences *preferences = Preferences::instance(); if (preferences->isRasterOptimizedMemory()) { if (!TBigMemoryManager::instance()->init( (int)(/*15*1024*/ TSystem::getFreeMemorySize(true) * .8))) DVGui::warning(tr("Error allocating memory: not enough memory.")); } ret = ret && connect(preferences, SIGNAL(stopAutoSave()), SLOT(onStopAutoSave())); ret = ret && connect(preferences, SIGNAL(startAutoSave()), SLOT(onStartAutoSave())); ret = ret && connect(m_currentTool, SIGNAL(toolEditingFinished()), SLOT(onToolEditingFinished())); if (preferences->isAutosaveEnabled()) m_autosaveTimer->start(preferences->getAutosavePeriod() * 1000 * 60); UnitParameters::setCurrentDpiGetter(getCurrentDpi); assert(ret); }