void EditorToolThreaded::slotPreview() { // Computation already in process. if (d->currentRenderingMode != EditorToolThreaded::NoneRendering) { return; } d->currentRenderingMode = EditorToolThreaded::PreviewRendering; kDebug() << "Preview " << toolName() << " started..."; toolSettings()->enableButton(EditorToolSettings::Ok, false); toolSettings()->enableButton(EditorToolSettings::SaveAs, false); toolSettings()->enableButton(EditorToolSettings::Load, false); toolSettings()->enableButton(EditorToolSettings::Default, false); toolSettings()->enableButton(EditorToolSettings::Try, false); toolView()->setEnabled(false); EditorToolIface::editorToolIface()->setToolStartProgress(d->progressMess.isEmpty() ? toolName() : d->progressMess); kapp->setOverrideCursor(Qt::WaitCursor); if (d->delFilter && d->threadedFilter) { delete d->threadedFilter; d->threadedFilter = 0; } preparePreview(); }
void EditorToolThreaded::slotAbort() { d->currentRenderingMode = EditorToolThreaded::NoneRendering; if (analyser()) { analyser()->cancelFilter(); } if (filter()) { filter()->cancelFilter(); } EditorToolIface::editorToolIface()->setToolStopProgress(); toolSettings()->enableButton(EditorToolSettings::Ok, true); toolSettings()->enableButton(EditorToolSettings::Load, true); toolSettings()->enableButton(EditorToolSettings::SaveAs, true); toolSettings()->enableButton(EditorToolSettings::Try, true); toolSettings()->enableButton(EditorToolSettings::Default, true); toolView()->setEnabled(true); kapp->restoreOverrideCursor(); renderingFinished(); }
void EditorToolThreaded::setAnalyser(DImgThreadedAnalyser* const analyser) { kDebug() << "Analys " << toolName() << " started..."; toolSettings()->enableButton(EditorToolSettings::Ok, false); toolSettings()->enableButton(EditorToolSettings::SaveAs, false); toolSettings()->enableButton(EditorToolSettings::Load, false); toolSettings()->enableButton(EditorToolSettings::Default, false); toolSettings()->enableButton(EditorToolSettings::Try, false); toolView()->setEnabled(false); EditorToolIface::editorToolIface()->setToolStartProgress(d->progressMess.isEmpty() ? toolName() : d->progressMess); kapp->setOverrideCursor(Qt::WaitCursor); delete d->threadedAnalyser; d->threadedAnalyser = analyser; connect(d->threadedAnalyser, SIGNAL(started()), this, SLOT(slotAnalyserStarted())); connect(d->threadedAnalyser, SIGNAL(finished(bool)), this, SLOT(slotAnalyserFinished(bool))); connect(d->threadedAnalyser, SIGNAL(progress(int)), this, SLOT(slotProgress(int))); d->threadedAnalyser->startFilter(); }
void EditorToolThreaded::slotOk() { writeSettings(); d->currentRenderingMode = EditorToolThreaded::FinalRendering; kDebug() << "Final " << toolName() << " started..."; toolSettings()->enableButton(EditorToolSettings::Ok, false); toolSettings()->enableButton(EditorToolSettings::SaveAs, false); toolSettings()->enableButton(EditorToolSettings::Load, false); toolSettings()->enableButton(EditorToolSettings::Default, false); toolSettings()->enableButton(EditorToolSettings::Try, false); toolView()->setEnabled(false); EditorToolIface::editorToolIface()->setToolStartProgress(d->progressMess.isEmpty() ? toolName() : d->progressMess); kapp->setOverrideCursor( Qt::WaitCursor ); if (d->delFilter && d->threadedFilter) { delete d->threadedFilter; d->threadedFilter = 0; } prepareFinal(); }
void EditorToolThreaded::slotResized() { if (d->currentRenderingMode == EditorToolThreaded::FinalRendering) { toolView()->update(); return; } else if (d->currentRenderingMode == EditorToolThreaded::PreviewRendering) { if (filter()) { filter()->cancelFilter(); } } QTimer::singleShot(0, this, SLOT(slotPreview())); }
void EditorToolThreaded::slotInit() { EditorTool::slotInit(); QWidget* const view = toolView(); if (dynamic_cast<ImageGuideWidget*>(view)) { connect(view, SIGNAL(signalResized()), this, SLOT(slotResized())); } if (dynamic_cast<ImageRegionWidget*>(view)) { connect(view, SIGNAL(signalOriginalClipFocusChanged()), this, SLOT(slotTimer())); } }